summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang
AgeCommit message (Collapse)Author
2009-06-26glsl: added slang_variable::is_global fieldBrian Paul
2009-06-26glsl: silence a problem warningBrian Paul
2009-06-26glsl: code refactoring for return statementsBrian Paul
2009-06-26glsl: fix assorted regressions related to early-return-removalBrian Paul
2009-06-26glsl: comments, field reorderingBrian Paul
2009-06-26glsl: rework loop nesting codeBrian Paul
2009-06-26glsl: remove test for loop unrolling when we hit conditional cont/breakBrian Paul
This is no longer needed since we added the new _slang_loop_contains_continue_or_break() function/test.
2009-06-26glsl: checkpoint: predicate __retVal = expr with __returnFlagBrian Paul
The glean "function with early return (1)" test passes now.
2009-06-26glsl: use new helper functions in _slang_gen_logical_and/or()Brian Paul
2009-06-26glsl: add commentsBrian Paul
2009-06-26glsl: checkpoint: replace 'return' with __returnFlag=true;Brian Paul
Needed for "remove early returns" transformation.
2009-06-26glsl: fix up scoping for parent/children in slang_operation_copy()Brian Paul
This will need more testing, but no regressions seen so far.
2009-06-26glsl: fix uninitialized var in _slang_gen_for_without_continue()Brian Paul
2009-06-26glsl: added slang_operation_free_children()Brian Paul
2009-06-26glsl: added slang_oper_num_children() helperBrian Paul
2009-06-26glsl: check-point: declare _returnFlagBrian Paul
2009-06-26glsl: added slang_operation_insert_child()Brian Paul
2009-06-26glsl: use slang_generate_declaration() to consolidate some codeBrian Paul
2009-06-26glsl: remove obsolete commentBrian Paul
2009-06-26glsl: implement _slang_gen_while_without_continue()Brian Paul
2009-06-26glsl: fix a bug involving 'continue' in 'for' loopsBrian Paul
Need to execute the for loop's increment code before we continue. Add a slang_assemble_ctx::CurLoopOper field to keep track of the containing loop and avoid the "cont if true" path in this situation. Plus, assorted clean-ups.
2009-06-26glsl: added slang_oper_child_const()Brian Paul
2009-06-26glsl: use _slang_loop_contains_continue_or_break() to check for unrollingBrian Paul
The previous test failed for nested loops.
2009-06-26glsl: use new _slang_loop_contains_continue() helper functionBrian Paul
2009-06-26glsl: implement continue->break translation for do-while loopsBrian Paul
2009-06-26glsl: added slang_operation_literal_int/bool() helper functionsBrian Paul
2009-06-26glsl: don't allocate 0-length children array in slang_operation_copy()Brian Paul
2009-06-26glsl: remove debug code, misc clean-upBrian Paul
2009-06-26glsl: implement continue->break transformation for for-loopsBrian Paul
2009-06-26glsl: added slang_operation_add_children() and slang_oper_child() helpersBrian Paul
2009-06-26glsl: added slang_assemble_ctx::EmitContReturn field, initBrian Paul
2009-06-26glsl: don't unroll loops containing continue/breakBrian Paul
Just search the AST in _slang_can_unroll_for_loop().
2009-06-26Revert "slang: if/else/break & if/else/continue work for unrolled loops"Brian Paul
We should just check if the loop contains a continue/break in the _slang_can_unroll_for_loop() test function... This reverts commit 989856bde47d699d7e18798df4013fbf962e1d4b. Conflicts: src/mesa/shader/slang/slang_codegen.h
2009-06-22mesa: rename MAX_VERTEX_ATTRIBS to MAX_VERTEX_GENERIC_ATTRIBSBrian Paul
Be clearer that this is the number of generic vertex program/shader attributes, not counting the legacy attributes (pos, normal, color, etc). (cherry picked from commit 4a95185c9f30c2de7a03bb1a0653f51b53b1111d)
2009-06-10glsl: fix warnings, update comments, s/TRUE/GL_TRUE/Brian Paul
(cherry picked from master, commit 7fdd64ab29576e607434fb8c82ddfa61e8ea6aa8)
2009-06-10glsl: Handle continuation characters in preprocessor.Brian Paul
(cherry picked from master, commit cc22620e4b11425997f3bc1fc70f4c88cec22d2e)
2009-06-10glsl: Fix symbol replacement handling in preprocessor.Brian Paul
(cherry picked from master, commit d9617deb008b75f4a605a30408aeb1948139c33e)
2009-06-09glsl: Expand nested preprocessor macros.Brian Paul
(cherry picked from master, commit ef8caec29ae73bb2bbeb48f0578d839ef29348cd)
2009-06-08glsl: Fix preprocessor define argument parsing for dead sections.Brian Paul
(cherry picked from master, commit 19a54d9f1055c366fd77026dd67007a8d5921f58)
2009-04-27Avoid a segfault in shader compilationRobert Ellison
If a shader reaches an out-of-memory condition while adding a new function (reallocating the function list), a segfault will occur during cleanup (because the num_functions field is non-zero, but the functions pointer is NULL). This fixes that segfault by zeroing out the num_functions field if reallocation fails.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
There's really no need for two negation fields. This came from the GL_NV_fragment_program extension. The new, unified Negate bitfield applies after the absolute value step.
2009-04-07glsl: don't optimize program if MESA_GLSL=noptBrian Paul
2009-04-02glsl: fix segfault in linker when vertex or fragment shader was missingBrian Paul
2009-04-01glsl: implement compiling/linking of separate compilation unitsBrian Paul
A shader program may consist of multiple shaders (source code units). If we find there are unresolved functions after compiling the unit that defines main(), we'll concatenate all the respective vertex or fragment shaders then recompile. This isn't foolproof but should work in most cases.
2009-04-01glsl: fix texgen state variable tokens in emit_statevars()Brian Paul
This fixes broken variable indexing into the gl_Eye/ObjectPlaneS/T/R/Q arrays. See bug 20986.
2009-03-25slang: ensure structure elements have their array length setAlan Hourihane
2009-03-20slang: Use _mesa_snprintf() wrapper.Michal Krol
2009-03-19slang: initialize the contextAlan Hourihane
2009-03-19slang: support uniform arraysAlan Hourihane
2009-03-19glsl: change GLSL #pragma initializationBrian Paul
Initialize the shader's pragma settings before calling the compiler. Added pragma "Ignore" fields to allow overriding the #pragma directives found in shader source code.