Ian Romanick
25f51d3b9b
linker: Track and validate GLSL versions used in shaders
2010-07-19 14:50:43 -07:00
Ian Romanick
3fb878722e
linker: Stub-out intrastage linker
2010-07-12 15:19:30 -07:00
Kenneth Graunke
dfd30ca6a9
glsl2: Remove generate_temporary and global temporary counter.
...
Most places in the code simply use a static name, which works because
names are never used to look up an ir_variable. generate_temporary is
simply unnecessary (and looks like it would leak memory, and isn't
thread safe...)
2010-07-08 15:44:19 -07:00
Eric Anholt
a36334be02
glsl2: Add pass for supporting variable vector indexing in rvalues.
...
The Mesa IR needs this to support vector indexing correctly, and
hardware backends such as 915 would want this behavior as well.
Fixes glsl-vs-vec4-indexing-2.
2010-07-06 18:49:24 -07:00
Ian Romanick
4d962e66e3
glsl2: Print the linking info log in the stand-alone compiler
2010-07-02 14:57:07 -07:00
Ian Romanick
667f4e1940
glsl2: Conditionally allow optional extensions to be enabled
...
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
2010-07-01 20:40:08 -07:00
Ian Romanick
06143ea094
glsl2: Conditionally define preprocessor tokens for optional extensions
...
The only optional extension currently supported by the compiler is
GL_EXT_texture_array.
2010-07-01 20:40:08 -07:00
Ian Romanick
127308b4be
glsl2: Add gl_MaxTextureCoords
2010-07-01 13:30:50 -07:00
Kenneth Graunke
629198b96a
glsl2: Preprocessed source doesn't need to live past compile time.
2010-06-30 13:52:24 -07:00
Kenneth Graunke
116f1d4f95
glsl2: Steal the live IR and free the rest of the junk.
2010-06-30 13:52:24 -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
Ian Romanick
5e18b051c0
glsl2: Pass MaxDrawBuffers from core Mesa into the GLSL compiler
2010-06-29 15:19:38 -07:00
Ian Romanick
efc15f862b
glsl_type: Add _mesa_glsl_release_types to release all type related storage
2010-06-29 11:15:40 -07:00
Ian Romanick
22c23dedad
glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations
2010-06-28 10:04:22 -07:00
Eric Anholt
bda27424cf
glsl2: Use the parser state as the talloc context for dead code elimination.
...
This cuts runtime by around 20% from talloc_parent() lookups.
2010-06-25 13:38:38 -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