Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-04-05 | Set lower bound on size implied by whole-array assignment | Ian Romanick | |
When an unsized array is accessed with a constant extension index this sets a lower bound on the allowable sizes. When the unsized array gets a size set due to a whole-array assignment, this size must be at least as large as the implied lower bound. This causes the following tests to pass: glslparsertest/glsl2/array-16.vert | |||
2010-04-05 | Allow dereference of vectors and matrices with [] | Ian Romanick | |
This causes the following tests to pass: glslparsertest/glsl2/matrix-11.vert glslparsertest/glsl2/matrix-12.vert glslparsertest/shaders/CorrectParse2.vert glslparsertest/shaders/CorrectSwizzle2.frag | |||
2010-04-05 | Set correct type for ir_dereference of a matrix or a vector | Ian Romanick | |
2010-04-02 | Propagate sizes when assigning a whole array to an unsized array | 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 | Use glsl_type::element_type to get the type of array elements | Ian Romanick | |
2010-04-02 | Ensure that 'in' and 'inout' formal parameters are valid lvalues | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/function10.frag | |||
2010-04-02 | Additional void parameter checks | Ian Romanick | |
If there is a void parameter it must not have a name, and it must be the only parameter. | |||
2010-04-02 | Require that function formal parameters have names | Ian Romanick | |
2010-04-02 | Make built-in gl_TexCoord available in vertex and fragment shaders | Ian Romanick | |
2010-04-02 | Fix matching of integer function parameters | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/function10.frag | |||
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 | Add PASS / FAIL annotations to tests missing them. | Eric Anholt | |
This tricked my import of the tests into piglit. | |||
2010-04-02 | Test that invalid quailfiers aren't used on variables in GLSL 1.10. | 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 | Test for the type being different in parameter_lists_match. | Eric Anholt | |
Fixes CorrectFuncOverload.frag. | |||
2010-04-02 | Add some more operations to ir_constant_expression.cpp. | Eric Anholt | |
2010-04-02 | Make ir_constant_expression.cpp support multi-component types. | Eric Anholt | |
2010-04-02 | Simplify ir_constant_expression.cpp by factoring operand computation out. | Eric Anholt | |
2010-04-02 | Reject non-float varyings. | Eric Anholt | |
Fixes varying2.frag. | |||
2010-04-02 | Remove fake ir_binop_logic_not. I think you meant ir_unop_logic_not. | Eric Anholt | |
2010-04-02 | Handle logic not in constant expression evaluation. | Eric Anholt | |
2010-04-02 | Fix error handling of logic operators. | Eric Anholt | |
They were always throwing a type error because type wasn't being set. | |||
2010-04-02 | Emit errors for unfinished ast_to_hir expression operations. | Eric Anholt | |
2010-04-02 | Fix ast_logic_not handling to be unary, not binary. | Eric Anholt | |
2010-04-02 | Add errors for type results of other expressions. | Eric Anholt | |
2010-04-02 | Emit errors from failure in arithmetic_result_type. | Eric Anholt | |
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||
2010-04-02 | Start trying to fill in a few bits of ir_constant_expression.cpp | Eric Anholt | |
This makes a little progress on CorrectParse2.frag. | |||
2010-04-02 | Compute the constant value of a constant initializer. | Eric Anholt | |
Fixes constFunc.frag. | |||
2010-04-02 | Allow initializers of constant values to succeed. | Eric Anholt | |
This regresses constFunc.frag, but that's just unexpectedly passing because of the FINISHME just above. | |||
2010-04-02 | Don't create a parameter declaration for a (void) parameter. | Eric Anholt | |
Fixes segfaults in a shader consisting of just: void main(void) { } Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> | |||
2010-04-02 | Remove ast_node::type | Ian Romanick | |
It isn't a type (is was enum specifying the kind of node), it was unused, and it was easily confused with actual type fields. Kill with fire. | |||
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 | Begin processing ast_array_index nodes | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/parser3.frag glslparsertest/shaders/varying3.frag (also generates spurious error) | |||
2010-04-01 | Fix type handling in ir_dereference array dereference constructor | Ian Romanick | |
2010-04-01 | Allow unsized arrays to be redeclared with a size | Ian Romanick | |
Test glslparsertest/shaders/array11.frag now passes for the right reason. | |||
2010-04-01 | Add glsl_type::element_type and glsl_type::array_size queries | Ian Romanick | |
The former gets the type of elements in an array, and the later gets the declared size, if any, of the array. | |||
2010-03-31 | Set source locations on AST nodes so error messages print locations. | Kenneth Graunke | |
I haven't verified that these are all correct, but it's still a lot better than not having anything. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> | |||
2010-03-31 | Add ast_function::hir | Ian Romanick | |
ast_function::hir consists of bits pulled out of ast_function_definition::hir. In fact, the later uses the former to do a lot of its processing. Several class private data fields were added to ast_function to facilitate communicate between the two. This causes the following tests to pass: glslparsertest/shaders/CorrectModule.frag This causes the following tests to fail. These shaders were previously failing to compile, but they were all failing for the wrong reasons. glslparsertest/shaders/function9.frag glslparsertest/shaders/function10.frag | |||
2010-03-31 | Fix exec_list::move_nodes_to when the source list is empty | Ian Romanick | |
2010-03-31 | Use ir_variable::clone to copy parameters to the function body | Ian Romanick | |
Several other code movements were also done. This partitions this function into two halves. The first half processes the prototype part, and the second have processes the actual function definition. The coming patch series will parition ast_function_definition::hir into (at least) two separate functions. | |||
2010-03-31 | Add ir_variable::clone | Ian Romanick | |
2010-03-31 | Minor cleanups in ast_function_definition::hir | Ian Romanick | |
2010-03-31 | Generate array constructor calls | Ian Romanick | |
2010-03-31 | Add ir_function_signature::function_name | Ian Romanick | |
2010-03-31 | Make ir_function::signatures private | Ian Romanick | |
2010-03-31 | Add ir_function::iterator to iterate over function signatures | Ian Romanick | |
2010-03-31 | Use ir_function::add_signature to create link between function and signature | Ian Romanick | |
ir_function_signature now has a pointer back to the ir_function that owns it. |