summaryrefslogtreecommitdiff
path: root/src/mesa/shader
AgeCommit message (Collapse)Author
2008-07-16mesa: fix temp re-use bug in emit_arith()Brian 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-16mesa: Silence compiler warnings on Windows.Michal Krol
2008-07-15mesa: add missing IR_LOG2 caseBrian Paul
2008-07-15mesa: regenerated fileBrian Paul
2008-07-15mesa: fix some broken /= operatorsBrian Paul
2008-07-15mesa: regenerated fileBrian Paul
2008-07-15mesa: fix some broken bool, bvec2, bvec3, bvec4 constructorsBrian Paul
2008-07-15mesa: fix storage size computation in emit_arith()Brian Paul
2008-07-15mesa: fix some function inlining bugsBrian Paul
Need to add local vars of original function to the new scope's variable list (though the DECLs were already present). In slang_operation_copy() call slang_replace_scope() for SLANG_OPER_BLOCK_NEW_SCOPE opers.
2008-07-15mesa: improved printingBrian Paul
2008-07-15mesa: Silence compiler warnings on Windows.Michal Krol
2008-07-14mesa: assemble main() after all other functionsBrian Paul
Before, main() had to come after any functions it called.
2008-07-09mesa: check for null shader->SourceBrian Paul
2008-07-09mesa: fix state.clip[n].plane parsing bug (bug 16611)Brian Paul
cherry-picked from master
2008-07-08mesa: implement glGetUniformiv() with new ctx->Driver functionBrian Paul
The old implementation could overwrite the caller's param buffer.
2008-07-08mesa: 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-08mesa: more debug outputBrian Paul
2008-07-08mesa: compute global var size before doing codegenBrian Paul
2008-07-08mesa: add missing VARYING case to storage_string()Brian Paul
2008-07-04mesa: generate GL_INVALID_OPERATION in _mesa_get_uniform_location() if ↵Brian Paul
program isn't linked
2008-07-03mesa: fix incorrect array size, added assertionBrian Paul
2008-07-03mesa: fix array storage allocation bugBrian Paul
2008-07-03mesa: regenerated fileBrian Paul
2008-07-03mesa: additional vec4 constructorBrian Paul
2008-07-03mesa: fix various error codesBrian Paul
2008-07-02mesa: additional GLSL built-in constantsBrian Paul
2008-07-02mesa: when linking a shader program, make sure all the shaders compiled OKBrian Paul
cherry-picked from master
2008-07-02mesa: added some debug code (disabled)Brian Paul
cherry-picked from master
2008-07-02mesa: fix error codes in _mesa_shader_source(), _mesa_get_shader_source()Brian Paul
If the 'shader' parameter is wrong, need to either generate GL_INVALID_VALUE or GL_INVALID_OPERATION. It depends on whether 'shader' actually names a 'program' or is a totally unknown ID. There might be other cases to fix... cherry-picked from master
2008-07-02mesa: regenerated fileBrian Paul
2008-07-02mesa: added some missing equal() notEqual() intrinsicsBrian Paul
cherry-picked from master
2008-07-02mesa: disable some debug assertionsBrian Paul
We can sometimes fail these assertions because of how swizzled storage works. Will revisit someday.
2008-07-02mesa: regenerated filesBrian Paul
2008-07-02mesa: fix all(bvec2) function typo, add missing bvec2/3/4() constuctorsBrian Paul
cherry-picked from master
2008-07-02mesa: added _mesa_print_swizzle() debugging helperBrian Paul
2008-07-01mesa: fix a GLSL vector subscript/writemask bugBrian Paul
This fixes a failure for cases like: vec4 v; v[1] *= 2.0; The v[1] actually acts like a writemask, equivalent to v.y The fix is a bit convoluted, but will do for now. cherry-picked from master
2008-07-01mesa: move some functionsBrian Paul
cherry-picked from master
2008-07-01mesa: make _slang_swizzle_swizzle() non-privateBrian Paul
cherry-picked from master
2008-07-01mesa: better function inlining in the presence of 'return' statementsBrian Paul
Before, the presence of a 'return' statement always prevented inlining a function. This was because we didn't want to accidentally return from the _calling_ function. We still need the semantic of 'return' when inlining but we can't always use unconditional branches/jumps (GPUs don't always support arbitrary branching). Now, we allow inlining functions w/ return if the return is the last statement in the function. This fixes the common case of a function that returns a value, such as: vec4 square(const in vec4 x) { return x * x; } which effectively compiles into: vec4 square(const in vec4 x) { __retVal = x * x; return; } The 'return' can be no-op'd now and we can inline the function. cherry-picked from master
2008-07-01mesa: add/fix some IrInfo entries for debugging purposesBrian Paul
cherry-picked from master
2008-06-28mesa: added null ptr checksBrian Paul
2008-06-28s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()Brian Paul
2008-06-24mesa: Use appropriate unsigned/signed, float/integer types.José Fonseca
2008-06-12silly bug: it's PROGRAM_VARYINGZack Rusin
2008-06-12glsl: make sure we replace all output reads with temporariesZack Rusin
test in if.glsl
2008-06-12mesa: remove unneeded #includeBrian Paul
2008-06-12almost forgot - RelAddr is a boolean so use it hereZack Rusin