summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: updated comments about GLSL constantsBrian Paul2009-01-061-2/+3
| | | | (cherry picked from commit dfada459aabf1a02dc2dbdb6644283fc95df2586)
* mesa: fix bug in evaluation of structure fieldsBrian Paul2009-01-061-3/+1
| | | | | | Fixes incorrect size information. See bug 19273. (cherry picked from commit e8d7db31e2a6784c765911233cb3d888f612837f)
* mesa: allow variable indexing into the predefined uniform variable arraysBrian Paul2009-01-065-91/+376
| | | | | | | | | | | | | | | | | | | | | 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)
* mesa: better error message when running out of GLSL samplersBrian Paul2009-01-061-1/+4
| | | | (cherry picked from commit ca0540e25c86b8095511868b0cbe96d7e85f7437)
* mesa: disable debug outputBrian Paul2009-01-061-2/+2
| | | | (cherry picked from commit 3be8d6db9e8bfbd1b3ebf9ac382857ad1e6ef753)
* mesa: fix some GLSL array regressionsBrian Paul2009-01-064-66/+85
| | | | | | | array.length() wasn't working. Swizzle mask for accessing elements of float arrays was incorrect. (cherry picked from commit 368df1615ef65afed96a44e1f43ade8cc703696f)
* mesa: updated GLSL docsBrian Paul2009-01-061-7/+27
| | | | (cherry picked from commit c4341fe80acf75bf5417ffeb85fe6902218b752a)
* mesa: bump glsl grammar revisionBrian Paul2009-01-0611-13/+13
| | | | | | And update some copyrights. (cherry picked from commit 4561307a27e07e37319fdf993c37f2c1b85ee3e9)
* mesa: more re-org of variable declarations in glsl compilerBrian Paul2009-01-061-52/+56
| | | | (cherry picked from commit 49543d7177fabc848822431891266e33bc13c818)
* mesa: more comments, clean upBrian Paul2009-01-061-10/+12
| | | | (cherry picked from commit a1229cc9e7c78c59cad8d0df30b1f28d9bc81faf)
* mesa: added comments, remove unused codeBrian Paul2009-01-061-32/+9
| | | | (cherry picked from commit a66ff046cc169c6479b00b1e7fc5d87b93ad60ed)
* mesa: checkpoint: handle uniform vars in _slang_gen_var_decl()Brian Paul2009-01-061-18/+59
| | | | | | | This allows uniform declarations with scalar/array initializers. The code is rough though, and will be cleaned up. (cherry picked from commit aa1b90463676ea71f24c1956dcf51deec1bf664c)
* mesa: place glsl constant arrays in constant memoryBrian Paul2009-01-061-7/+93
| | | | | | | | 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.
* mesa: remove old size=4 limitBrian Paul2009-01-061-1/+0
| | | | (cherry picked from commit 0da44c62cc91c60d392f6e57aa047473b67ffb9b)
* mesa: code clean-up in glsl compilerBrian Paul2009-01-061-7/+8
| | | | (cherry picked from commit d4be09fb2b4a2a45a95a388f536aee566e05f96a)
* mesa: remove unneeded swizzle init code in glsl compilerBrian Paul2009-01-061-18/+0
| | | | (cherry picked from commit 240e211c711b0ebfe6c3daa6cb70a3fa8fc8b656)
* mesa: disable glsl debug outputBrian Paul2009-01-061-2/+2
| | | | (cherry picked from commit 4d49fc83f11ec2f333e06e94af5ac0d24b93caa8)
* mesa: remove unused varpool code in glsl compilerBrian Paul2009-01-064-26/+0
| | | | (cherry picked from commit 81253be3347312eb7539eb61ee9362f76370eba7)
* mesa: basic array constructors work nowBrian Paul2009-01-061-13/+144
| | | | | | | | For example: float[3] xxx = float[3](1.1, 2.2, 3.3); Optimizations for const-qualified arrays next. (cherry picked from commit 5c0c5e5af9c72c170991f48628673faba85bc6f4)
* mesa: copy array_len in slang_fully_specified_type_copy()Brian Paul2009-01-061-0/+1
| | | | (cherry picked from commit c20d00f04bdbdc0d3abdae8984ff5c874c4f0a10)
* mesa: remove incorrect array_len assignmentBrian Paul2009-01-061-1/+0
| | | | (cherry picked from commit 9016331d0fd0783d1e46c9d4b651797d6af4a60f)
* mesa: array size fix in _slang_typeof_operation()Brian Paul2009-01-061-1/+9
| | | | (cherry picked from commit 87a00959ba40ee0aeaebbc8a86ca081cf3b81c75)
* mesa: fix some more GLSL 1.20 array things.Brian Paul2009-01-062-12/+33
| | | | | | Function that return arrays should work now. (cherry picked from commit 8571401d7d7c9c91c6f053e5dc8c94a4567140fe)
* mesa: more glsl function renamingBrian Paul2009-01-065-28/+28
| | | | (cherry picked from commit d5367622a3f1cffe67af0fb6fca99ad02eefd374)
* mesa: use _slang_alloc()Brian Paul2009-01-062-2/+2
| | | | (cherry picked from commit b4019483dea406e997ae1c6b61b41cc49786c8ce)
* mesa: glsl compiler function renamingBrian Paul2009-01-0610-32/+32
| | | | (cherry picked from commit 456a4e274ff60122ab7e23dad2d462be3d910599)
* mesa: more glsl type/function movementBrian Paul2009-01-065-30/+14
| | | | (cherry picked from commit 9a174ef4090189e19831092bb2bae4bfc5396968)
* mesa: move some glsl compiler functions to different files to be more consistantBrian Paul2009-01-066-196/+197
| | | | (cherry picked from commit aeeb9bca2712dbf8540486fc584e214a8af4c7c4)
* mesa: move _slang_locate_function() to different fileBrian Paul2009-01-064-83/+86
| | | | (cherry picked from commit ea9dc3879f4cbbaa8ce9e305884a4afdc1fdd28a)
* mesa: remove unused fixup table code in glsl compilerBrian Paul2009-01-063-61/+1
| | | | (cherry picked from commit 19ca2908be5df2240d694c67c6f190982e9f7922)
* mesa: checkpoint: GLSL 1.20 array constructorsBrian Paul2009-01-067-24/+92
| | | | (cherry picked from commit ade777ea1b62e2280c9f05fa09927a8f9bb63f4f)
* mesa: consolidate variable declaration initializer code for globals tooBrian Paul2009-01-061-19/+3
| | | | (cherry picked from commit 1737f2dbdd8d9d6b1da140340323cbf83f7bd592)
* mesa: move variable initializer IR generation into _slang_gen_var_decl()Brian Paul2009-01-061-79/+93
| | | | | | More code consolidation coming... (cherry picked from commit 2760bca1e13e62943affd762ed560bc30fbcc27a)
* mesa: simplify some glsl variable declaration codeBrian Paul2009-01-061-23/+21
| | | | (cherry picked from commit 05ed9f7fe934249eaa5a16123b5b5f7f62b0ad26)
* mesa: glsl clean-upsBrian Paul2009-01-064-47/+56
| | | | (cherry picked from commit 929eb00b32dfea9b1ac58923c88d5573872adea1)
* mesa: checkpoint commit of GLSL 1.20 array syntax.Brian Paul2009-01-0611-2836/+2974
| | | | | | | | 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)
* mesa: in slang linker, replace assertion with link error when max samplers ↵Brian Paul2009-01-061-6/+18
| | | | | | exceeded (cherry picked from commit e8f5c1a5e89fe43ddfa277d7392dcaf8ac1d6c88)
* mesa: fix conditional in save_Lightfv(), bug 18838Brian2009-01-061-1/+1
| | | | (cherry picked from commit 1e2f57425153d73646fde7c91c16aa5559491556)
* mesa: add missing type check for function callsBrian Paul2009-01-061-0/+15
| | | | (cherry picked from commit 001b1cbb0dacf76dd09cda56840c30226abd3534)
* mesa: add missing size check for assignment optimizationBrian Paul2009-01-061-1/+2
| | | | (cherry picked from commit aa40de5c6f7f70844d4a4c726456cceaee9f0e4d)
* mesa: remove debug codeBrian Paul2009-01-061-1/+0
| | | | (cherry picked from commit fea3a32e17502ac16ec9a12dc9d18742cea2efd5)
* gallium: added centroid/invarient fields to declarationsBrian Paul2009-01-062-0/+8
| | | | (cherry picked from commit 4de360e67d83cd6503fb8ad053bb8afe507db5fa)
* mesa: added support for GLSL 1.20 array.length() methodBrian Paul2009-01-067-0/+112
| | | | | | This is the only method supported in GLSL 1.20 so we take a few short-cuts. (cherry picked from commit 8d95e66cf78921cd067c4bcf6a1053a7ec3a2ed4)
* mesa: support for GLSL 1.20 array typesBrian Paul2009-01-0611-2642/+2776
| | | | | | This allows syntax like "float[8] foo, bar;" (cherry picked from commit 0fab514ff5e7887767936427b5e02b676abebf3a)
* mesa: pass shader centroid/invariant info through to the TGSI shaderBrian Paul2009-01-063-37/+80
| | | | (cherry picked from commit c5b52b5e0e6f6e47c3953076fa788921b1c5a5e2)
* tgsi: add tgsi_declaration fields for centroid sampling, invariant optimizationBrian Paul2009-01-063-1/+13
| | | | (cherry picked from commit 434e255eae90b0f3d836d452b7d3b0c5aadf78b8)
* mesa: add gl_program::Input/OutputFlags[] arrayBrian Paul2009-01-064-20/+33
| | | | | | | These arrays will indicate per-input or per-output options for vertex/fragment programs such as centroid-sampling and invariance. (cherry picked from commit b730d0d3e9b202b17a0815cb820fc9905f35cb98)
* mesa: copy centroid/invariance/precision info in parse_init_declarator()Brian Paul2009-01-061-1/+4
| | | | (cherry picked from commit a2037137385671c0673d1de6eb1c36dbd3cd78f3)
* mesa: check that varying variable qualifiers agreeBrian Paul2009-01-061-3/+28
| | | | (cherry picked from commit dc1107c08d0ccbeeb063f2e46be598f16cbe9f21)
* mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()Brian Paul2009-01-061-0/+3
| | | | (cherry picked from commit 0e2f757413a68f0edb6643ea23ad8d879d077f11)