mesa: revamp GLSL instruction emit code
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 14 Nov 2008 00:02:11 +0000 (17:02 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 6 Jan 2009 15:47:21 +0000 (08:47 -0700)
commit9681119bbb0317c87dcf781da561174752c02bc8
treecdc1ab3824f245f14927655d5fd79498c05b8c44
parente8fa7e500c52db6764d4102360f2202005bcf817
mesa: revamp GLSL instruction emit code

This is a step toward better array handling code.  In particular, when more
than one operand of an instruction uses indirect addressing, we'll need some
temporary instructions and registers.  By converting IR storage to instruction
operands all in one place (emit_instruction()) we can be smarter about this.

Also, somewhat better handling of dst register swizzle/writemask handling.
This results in tighter writemasks on some instructions which is good for
SOA execution.

And, cleaner instruction commenting with inst_comment().

Next: remove some more dead code and additional clean-ups...

(cherry picked from commit 3a7ed9779b159f9dccbc98d1d556be2cd83cc1fd)
src/mesa/shader/slang/slang_emit.c