summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang
AgeCommit message (Collapse)Author
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-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-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-24mesa: add gl_program::Input/OutputFlags[] arrayBrian Paul
These arrays will indicate per-input or per-output options for vertex/fragment programs such as centroid-sampling and invariance.
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
2008-11-24mesa: set flags for varying varsBrian Paul
2008-11-24mesa: dump/debug varying vars listBrian 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: minor comment reformatttingBrian Paul
2008-11-19mesa: glsl compiler debug codeBrian Paul
RETURN0 macro reports file/line before returning zero.
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: don't realloc instruction buffer so oftenBrian Paul
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: revamp GLSL instruction emit codeBrian Paul
This is a step toward better array handling code. In particular, when more than one operand of an instruction uses indirect addressing, we'll need some temporary instructions and registers. By converting IR storage to instruction operands all in one place (emit_instruction()) we can be smarter about this. Also, somewhat better handling of dst register swizzle/writemask handling. This results in tighter writemasks on some instructions which is good for SOA execution. And, cleaner instruction commenting with inst_comment(). Next: remove some more dead code and additional clean-ups...
2008-11-13mesa: remove some do-nothing GLSL codeBrian Paul