Age | Commit message (Collapse) | Author | |
---|---|---|---|
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. | |||
2010-03-31 | Add glsl_type::generate_constructor_prototype | Ian Romanick | |
Generates a symbol table entry and the IR approximation of a prototype for a type's constructor. Currently only arrays are supported. | |||
2010-03-31 | Refactor parts of match_function_by_name into process_parameters and ↵ | Ian Romanick | |
process_call These will be used in the functions that implement calls to array constructors. | |||
2010-03-31 | Reject array constructor calls in GLSL 1.10 | Ian Romanick | |
2010-03-31 | Use ast_type_specifier::glsl_type to get the type of a constructor | Ian Romanick | |
This is the first baby step towards getting array constructors working. | |||
2010-03-31 | Move type_specifier_to_glsl_type to ast_type_specifier::glsl_type | Ian Romanick | |
This make is easily accessible from other modules. | |||
2010-03-31 | More array declaration tests | Ian Romanick | |
2010-03-31 | Fix big dumbness in glsl_type::get_array_instance | Ian Romanick | |
hash_table_insert needs to keep the key so that it compare keys on a following hash_table_find call. Since key was allocated on the stack, it disappeared out from under the hash table. | |||
2010-03-31 | glsl_type array constructor generate a real name for the type | Ian Romanick | |
2010-03-31 | Test that const declarations include initializers. | Eric Anholt | |
Fixes dataType6.frag, and also array2.frag for an unexpected but valid reason. | |||
2010-03-31 | Reject declarations with 'in' or 'out' qualifiers | Ian Romanick | |
'in' and 'out' can only be used in function parameter lists or at global scope (1.30 and later). This change enforces this. | |||
2010-03-31 | Add 'in' to some parameters of the function | Ian Romanick | |
This goes along with the qualifier-?? tests. | |||
2010-03-31 | Add some variable declaration qualifier tests | Ian Romanick | |
2010-03-31 | Fix comment bug and printf bug in previous commit | Ian Romanick | |
2010-03-31 | Require that 'uniform' and 'varying' variables be declared at global scope | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/uniform.frag glslparsertest/shaders/varying.frag | |||
2010-03-31 | Slightly refector checks for declarations that must be at global scope | Ian Romanick | |
2010-03-31 | Implement logical operators. | Eric Anholt | |
Fixes parser9.frag. | |||
2010-03-31 | Test that variable names don't use the reserved gl_ prefix. | Eric Anholt | |
Fixes identifier2.frag. | |||
2010-03-30 | Test that discard only appears in the fragment shader. | Eric Anholt | |
Fixes fragmentOnly4.vert. | |||
2010-03-30 | Test that main doesn't take any parameters. | Eric Anholt | |
Fixes main2.vert. | |||
2010-03-30 | Test that a non-void function returns a value. | Eric Anholt | |
2010-03-30 | Test that a void function doesn't return a value. | Eric Anholt | |
Fixes function1.frag. | |||
2010-03-30 | Fix unused variable warning. | Eric Anholt | |
2010-03-30 | Forbid array comparisons in GLSL 1.10 | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/array3.frag | |||
2010-03-30 | Begin handling array declarations | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/array4.frag glslparsertest/shaders/array5.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/array3.frag | |||
2010-03-30 | Implement array type handling | Ian Romanick | |
Since all glsl_type objects are flyweights, support is added to track all known array types. This accounts for most of the changes. | |||
2010-03-30 | Add proper wrappers so that C++ code can use hash_table type | Ian Romanick | |
2010-03-30 | Initial bits of constant expression evaluator | Ian Romanick | |
Currently only works for constants. The rest will be added later. | |||
2010-03-30 | Add some array declaration tests | Ian Romanick | |
2010-03-29 | Arrays are not allowed as vertex shader inputs in GLSL 1.30 either | Ian Romanick | |
2010-03-29 | Add several tests for vertex shader attributes | Ian Romanick | |
2010-03-29 | Add some checking for vertex shader inputs / attributes | Ian Romanick | |
This causes the following tests to pass: glslparsertest/shaders/attribute.vert glslparsertest/shaders/attribute1.vert glslparsertest/shaders/attribute2.vert | |||
2010-03-29 | Add parser support for texture rectangle types | Ian Romanick | |
2010-03-29 | Use call-by-reference for apply_implicit_conversion | Ian Romanick | |
I'm not sure if this is a win or not. It makes the code in apply_implicit_conversion more clear, but it obscures the fact that it may change the pointers. | |||
2010-03-29 | Apply implicit conversions to ?: operator | Ian Romanick | |
2010-03-29 | Apply implicit conversions to equality operators | Ian Romanick | |
2010-03-29 | Apply implicit conversions to relational operators | Ian Romanick | |
2010-03-29 | Apply implicit conversions to arithmetic operators | Ian Romanick | |
2010-03-29 | Add glsl_type::is_array and glsl_type::is_float queries | Ian Romanick | |