summaryrefslogtreecommitdiffstats
path: root/src/glsl/main.cpp
Commit message (Collapse)AuthorAgeFilesLines
* glsl2: Make the dead code handler make its own talloc context.Eric Anholt2010-07-271-1/+1
| | | | | This way, we don't need to pass in a parse state, and the context doesn't grow with the number of passes through optimization.
* glsl2: Add optimization pass for algebraic simplifications.Eric Anholt2010-07-271-0/+1
| | | | | | This cleans up the assembly output of almost all the non-logic tests glsl-algebraic-*. glsl-algebraic-pow-two needs love (basically, flattening to a temporary and squaring it).
* glsl2: Fix standalone compiler to not crash horribly.Kenneth Graunke2010-07-221-41/+4
| | | | | ir_to_mesa was updated for the _mesa_glsl_parse_state constructor changes, but main.cpp was not.
* linker: Link built-in functions instead of including them in every shaderIan Romanick2010-07-211-0/+4
| | | | | | | | This is an invasive set of changes. Each user shader tracks a set of other shaders that contain built-in functions. During compilation, function prototypes are imported from these shaders. During linking, the shaders are linked with these built-in-function shaders just like with any other shader.
* glsl2: Implement utility routine to talloc reparent an IR treeIan Romanick2010-07-201-9/+1
|
* glsl2: Add definitions of the builtin constants present in GLSL 1.10.Eric Anholt2010-07-201-1/+18
| | | | | Fixes: glsl1-built-in constants
* glsl2: Don't validate IR if there were compilation errorsIan Romanick2010-07-201-3/+3
|
* linker: Track and validate GLSL versions used in shadersIan Romanick2010-07-191-0/+1
|
* linker: Stub-out intrastage linkerIan Romanick2010-07-121-0/+22
|
* glsl2: Remove generate_temporary and global temporary counter.Kenneth Graunke2010-07-081-1/+0
| | | | | | | 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...)
* glsl2: Add pass for supporting variable vector indexing in rvalues.Eric Anholt2010-07-061-0/+1
| | | | | | | 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.
* glsl2: Print the linking info log in the stand-alone compilerIan Romanick2010-07-021-0/+3
|
* glsl2: Conditionally allow optional extensions to be enabledIan Romanick2010-07-011-0/+1
| | | | | The only optional extension currently supported by the compiler is GL_EXT_texture_array.
* glsl2: Conditionally define preprocessor tokens for optional extensionsIan Romanick2010-07-011-1/+3
| | | | | The only optional extension currently supported by the compiler is GL_EXT_texture_array.
* glsl2: Add gl_MaxTextureCoordsIan Romanick2010-07-011-0/+1
|
* glsl2: Preprocessed source doesn't need to live past compile time.Kenneth Graunke2010-06-301-4/+1
|
* glsl2: Steal the live IR and free the rest of the junk.Kenneth Graunke2010-06-301-0/+11
|
* glsl2: Use Mesa's gl_shader_program instead of our own struct glsl_program.Eric Anholt2010-06-301-2/+2
| | | | This avoids more allocation and shuffling of data around.
* glsl2: Move our data from a glsl_shader* on the side to the main gl_shader *.Eric Anholt2010-06-301-25/+22
| | | | | 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.
* glsl2: Pass MaxDrawBuffers from core Mesa into the GLSL compilerIan Romanick2010-06-291-0/+2
|
* glsl_type: Add _mesa_glsl_release_types to release all type related storageIan Romanick2010-06-291-0/+1
|
* glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizationsIan Romanick2010-06-281-0/+7
|
* glsl2: Use the parser state as the talloc context for dead code elimination.Eric Anholt2010-06-251-1/+1
| | | | This cuts runtime by around 20% from talloc_parent() lookups.
* glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt2010-06-241-0/+256