summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_codegen.c
AgeCommit message (Collapse)Author
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: add missing type check for function callsBrian Paul
(cherry picked from commit 001b1cbb0dacf76dd09cda56840c30226abd3534)
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: set flags for varying varsBrian Paul
(cherry picked from commit 3197954554bfc492283c7db009d10ab408664cad)
2009-01-06mesa: add Flags field to gl_program_parameterBrian Paul
Only one flag defined so far: PROG_PARAM_CENTROID_BIT (cherry picked from commit 0f228d7ab3b7c03328df369b8db50c469ac5dcd6)
2009-01-06mesa: issue error, don't crash, when calling a prototyped, but undefined ↵Brian Paul
function Bug #18659. (cherry picked from commit 4f05893415a2d6f29b29f4daf991ea95a1891a81)
2009-01-06mesa: better variable name: s/aux/store/Brian Paul
(cherry picked from commit b63a31b36f2e1a198c214f41e0518991b1a8fa49)
2009-01-06mesa: rework GLSL array code generationBrian Paul
We now express arrays in terms of indirect addressing. For example: dst = a[i]; becomes: MOV dst, TEMP[1 + TEMP[2].y]; At instruction-emit time indirect addressing is converted into ARL/ ADDR-relative form: ARL ADDR.x, TEMP[2].y; MOV dst, TEMP[1 + ADDR.x]; This fixes a number of array-related issues. Arrays of arrays and complex array/struct nesting works now. There may be some regressions, but more work is coming. (cherry picked from commit ae0ff8097b85d3537a7be1674d55a44a9bd6018e)
2009-01-06mesa: updated commentBrian Paul
(cherry picked from commit d9fa9e3290611944d5fd52301645367eeeb24f03)
2009-01-06mesa: no longer need Writemask field in GLSL IR nodesBrian Paul
The Swizzle and Size fields carry all the info we need now. (cherry picked from commit 80d6379722a1249ce13db79a898d340644936f67)
2009-01-06mesa: remove some do-nothing GLSL codeBrian Paul
(cherry picked from commit 4c167f8fc1e56b6c82d8917c237e70531e3d57b9)
2009-01-06mesa: track initialization status of uniform variables. Plus, asst clean-ups.Brian Paul
(cherry picked from commit 2d76a0d77af7be9539f89cba37ce84338c1cdda4)
2009-01-06mesa: initial support for uniform variable initializers.Brian Paul
This lets one specify initial values for uniforms in the code, avoiding the need to call glUniform() in some cases. (cherry picked from commit 379ff8c9567940ebff44870cf7b0202882445fa6)
2008-11-05mesa: fix a GLSL array indexing codegen bugBrian Paul
Expressions like array[i] + array[j] didn't work properly before.
2008-11-04mesa: fix float-valued GLSL vertex attribute variablesBrian Paul
The swizzle mask for such variables wasn't set up properly.
2008-11-01mesa: fix assignment / parameter passing of sampler typesBrian Paul
2008-10-31mesa: fix copy/paste error in GLSL error msgBrian Paul
2008-08-19mesa: glsl: more writemask error checkingBrian Paul
2008-08-19mesa: glsl: added some post incr/decr error checksBrian Paul
2008-08-19mesa: glsl: limit function matching through castingBrian Paul
2008-08-15mesa: glsl: fix linking of varying vars which are arraysBrian Paul
2008-08-12mesa: glsl: fix error detection of writing to read-only variablesBrian Paul
2008-08-12mesa: glsl: better error messagesBrian Paul
2008-08-06mesa: glsl: check for rect tex samplersBrian Paul
2008-08-06mesa: glsl: disallow initializers for varying varsBrian Paul
2008-08-06mesa: glsl: more type checking for attribute/varying/uniform vars/localsBrian Paul
2008-08-06mesa: glsl: check that attribute vars are of float/vec/mat typeBrian Paul
2008-08-06mesa: glsl: more assignment type checkingBrian Paul
Also that const declarations have initializers and that uniforms/samplers can't have initializers.
2008-08-06mesa: glsl: count number of temp regs usedHaihao Xiang
2008-08-05mesa: glsl: code consolidation in _slang_gen_declaration()Brian Paul
2008-08-05mesa: glsl: additional type checking for assignments, inequalitiesBrian Paul
2008-08-05mesa: glsl: re-enable assignment type checkingBrian 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-05mesa: glsl: disable broken assignment type checking for nowBrian Paul
2008-08-04mesa: glsl: check struct types in _slang_assignment_compatible()Brian Paul
2008-08-04mesa: glsl: varying vars can't be user-defined structsBrian Paul
2008-08-04mesa: glsl: if/while/do condition must be booleanBrian Paul
2008-08-04mesa: glsl: additional type checking for ?: and = operatorsBrian Paul
2008-08-04mesa: glsl: don't allow comparision of arraysBrian Paul
2008-08-04mesa: glsl: error on const-qualified array declarationsBrian Paul
2008-08-04mesa: glsl: added null ptr checkBrian Paul
2008-08-04mesa: glsl: check that rhs of const var initializer is also constBrian Paul
2008-08-04mesa: glsl: fix initialize size error checkBrian Paul
2008-08-04mesa: glsl: added initializer size/type error checkingBrian Paul
2008-07-25mesa: glsl: assorted fixes for resolving polymorphic functionsBrian Paul
Plus, - fix some issues in casting function arguments to format param types. - fix some vec/mat constructor bugs - find/report more syntax/semantic errors
2008-07-25mesa: glsl: additional error detectionBrian Paul
Plus begin some fixes for vec/matrix constructors.
2008-07-24mesa: gls: fix broken else clause of conditional break/continueBrian Paul
In the following case: for () { if (cond) break; // or continue; else something; } The "something" block didn't get emitted.
2008-07-24mesa: Silence compiler warning on windows.Michal Krol
2008-07-23mesa: glsl: mark constructor params as constBrian Paul
2008-07-22mesa: glsl: rework swizzle storage handlingBrian Paul
Build on the heirarchal approach implemented for arrays/structs.