Age | Commit message (Collapse) | Author | |
---|---|---|---|
2009-10-23 | gallium: remove the swizzling parts of ExtSwizzle | Keith Whitwell | |
These haven't been used by the mesa state tracker since the conversion to tgsi_ureg, and it seems that none of the other state trackers are using it either. This helps simplify one of the biggest suprises when starting off with TGSI shaders. | |||
2009-10-23 | gallium: remove noise opcodes | Keith Whitwell | |
Provide a dummy implementation in the GL state tracker (move 0.5 to the destination regs). At some point, a motivated person could add a better implementation of noise. Currently not even the nvidia binary drivers do anything more than this. In any case, the place to do this is in the GL state tracker, not the poor driver. | |||
2009-09-01 | tgsi: remove redundant CND0 opcode | Keith Whitwell | |
Can be implemented with CMP src2, src1, src0 | |||
2009-08-13 | tgsi: add tgsi_ureg, a simplified tgsi shader builder | Keith Whitwell | |
This is modelled on the nice & easy-to-use facilities we had for building shaders in mesa, eg. in texenvprogram.c and friends. Key points include pass-by-value register structs that can be manipulated in a functional style, eg: negate(swizzle(reg, X,X,X,X)) and per-opcode instruction functions, eg: emit_MOV( p, writemask(dst, 0x1), negate(src)); and similar. Additionally, the interface allows mixed emit of instructions and decls, which are sorted out internally to obey TGSI ordering. Immediates may be emitted at any time and are scanned against existing immediates to try and reduce redundancy. Not all TGSI functionality is accessible through this interface, but most or all of what mesa uses should be. |