summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/library
AgeCommit message (Collapse)Author
2009-01-06mesa: updated comments about GLSL constantsBrian Paul
(cherry picked from commit dfada459aabf1a02dc2dbdb6644283fc95df2586)
2009-01-06mesa: 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. (cherry picked from commit c6537ac8b8130cf2271c8d1e51137a575073c762)
2009-01-06mesa: bump glsl grammar revisionBrian Paul
And update some copyrights. (cherry picked from commit 4561307a27e07e37319fdf993c37f2c1b85ee3e9)
2009-01-06mesa: 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. (cherry picked from commit 2dc3de016cd0306bf5b492ed781e824864788f11)
2009-01-06mesa: 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. (cherry picked from commit 8d95e66cf78921cd067c4bcf6a1053a7ec3a2ed4)
2009-01-06mesa: support for GLSL 1.20 array typesBrian Paul
This allows syntax like "float[8] foo, bar;" (cherry picked from commit 0fab514ff5e7887767936427b5e02b676abebf3a)
2009-01-06mesa: minor comment reformatttingBrian Paul
(cherry picked from commit bab4e78734dc462387fea32f0b05103e31f2d6f6)
2009-01-06mesa: remove unused/obsolete __NormalMatrixTranspose matrixBrian Paul
(cherry picked from commit e556cc82f83716a734ed9d76356ba49bb670004f)
2009-01-06mesa: allows 'f' suffix on GLSL float literalsBrian Paul
(cherry picked from commit 80c8017a643dfb655e4e1500e1c57e3908529c27)
2009-01-06mesa: add support for 'centroid' qualifier in GLSL 1.20Brian Paul
(cherry picked from commit 87d1a26ba38e75f6988e094dbfbc0f77c0ae502b) Conflicts: src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2009-01-06mesa: add support for 'invariant' keyword for GLSL 1.20Brian Paul
(cherry picked from commit 448156f769ebf271a6a8c03c61588c3e6c6363f0) Conflicts: src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2009-01-06mesa: reformat comments, rewrap lines, etc for a little better readabilityBrian Paul
(cherry picked from commit b632e5aa7f948ed5bbf7104682ec3ee463af4c0a)
2008-10-31mesa: fix some bugs with precision qualifier parsingBrian Paul
2008-08-22mesa: glsl: regenerated fileBrian Paul
2008-08-22mesa: glsl: implement exp() functions in terms of EXP asm instruction, not powBrian Paul
2008-08-20mesa: glsl: regenerated fileBrian Paul
2008-08-20mesa: glsl: better implementation of ftransform()Brian Paul
2008-08-12mesa: glsl: regenerated filesBrian Paul
2008-08-12mesa: glsl: additional constructorsBrian Paul
2008-08-12mesa: glsl: better mod() functionsBrian Paul
2008-08-11mesa: glsl: regenerated fileBrian Paul
2008-08-11mesa: glsl: change refract() functions to allow inliningBrian Paul
2008-08-11mesa: glsl: use SGE instead of SGT in step() functionsBrian Paul
2008-08-11mesa: glsl: fix bugs in refract() functions, plus minor optimizationBrian Paul
2008-08-07mesa: glsl: regenerated filesBrian Paul
2008-08-07mesa: Extend GLSL syntax to accept type precision in full type specifiers.Michal Krol
2008-08-06mesa: glsl: regenerated fileBrian Paul
2008-08-06mesa: glsl: report 'Syntax Error' instead of 'Invalid external declaration'Brian Paul
2008-08-05mesa: glsl: regenerated fileBrian Paul
2008-08-05mesa: glsl: remove invalid use of f.x syntax where f is a floatBrian Paul
2008-08-05mesa: glsl: regenerated filesBrian Paul
2008-08-05mesa: glsl: re-org of intermediate/temp storageBrian Paul
Simplify the code for allocating storage for intermediate results. Use fewer temps in some cases. Also, use new asm vec4_move intrinsic instead of regular assigments in various constructors. For example: float f; vec3 v; v.xyz = f; is not legal GLSL, so do this instead: __asm vec4_move v.xyz, f; // note: f will auto-expand into f.xxxx Plus, fix assorted bugs in structure comparison.
2008-08-04mesa: glsl: regenerated filesBrian Paul
2008-08-04mesa: glsl: added vec4(ivec4) constructorBrian Paul
2008-08-04mesa: glsl: only allow one #version directiveBrian Paul
2008-08-04mesa: glsl: regenerated fileBrian Paul
2008-08-04mesa: glsl: new bvec4 constructorBrian Paul
2008-07-25mesa: regenerated filesBrian Paul
2008-07-25mesa: glsl: re-order some constructorsBrian Paul
2008-07-25mesa: glsl: remove unneeded operatorsBrian Paul
2008-07-18mesa: regenerated fileBrian Paul
2008-07-18mesa: fix some GLSL /= int operatorsBrian Paul
plus add a few more special constructors to improve code quality.
2008-07-17mesa: regenerated fileBrian Paul
2008-07-17mesa: fix/improve the atan(y,x) functionBrian Paul
2008-07-16mesa: regenerated filesBrian Paul
2008-07-16mesa: fix copy&paste errors in degrees() functionsBrian Paul
2008-07-16mesa: implement grammar/parsing for precision/invariant syntaxBrian Paul
Plus, fix some issues with pre-defined preprocessor symbols and version checking.
2008-07-15mesa: regenerated fileBrian Paul
2008-07-15mesa: fix some broken /= operatorsBrian Paul
2008-07-15mesa: regenerated fileBrian Paul