summaryrefslogtreecommitdiff
path: root/src/glsl/ir_variable.cpp
AgeCommit message (Collapse)Author
2011-01-31glsl: Introduce a new "const_in" variable mode.Kenneth Graunke
This annotation is for an "in" function parameter for which it is only legal to pass constant expressions. The only known example of this, currently, is the textureOffset functions. This should never be used for globals.
2011-01-15Merge branch 'draw-instanced'Brian Paul
Conflicts: src/gallium/auxiliary/draw/draw_llvm.c src/gallium/drivers/llvmpipe/lp_state_fs.c src/glsl/ir_set_program_inouts.cpp src/mesa/tnl/t_vb_program.c
2010-12-08glsl: add support for system values and GL_ARB_draw_instancedBrian Paul
2010-11-29glsl: Make the symbol table's add_variable just use the variable's name.Eric Anholt
2010-10-20glsl: Remove useless ir_shader enumeration value.Kenneth Graunke
2010-10-13glsl: add support for shader stencil exportDave Airlie
This adds proper support for the GL_ARB_shader_stencil_export extension to the GLSL compiler. Thanks to Ian for pointing out where I need to add things.
2010-10-08glsl: Add linker support for explicit attribute locationsIan Romanick
2010-09-21glsl: Add definition of gl_TextureMatrix inverse/transpose builtins.Eric Anholt
Fixes glsl2/builtin-texturematrix. Bug #30196.
2010-09-07glsl: Add built-in variables for GLSL ES 1.00.Kenneth Graunke
2010-08-24glsl: Include main/core.h.Chia-I Wu
Make glsl include only main/core.h from core mesa.
2010-08-12glsl2: Use Elements from main/compiler.h instead of open-codingIan Romanick
2010-08-09glsl2: Use gl_DepthRange's proper name.Kenneth Graunke
It was being incorrectly added as gl_DepthRangeParameters, which is the type name, not the variable name.
2010-08-04glsl2: Remove the shader_in/shader_out tracking separate from var->mode.Eric Anholt
I introduced this for ir_dead_code to distinguish function parameter outvals from varying outputs. Only, since ast_to_hir's current_function is unset when setting up function parameters (they're needed for making the function signature in the first place), all function parameter outvals were marked as shader outputs anyway. This meant that an inlined function's cloned outval was marked as a shader output and couldn't be dead-code eliminated. Instead, since ir_dead_code doesn't even look at function parameters, just use var->mode. The longest Mesa IR coming out of ir_to_mesa for Yo Frankie drops from 725 instructions to 636.
2010-07-28glsl2: Add the remaining builtin uniforms.Eric Anholt
2010-07-28glsl2: Size builtin arrays according to the context constants.Eric Anholt
Cleans up some of the FINISHMEs in this file.
2010-07-20glsl2: glsl_type has its own talloc context, don't pass one inIan Romanick
2010-07-20glsl2: Add and use new variable mode ir_var_temporaryIan Romanick
This is quite a large patch because breaking it into smaller pieces would result in the tree being intermitently broken. The big changes are: * Add the ir_var_temporary variable mode * Change the ir_variable constructor to take the mode as a parameter and correctly specify the mode for all ir_varables. * Change the linker to not cross validate ir_var_temporary variables. * Change the linker to pull all ir_var_temporary variables from global scope into 'main'.
2010-07-20glsl2: Add definitions of the builtin constants present in GLSL 1.10.Eric Anholt
Fixes: glsl1-built-in constants
2010-07-07glsl2: Add support for gl_PointCoord in 1.20.Eric Anholt
Fixes glsl-fs-pointcoord on swrast (remains broken on 965, like master)
2010-07-01glsl2: Add gl_MaxTextureCoordsIan Romanick
2010-07-01glsl2: Default delcaration of gl_TexCoord is unsizedIan Romanick
2010-06-29glsl2: Make gl_MaxDrawBuffers available in the vertex shaderIan Romanick
2010-06-29glsl2: Make gl_MaxDrawBuffers available in the fragment shaderIan Romanick
2010-06-29glsl2: Make gl_FragData be available in GLSL 1.10 tooIan Romanick
2010-06-29glsl2: Pass MaxDrawBuffers from core Mesa into the GLSL compilerIan Romanick
2010-06-24glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt