Eric Anholt
c22dee7216
glsl2: Fix ir_validate validating null variable names.
...
An unnamed variable in a prototype will have a NULL ->name, so don't
worry about storage then.
Fixes:
CorrectFunction1.vert
CorrectParse1.frag
2010-08-03 11:47:02 -07:00
Ian Romanick
7ffe40532f
glsl2: Clean-up two 'unused variable' warnings
2010-08-02 13:53:32 -07:00
Eric Anholt
ee7666b5ac
glsl2: Add validation that talloc ownership of ir_* names is right.
2010-08-02 12:08:52 -07:00
Eric Anholt
e75dbf66d0
glsl2: Fix validation for ir_unop_not.
...
We use vector ir_unop_not to implement builtin not(), and that seems fine.
2010-08-02 12:06:34 -07:00
Aras Pranckevicius
31747155ea
glsl2: Give the path within src/mesa/ for headers instead of relying on -I.
2010-08-02 10:59:46 -07:00
Eric Anholt
5533c6e380
ir_validate: Check the types of expression operations.
2010-07-27 09:43:52 -07:00
Eric Anholt
6a1401eb88
glsl2: Fix missing visit_continue return in ir_validate.
2010-07-27 00:18:57 -07:00
Eric Anholt
432b787b29
glsl2: Validate that ir_if conditions are actually bool.
2010-07-22 16:24:49 -07:00
Eric Anholt
f141fa63a4
glsl2: Check that nodes in a valid tree aren't error-type.
...
We're good at propagating error types around, but finding when the
first one was triggered can be painful if we aren't paying attention.
2010-07-20 17:30:10 -07:00
Eric Anholt
d16044ad4d
glsl2: Give IR nodes a type field.
...
This is a big deal for debugging if nothing else ("what class is this
ir_instruction, really?"), but is also nice for avoiding building a
whole visitor or an if (node->as_whatever() || node->as_other_thing())
chain.
2010-07-19 09:50:29 -07:00
Ian Romanick
506880bc32
ir_validate: Also perform usual checks on ir_dereference_variable nodes
2010-07-12 15:46:16 -07:00
Ian Romanick
8baf21b1a4
ir_validate: Validate that varibles are declared before used in IR
2010-07-12 15:43:50 -07:00
Ian Romanick
c67016de96
ir_validate: Additional function related invariant checks
...
Add two invariant checks related to functions and function signatures:
1. Ensure that function definitions (ir_function) are not nested.
2. Ensure that the ir_function pointed to by an ir_function_signature
is the one that contains it in its signatures list.
2010-07-12 15:19:29 -07:00
Ian Romanick
d1a1ee583e
Add hash table helper functions for using pointers as hash keys
2010-07-06 15:00:46 -07:00
Eric Anholt
3d6012303c
glsl2: Wrap includes of C interfaces with extern "C".
2010-06-24 17:23:19 -07:00
Eric Anholt
2928588267
glsl2: Move the compiler to the subdirectory it will live in in Mesa.
2010-06-24 15:36:00 -07:00