summaryrefslogtreecommitdiff
path: root/mesa_codegen.brg
AgeCommit message (Collapse)Author
2010-06-24ir_to_mesa: Add support for variable indexing of temporary arrays.Eric Anholt
Fixes loop-01.vert, loop-02.vert.
2010-06-24ir_to_mesa: Add support for ir_if.Eric Anholt
2010-06-24ir_to_mesa: Add support for comparison operations.Eric Anholt
2010-06-24ir_to_mesa: Introduce shorthand for common Mesa IR emit patterns.Eric Anholt
2010-06-24ir_to_mesa: Add ir_unop_f2i -> OPCODE_TRUNC.Eric Anholt
2010-06-24ir_to_mesa: Add codegen for rsq expression operation.Eric Anholt
2010-06-24ir_to_mesa: Add exp/log expression operations.Eric Anholt
2010-06-24ir_to_mesa: Fix copy'n'paste bug where divide multiplied left by 1/left.Eric Anholt
Multiply left by 1/right, please.
2010-06-24ir_to_mesa: Handle swizzles on LHS of assignment (writemasks).Eric Anholt
2010-06-24ir_to_mesa: Produce multiple scalar ops when required to produce vec4s.Eric Anholt
Fixes the code emitted in a test shader for vec2 texcoord / vec2 tex_size.
2010-06-24ir_to_mesa: Get temps allocated at the right times.Eric Anholt
The alloced_vec4/vec4 distinction was an experiment to expose the cost of temps to the codegen. But the problem is that the temporary production rule gets called after the emit rule that was using the temp. We could have the args to emit_op be pointers to where the temp would get allocated later, but that seems overly hard while just trying to bring this thing up. Besides, the temps used in expressions bear only the vaguest relation to how many temps will be used after register allocation.
2010-06-24ir_to_mesa: Fix up the assign rule to use left and right correctly.Eric Anholt
The destination of assign is in left, not in the node itself.
2010-06-24ir_to_mesa: Do my best to explain how the codegen rules work.Eric Anholt
2010-06-24ir_to_mesa: Start building GLSL IR to Mesa IR conversion.Eric Anholt
There are major missing pieces here. Most operations aren't supported. Matrices need to be broken down to vector ops before we get here. Scalar operations (RSQ, RCP) are handled incorrectly. Arrays and structures are not even considered.