summaryrefslogtreecommitdiff
path: root/src/glsl/ir.h
AgeCommit message (Collapse)Author
2010-07-19ir_function_signature: Make actual_parameters publicIan Romanick
2010-07-19glsl2: Give IR nodes a type field.Eric Anholt
This is a big deal for debugging if nothing else ("what class is this ir_instruction, really?"), but is also nice for avoiding building a whole visitor or an if (node->as_whatever() || node->as_other_thing()) chain.
2010-07-18glsl2: Remove the const disease from function signature's callee.Eric Anholt
2010-07-18glsl2: Make cross() be an expression operation.Eric Anholt
ARB_fp, ARB_vp, Mesa IR, and the 965 vertex shader all have instructions for cross. Shaves 12 Mesa instructions off of a 66-instruction shader I have.
2010-07-14glsl2: Remove ir_program bong hits.Kenneth Graunke
2010-07-12ir_function: Make matching_signature not return constIan Romanick
The linker needs to use this function to get specific function signatures, but it also needs to modify the returned signature. Since this method isn't itself const (i.e., const this pointer), there is no value in making a const and non-const version.
2010-07-12linker: Implement first bits of intrastage linkingIan Romanick
This currently involves an ugly hack so that every link doesn't result in all the built-in functions showing up as multiply defined. As soon as the built-in functions are stored in a separate compilation unit, ir_function_signature::is_built_in can be removed.
2010-07-12ir_function_signature: Add method to get the function owning a signatureIan Romanick
There is no setter function, the getter returns a constant pointer, and ir_function_signature::_function is private for a reason. The only way to make a connection between a function and function signature is via ir_function::add_signature. This helps ensure that certain invariants (i.e., a function signature is in the list of signatures for its _function) are met.
2010-07-12glsl2: Add utility function clone_ir_listIan Romanick
2010-07-12ir_call: Add method to set the function signature being calledIan Romanick
2010-07-12glsl2: Add a new pass at the IR level to break down matrix ops to vector ops.Eric Anholt
This will be used by the Mesa IR and likely most HW backends, as it allows other optimizations to occur that might not otherwise. Fixes glsl-vs-mat-sub-1, glsl-vs-mat-div-1.
2010-07-06glsl2: Clone methods return the type of the thing being clonedIan Romanick
This is as opposed to returning the type of the base class of the hierarchy.
2010-07-01glsl2: Add a pass to convert mod(a, b) to b * fract(a/b).Eric Anholt
This is used by the Mesa IR backend to implement mod, fixing glsl-fs-mod.
2010-07-01glsl2: Add ir_unop_fract as an expression type.Eric Anholt
Most backends will prefer seeing this to seeing (a - floor(a)), so represent it explicitly.
2010-06-30glsl2: Define new ir_discard instruction.Kenneth Graunke
2010-06-29ir_to_mesa: Start adding support for texture instructions.Eric Anholt
Fixes: glsl-fs-bug25902 glsl-fs-sampler-numbering glsl-lod-bias
2010-06-29ir_swizzle: Add new constructor, refactor constructorsIan Romanick
Adds a new constructor that takes an array of component values. Refactors the meat of the two constructors to an init_mask method.
2010-06-24glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt