Ian Romanick
d2b6bc651a
Use glsl_type::get_instance instead of symbol table look-up
2010-03-24 17:45:14 -07:00
Ian Romanick
60b54d977a
Replace accesses to glsl_type data with query functions
...
In these particular cases, using the query functions makes it more obvious
what is happening.
2010-03-24 17:08:13 -07:00
Ian Romanick
882dad7540
ir_function constructor now takes the function name as a parameter
2010-03-23 17:42:04 -07:00
Ian Romanick
0bb1c3c153
Add *some* type checking for assignments
2010-03-23 13:23:31 -07:00
Ian Romanick
71d0bbfcb2
Disallow passing NULL for state to _mesa_glsl_error
...
The two places that were still passing NULL had a state pointer to
pass. Not passing it in these places prevented termination of
compilation of erroneous programs.
2010-03-23 13:21:19 -07:00
Ian Romanick
f3f111eac4
Fix typographical errors of "FINISHME"
2010-03-23 13:04:19 -07:00
Ian Romanick
cec65a6b76
Generate an error for variables declared with type void
2010-03-23 12:28:44 -07:00
Ian Romanick
e39cc69fa3
Set, and require, a return type for function signatures
2010-03-23 12:19:13 -07:00
Ian Romanick
41ec6a47ab
Track the function that is currently being defined
...
Later this will allow type checking for return statements.
2010-03-19 17:08:05 -07:00
Ian Romanick
16a246c049
Initial bits for converting AST return nodes to IR return instructions
2010-03-19 16:51:16 -07:00
Ian Romanick
3359e58eac
Use glsl_symbol_table::name_declared_this_scope
...
Prevent most illegal name reuse.
2010-03-19 15:38:52 -07:00
Ian Romanick
8bde4cec6b
Use glsl_symbol_table instead of using _mesa_symbol_table directly
2010-03-19 11:57:24 -07:00
Ian Romanick
7f9d309743
Ensure that ast_type always has type_name set
...
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 14:18:32 -07:00
Ian Romanick
548fa293a3
Move ast_function_expression::hir to ast_function.cpp
2010-03-15 13:04:13 -07:00
Ian Romanick
471471f834
Initial pass at resolving function calls
...
The code is still really rough and *REALLY* incomplete. This at least
passes the first few trivially simple test cases.
2010-03-11 14:57:26 -08:00
Ian Romanick
cdb8d54b68
Default function parameters to 'in' instead of auto
2010-03-11 14:48:51 -08:00
Ian Romanick
ed45ec6a51
Add ir_call call to represent function calls.
2010-03-11 14:35:37 -08:00
Ian Romanick
7cfddf1941
Make ast_function_expression subclass of ast_expression
2010-03-10 13:26:52 -08:00
Ian Romanick
adfb0cd740
IR variable: Initial work to support GLSL built-in variables
2010-03-10 10:43:54 -08:00
Ian Romanick
d949a9afb0
Move top-level AST to HIR conversion to _mesa_ast_to_hir
2010-03-10 09:55:22 -08:00
Ian Romanick
0b67823462
AST to IR: Mark 'varying' in a vertex shader as 'out'
2010-03-10 00:28:59 -08:00
Ian Romanick
6652af36fe
Add assignment side-effect to the instruction stream
...
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 16:38:02 -08:00
Ian Romanick
fce1150156
Convert is_glsl_type_matrix to glsl_type::is_matrix
2010-03-09 15:58:52 -08:00
Ian Romanick
a2dd22fb19
Convert is_glsl_type_vector to glsl_type::is_vector
2010-03-09 15:55:16 -08:00
Ian Romanick
cb36f8aaee
Convert is_glsl_type_scalar to glsl_type::is_scalar
2010-03-09 15:51:22 -08:00
Ian Romanick
3a9e989628
Remove unused function
2010-03-08 23:44:59 -08:00
Ian Romanick
0044e7edce
Conver IR structures to use exec_list instead of simple_node
2010-03-08 23:44:54 -08:00
Ian Romanick
18238de6c3
Make AST->HIR conversion a method of ast_node, re-enable
2010-03-01 13:49:10 -08:00
Ian Romanick
d5f4f09e76
Rename .cc files to .cpp
2010-02-22 18:43:08 -08:00