summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang
AgeCommit message (Collapse)Author
2008-12-30Merge commit 'origin/master' into gallium-0.2Brian Paul
Conflicts: src/mesa/main/config.h
2008-12-30mesa: fix bug in evaluation of structure fieldsBrian Paul
Fixes incorrect size information. See bug 19273.
2008-12-30mesa: allow variable indexing into the predefined uniform variable arraysBrian Paul
This allows code such as "vec4 a = gl_LightSource[i].ambient;" to work. When a built-in uniform array is indexed with a variable index we need to "unroll" the whole array into the parameter list (aka constant buffer) because we don't know which elements may be accessed at compile-time. In the case of the gl_LightSource array of size [8], we emit 64 state references into the parameter array (8 elements times 8 vec4s per gl_LightSourceParameters struct). Previously, we only allowed constant-indexed references to uniform arrays (such as gl_LightSource[2].position) which resulted in a single state reference being added to the parameter array, not 64. We still optimize this case. Users should be aware that using "gl_LightSource[i].ambient" in their shaders is a bit expensive since state validation will involve updating all 64 light source entries in the parameter list.
2008-12-30mesa: better error message when running out of GLSL samplersBrian Paul
2008-12-18glsl: Fix handling of nested parens in macro actual arguments.Michal Krol
2008-12-18glsl: Fix handling of nested parens in macro actual arguments.Michal Krol
2008-12-16Merge commit 'origin/master' into gallium-0.2Brian Paul
2008-12-16mesa: disable debug outputBrian Paul
2008-12-16mesa: fix some GLSL array regressionsBrian Paul
array.length() wasn't working. Swizzle mask for accessing elements of float arrays was incorrect.
2008-12-15mesa: rename slang_library_noise.[ch] to prog_noise.[ch] and rename functionsBrian Paul
The noise functions were not glsl-specific. Also, ran indent on the code to clean it up.
2008-12-15mesa: bump glsl grammar revisionBrian Paul
And update some copyrights.
2008-12-15mesa: more re-org of variable declarations in glsl compilerBrian Paul
2008-12-15mesa: more comments, clean upBrian Paul
2008-12-15mesa: added comments, remove unused codeBrian Paul
2008-12-15mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()Brian Paul
This allows uniform declarations with scalar/array initializers. The code is rough though, and will be cleaned up.
2008-12-12mesa: place glsl constant arrays in constant memoryBrian Paul
For example, a declaration like const float[3] xxx = float[3](1.1, 2.2, 3.3); will place the array in the constant buffer whereas a regular, non-const array would be placed in the temporary register file. Next up: do the same thing for uniform arrays.
2008-12-12mesa: code clean-up in glsl compilerBrian Paul
2008-12-12mesa: remove unneeded swizzle init code in glsl compilerBrian Paul
2008-12-12mesa: disable glsl debug outputBrian Paul
2008-12-12mesa: remove unused varpool code in glsl compilerBrian Paul
2008-12-12mesa: basic array constructors work nowBrian Paul
For example: float[3] xxx = float[3](1.1, 2.2, 3.3); Optimizations for const-qualified arrays next.
2008-12-12mesa: copy array_len in slang_fully_specified_type_copy()Brian Paul
2008-12-12mesa: remove incorrect array_len assignmentBrian Paul
2008-12-12mesa: array size fix in _slang_typeof_operation()Brian Paul
2008-12-12mesa: fix some more GLSL 1.20 array things.Brian Paul
Function that return arrays should work now.
2008-12-12mesa: more glsl function renamingBrian Paul
2008-12-12mesa: use _slang_alloc()Brian Paul
2008-12-12mesa: glsl compiler function renamingBrian Paul
2008-12-12mesa: more glsl type/function movementBrian Paul
2008-12-12mesa: move some glsl compiler functions to different files to be more consistantBrian Paul
2008-12-12mesa: move _slang_locate_function() to different fileBrian Paul
2008-12-12mesa: remove unused fixup table code in glsl compilerBrian Paul
2008-12-12mesa: checkpoint: GLSL 1.20 array constructorsBrian Paul
2008-12-11mesa: consolidate variable declaration initializer code for globals tooBrian Paul
2008-12-11mesa: move variable initializer IR generation into _slang_gen_var_decl()Brian Paul
More code consolidation coming...
2008-12-11mesa: simplify some glsl variable declaration codeBrian Paul
2008-12-11mesa: glsl clean-upsBrian Paul
2008-12-11mesa: checkpoint commit of GLSL 1.20 array syntax.Brian Paul
This allows things like float[3] x = float[3](1., 2., 3.); Parsing and AST construction now. Codegen not working yet.
2008-12-09mesa: in slang linker, replace assertion with link error when max samplers ↵Brian Paul
exceeded
2008-11-28Merge commit 'origin/master' into gallium-0.2Alan Hourihane
2008-11-26mesa: add missing type check for function callsBrian Paul
2008-11-26mesa: add missing size check for assignment optimizationBrian Paul
2008-11-26mesa: remove debug codeBrian Paul
2008-11-25Merge commit 'origin/master' into gallium-0.2Alan Hourihane
2008-11-24mesa: added support for GLSL 1.20 array.length() methodBrian Paul
This is the only method supported in GLSL 1.20 so we take a few short-cuts.
2008-11-24mesa: support for GLSL 1.20 array typesBrian Paul
This allows syntax like "float[8] foo, bar;"
2008-11-24Merge commit 'origin/master' into gallium-0.2Brian Paul
Conflicts: progs/glsl/Makefile
2008-11-24mesa: copy centroid/invariance/precision info in parse_init_declarator()Brian Paul
2008-11-24mesa: check that varying variable qualifiers agreeBrian Paul
2008-11-24mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()Brian Paul