Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-04-07 | Remove extraneous base-class constructor calls | Ian Romanick | |
2010-04-07 | Put function bodies under function signatures, instead of flat in the parent. | Eric Anholt | |
This will let us know the length of function bodies for the purpose of inlining (among other uses). | |||
2010-04-06 | Make constant folding descend into if statements. | Eric Anholt | |
2010-04-06 | Handle constant expressions using derefs of const values. | Eric Anholt | |
Fixes CorrectParse1.frag and makes for a ton of folding in CorrectParse2.frag. | |||
2010-04-05 | Set correct type for ir_dereference of a matrix or a vector | Ian Romanick | |
2010-04-02 | Track whether whole-arrays are assignable | Ian Romanick | |
In GLSL 1.10 this was not allowed, but in GLSL 1.20 and later it is. This causes the following tests to pass: glslparsertest/glsl2/array-09.vert glslparsertest/glsl2/array-13.vert | |||
2010-04-02 | Whole structures are assignable | Ian Romanick | |
Whole arrays are assignable in GLSL 1.20 and later, but it's not clear how to handle that within the IR because the IR is supposed to be shading language version agnostic. | |||
2010-04-02 | Add bool/int conversion as IR operations. | Eric Anholt | |
Fixes constructor-09.glsl and CorrectParse2.frag. | |||
2010-04-02 | Add conversion of bool to float as an IR operation to match int to float. | Eric Anholt | |
2010-04-02 | Allow array dereferences to be considered as lvalues. | Eric Anholt | |
Fixes glsl-vs-arrays.vert and glsl-vs-mov-after-deref.vert. Regresses parser3.frag which was failing for the wrong reason. | |||
2010-04-02 | Simplify ir_constant_expression.cpp by factoring operand computation out. | Eric Anholt | |
2010-04-01 | Track max accessed array element, reject additional out-of-bounds accesses | Ian Romanick | |
For unsized arrays, we can't flag out-of-bounds accesses until the array is redeclared with a size. Track the maximum accessed element and generate an error if the declaration specifies a size that would cause that access to be out-of-bounds. This causes the following tests to pass: glslparsertest/shaders/array10.frag | |||
2010-04-01 | Fix type handling in ir_dereference array dereference constructor | Ian Romanick | |
2010-03-26 | Set variables with the sampler base type to read only. | Eric Anholt | |
Fixes increment3.frag. | |||
2010-03-26 | Add constructors for immediate hir constants. | Eric Anholt | |
This will make ast_to_hir for inc/dec easier. | |||
2010-03-26 | Add glsl_type::components to query total number of components in a type | Ian Romanick | |
2010-03-26 | Make glsl_*_type glsl_type class static data | Ian Romanick | |
2010-03-26 | Move swizzles out of ir_dereference and into their own class. | Kenneth Graunke | |
Also turn generate_swizzle into a static "create" method of the new class; we'll want to use it for the IR reader as well. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||
2010-03-26 | Add new abstract ir_rvalue class; rework accordingly. | Kenneth Graunke | |
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||
2010-03-26 | Replace "mode" type tag with virtual as_foo() downcasting functions. | Kenneth Graunke | |
These should work well even in a non-flat IR hierarchy. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||
2010-03-25 | Add dereference constructor for array element dereferences | Ian Romanick | |
This should have gone in before the previous commit. | |||
2010-03-25 | Fix matrix dimensioning | Ian Romanick | |
Newb GL mistake: matrices in GL are column-major. This means that vector_elements is the number of rows. Making these changes causes matrix-08.glsl to pass. | |||
2010-03-24 | Add method to set the swizzle of an ir_dereference | Ian Romanick | |
2010-03-23 | ir_function constructor now takes the function name as a parameter | Ian Romanick | |
2010-03-23 | Set, and require, a return type for function signatures | Ian Romanick | |
2010-03-11 | Add ir_call call to represent function calls. | Ian Romanick | |
2010-03-11 | Fix broken constructor of ir_instruction base class | Ian Romanick | |
Make the constructor inline-able, and don't try to initialize it as a simple_node. It hasn't been derived from simple_node in a long time. | |||
2010-03-10 | ir_variable: Initialize all attribute bits to reasonable defaults | Ian Romanick | |
This prevents variables from randomly having their 'invariant' or 'read_only' bits set, for example. | |||
2010-03-08 | Conver IR structures to use exec_list instead of simple_node | Ian Romanick | |
2010-02-22 | Rename .cc files to .cpp | Ian Romanick | |