Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-03-19 | Use glsl_symbol_table::name_declared_this_scope | Ian Romanick | |
Prevent most illegal name reuse. | |||
2010-03-19 | Add query to determine whether a name was declared at this scope | Ian Romanick | |
This will be used to prevent a variable and a function with the same name from being declared. As a side effect, the calls to add_{type,name,function} should never fail. | |||
2010-03-19 | Use separate namespaces for types, variables, and functions | Ian Romanick | |
This will allow types and their constructors to be easily stored in the same symbol table. This does add a potential problem that a shader could declare a variable and a function with the same name. This appears to be forbidden by the GLSL spec. | |||
2010-03-19 | Add function to determine the scope where a variable is declared | Ian Romanick | |
2010-03-19 | Use glsl_symbol_table instead of using _mesa_symbol_table directly | Ian Romanick | |
2010-03-19 | Add a GLSL-specific facade to _mesa_symbol_table | Ian Romanick | |
This adds some type saftey and will enable elimination of a bunch of type casts and other ugly crap in the code. | |||
2010-03-19 | Don't track new type names during pass-1 parsing | Ian Romanick | |
This implementation was wrong anyway because it did not respect scoping rules. This will need to be revisited soon. The most likely result is that the grammar is going to need some significant re-work to be able to use a IDENTIFIER in all the places where a TYPE_NAME is currently used. | |||
2010-03-15 | Add multiple include protection to ir.h | Ian Romanick | |
2010-03-15 | Trivial clean-ups to ast_type_specifier(int) constructor | Ian Romanick | |
2010-03-15 | Add new constructors for ast_type_specifier | Ian Romanick | |
Add a constructor that uses an ast_struct_specifier and one that uses a type name. This saves a (trivial) bit of code, but it also ensures some of the class invariants (i.e., type_name != NULL) are met. | |||
2010-03-15 | Ensure that ast_type always has type_name set | Ian Romanick | |
For built-in types, type_name would be NULL. This ensures that type_name is set even for the built-in types. This simplifies code in a few places and centralizes the name setting code. | |||
2010-03-15 | Factor ast_type_specifier code out to ast_type.cpp | Ian Romanick | |
2010-03-15 | Factor guts of function matching code out to match_function_by_name | Ian Romanick | |
This function will be used for matching some types of constructors as well. | |||
2010-03-15 | Move ast_function_expression::hir to ast_function.cpp | Ian Romanick | |
2010-03-15 | Remove DOA hir_function.c file | Ian Romanick | |
2010-03-11 | Change type of function_identifier to silence bison warning | Ian Romanick | |
When the implementation of function_call_header and function_identifier were changed a few commits ago, the types of the production changed. This just updates the types specified for the productions to match reality. | |||
2010-03-11 | Add parameters to function declarations in the correct order | Ian Romanick | |
2010-03-11 | Initial pass at resolving function calls | Ian Romanick | |
The code is still really rough and *REALLY* incomplete. This at least passes the first few trivially simple test cases. | |||
2010-03-11 | Default function parameters to 'in' instead of auto | Ian Romanick | |
2010-03-11 | Add a handful of simple tests for function calls in constructors | 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-11 | Track generation of errors and halt compilation appropriately | Ian Romanick | |
2010-03-10 | Differentiate in ast_function_expression between constructors and func. calls | Ian Romanick | |
2010-03-10 | Tell emacs that C++ .h files are C++ | Ian Romanick | |
2010-03-10 | Make ast_function_expression subclass of ast_expression | Ian Romanick | |
2010-03-10 | Simplified constructor for identifier expressions | Ian Romanick | |
2010-03-10 | IR variable: Initial work to support GLSL built-in variables | Ian Romanick | |
2010-03-10 | Include cstdlib to be sure size_t is available | Ian Romanick | |
2010-03-10 | Move top-level AST to HIR conversion to _mesa_ast_to_hir | Ian Romanick | |
2010-03-10 | Require the shader target be specified to the driver program | Ian Romanick | |
2010-03-10 | Use ir_print_visitor to dump IR tree | Ian Romanick | |
2010-03-10 | Fix typeo in gl_FogParameters.scale (was scalre) | Ian Romanick | |
2010-03-10 | AST to IR: Mark 'varying' in a vertex shader as 'out' | Ian Romanick | |
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-09 | IR print visitor: Add some support for printing types and constants | Ian Romanick | |
2010-03-09 | IR print visitor: Print assignments | Ian Romanick | |
2010-03-09 | Add assignment side-effect to the instruction stream | Ian Romanick | |
The actual assignment is a side-effect of the assignment expression. Add it to the instruction stream and return the LHS of the assignment as its rvalue. | |||
2010-03-09 | IR visitor: Add initial version of ir_visitor classes | Ian Romanick | |
The ir_visitor class is the abstract base class for all visitors. ir_print_visitor contains the beginnings of a concrete visitor class that will print out an IR sequence in a Lisp / Scheme-like syntax. | |||
2010-03-09 | Convert is_glsl_type_matrix to glsl_type::is_matrix | Ian Romanick | |
2010-03-09 | Convert is_glsl_type_vector to glsl_type::is_vector | Ian Romanick | |
2010-03-09 | Convert is_glsl_type_scalar to glsl_type::is_scalar | Ian Romanick | |
2010-03-09 | Make glsl_type a class | Ian Romanick | |
Among other benefits, this cleans up a the hackery invovled in initializing the union field in builtin_types.h. | |||
2010-03-08 | Remove unused function | Ian Romanick | |
2010-03-08 | Conver IR structures to use exec_list instead of simple_node | Ian Romanick | |
2010-03-08 | Add yet-another linked list type | Ian Romanick | |
The use of macros to access existing linked list type makes it unsuitable for its current use as a base class. Since this type and the accompanying macros are used all over the place in Mesa, we can't really change them. | |||
2010-03-08 | Remove prototypes for *_to_hir functions that no longer exist | Ian Romanick | |
2010-03-08 | Set C++ indent too. | Ian Romanick | |
2010-03-01 | Make AST->HIR conversion a method of ast_node, re-enable | Ian Romanick | |
2010-02-25 | autoconf for the ... | Ian Romanick | |