Ian Romanick
15ce87e9f2
linker: Detect the shader that contains "main" during intrastage linking
2010-07-12 18:51:55 -07:00
Ian Romanick
13f782c4ae
linker: Implement first bits of intrastage linking
...
This currently involves an ugly hack so that every link doesn't result
in all the built-in functions showing up as multiply defined. As soon
as the built-in functions are stored in a separate compilation unit,
ir_function_signature::is_built_in can be removed.
2010-07-12 18:51:55 -07:00
Ian Romanick
e2e5d0def4
linker: Refactor cross_validate_uniforms into cross_validate_globals
...
The later, more generic function will be used in the intra-stage linker.
2010-07-12 18:51:55 -07:00
Ian Romanick
3fb878722e
linker: Stub-out intrastage linker
2010-07-12 15:19:30 -07:00
Ian Romanick
35c89204e5
linker: Use bit-0 instead of VERT_BIT_GENERIC0
...
Uses of the bits for allocation are offset by 16, and
VERT_BIT_GENERIC0 already has the 16 offset. As a result, it was
preventing the wrong thing from being allocated.
2010-07-07 16:28:39 -07:00
Eric Anholt
97eba76b8c
glsl2: Allow a fragment shader to not write a color.
...
I can't find any text justifying this check, and it caused a
reasonable-looking shader in glsl-bug-22603 (which writes only
gl_FragDepth) to fail.
2010-06-30 14:51:50 -07:00
Ian Romanick
ef5f194831
linker: Don't dynamically allocate slots for linked shaders
...
The can be at most one shader per stage. There are currently only two
stages. There is zero reason to dynamically size this array.
2010-06-30 12:20:44 -07:00
Ian Romanick
982e3798d8
linker: Don't automatically allocate VERT_ATTRIB_GENERIC0
2010-06-30 12:02:11 -07:00
Eric Anholt
849e18153c
glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program.
...
This avoids more allocation and shuffling of data around.
2010-06-30 12:01:42 -07:00
Eric Anholt
16b68b1952
glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *.
...
This saves recompiling at link time. gl_shader->ir is made a pointer
so that we don't have to bring exec_list into mtypes.h.
2010-06-30 11:30:26 -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