aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_dead_code_local.cpp
Commit message (Collapse)AuthorAgeFilesLines
* glsl2: Don't dead-code eliminate a call where the return value is unused.Eric Anholt2010-08-051-1/+6
| | | | | | | | This showed up since the disabling of inlining at compile time, which I apparently didn't regenerate piglit summary for. Fixes: glsl-deadcode-call.
* glsl2: Add ir_assignment::write_mask and associated methodsIan Romanick2010-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Replace swizzles on the LHS with additional swizzles on the RHS and a write mask in the assignment instruction. As part of this add ir_assignment::set_lhs. Ideally we'd make ir_assignment::lhs private to prevent erroneous writes, but that would require a lot of code butchery at this point. Add ir_assignment constructor that takes an explicit write mask. This is required for ir_assignment::clone, but it can also be used in other places. Without this, ir_assignment clones lose their write masks, and incorrect IR is generated in optimization passes. Add ir_assignment::whole_variable_written method. This method gets the variable on the LHS if the whole variable is written or NULL otherwise. This is different from ir->lhs->whole_variable_referenced() because the latter has no knowledge of the write mask stored in the ir_assignment. Gut all code from ir_to_mesa that handled swizzles on the LHS of assignments. There is probably some other refactoring that could be done here, but that can be left for another day.
* glsl2: Create new talloc contexts the "right" way.Kenneth Graunke2010-06-301-1/+1
|
* Use more sensible contexts in ir_dead_code_local.Kenneth Graunke2010-06-281-3/+4
|
* glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt2010-06-241-0/+223