r300: Add proper support for sin/cos instruction in fragment program
authorRune Peterson <rune@megahurts.dk>
Sun, 11 Feb 2007 23:24:36 +0000 (00:24 +0100)
committerJerome Glisse <glisse@freedesktop.org>
Sun, 11 Feb 2007 23:24:36 +0000 (00:24 +0100)
commitee5417bca883d82d618e1c0b65011940253555dd
tree44964a8506f4dabbf5c077a0ff53c11d2f53d410
parent3bacb68c70e4a0813bf944061a97e727cbd89c43
r300: Add proper support for sin/cos instruction in fragment program

Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
 combine the two and have the swizzle resolve any issues.
 (saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].
src/mesa/drivers/dri/r300/r300_context.h
src/mesa/drivers/dri/r300/r300_fragprog.c
src/mesa/drivers/dri/r300/r300_fragprog.h
src/mesa/drivers/dri/r300/r300_render.c
src/mesa/drivers/dri/r300/r300_state.c
src/mesa/drivers/dri/radeon/radeon_screen.c