summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_hierarchical_visitor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Use ir_rvalue to represent generic error_type values.Kenneth Graunke2012-04-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | Currently, ir_call can be used as either a statement (for void functions) or a value (for non-void functions). This is rather awkward, as it's the only class that can be used in both forms. A number of places use ir_call::get_error_instruction() to construct a generic value of error_type. If ir_call is to become a statement, it can no longer serve this purpose. Unfortunately, none of our classes are particularly well suited for this, and creating a new one would be rather aggrandizing. So, this patch introduces ir_rvalue::error_value(), a static method that creates an instance of the base class, ir_rvalue. This has the nice property that you can't accidentally try and access uninitialized fields (as it doesn't have any). The downside is that the base class is no longer abstract. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* glsl2: Set a flag when visiting the assignee of an assignmentIan Romanick2010-09-031-0/+1
|
* glsl: Fix uninitialized member in ir_hierarchical_vistor constructor.Vinson Lee2010-08-181-0/+1
| | | | Class member base_ir was not initialized by the default constructor.
* glsl2: Add a pass to convert mod(a, b) to b * fract(a/b).Eric Anholt2010-07-011-6/+1
| | | | This is used by the Mesa IR backend to implement mod, fixing glsl-fs-mod.
* glsl2: Define new ir_discard instruction.Kenneth Graunke2010-06-301-0/+16
|
* glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt2010-06-241-0/+284