summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_codegen.c
AgeCommit message (Collapse)Author
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: 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: 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: 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: glsl compiler function renamingBrian Paul
2008-12-12mesa: move some glsl compiler functions to different files to be more consistantBrian 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-11-26mesa: add missing type check for function callsBrian Paul
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: set flags for varying varsBrian Paul
2008-11-24mesa: add Flags field to gl_program_parameterBrian Paul
Only one flag defined so far: PROG_PARAM_CENTROID_BIT
2008-11-21mesa: issue error, don't crash, when calling a prototyped, but undefined ↵Brian Paul
function Bug #18659.
2008-11-21mesa: better variable name: s/aux/store/Brian Paul
2008-11-19mesa: 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.
2008-11-19mesa: updated commentBrian Paul
2008-11-13mesa: no longer need Writemask field in GLSL IR nodesBrian Paul
The Swizzle and Size fields carry all the info we need now.
2008-11-13mesa: remove some do-nothing GLSL codeBrian Paul
2008-11-10mesa: track initialization status of uniform variables. Plus, asst clean-ups.Brian Paul
2008-11-10mesa: 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.
2008-11-07mesa: add GLSL support for DP2, NRM3, NRM4 instructions (not actually ↵Brian Paul
emitted yet though)
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-09-25mesa: prevent the slang code generator from aborting when faced with a ↵Sam Hocevar
sampler variable redeclaration.
2008-08-25mesa: glsl: grab latest fixes from gallium-0.1 branchBrian Paul
Includes: 1. Fixes failed asserting about bad swizzles in src reg emit. 2. Tracks uniform var usage. 3. Emit exp() in terms of EXP2 instruction.
2008-08-16mesa: import latest GLSL code from gallium-0.1 branchBrian Paul
2008-08-06mesa: glsl: count number of temp regs usedHaihao Xiang
2008-07-29mesa: cast to fix warningBrian Paul
2008-07-29mesa: fix bug/failure in recursive function inliningBrian Paul
Fixes a failure for cases such as y = f(a, f(a, b)) All the usual tests still pass but regressions are possible...
2008-07-29mesa: remove stray debug codeBrian Paul
2008-07-29mesa: 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-29mesa: glsl: additional error detectionBrian Paul
Plus begin some fixes for vec/matrix constructors.
2008-07-29mesa: 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-29mesa: Silence compiler warning on windows.Michal Krol
2008-07-29mesa: glsl: mark constructor params as constBrian Paul