summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_emit.c
AgeCommit message (Collapse)Author
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-07-29mesa: glsl: remove old assertion (fixes glsl/bitmap.c)Brian 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: glsl: fix/simplify array element handlingBrian Paul
Also fix bug in comparing large structs/arrays.
2008-07-29mesa: glsl: rework swizzle storage handlingBrian Paul
Build on the heirarchal approach implemented for arrays/structs.
2008-07-29mesa: initial support for GLSL struct/array comparisonsBrian Paul
2008-07-29mesa: added null ptr check (error handling case)Brian Paul
2008-07-29mesa: glsl: various writemask/swizzle improvements and clean-upsBrian Paul
2008-07-29mesa: rework array/struct addressing code.Brian Paul
The slang_ir_storage type now has a pointer to parent storage to represent storage of an array element within an array, or a field within a struct. This fixes some problems related to addressing of fields/elements in non- trivial cases. More work to follow.
2008-07-16mesa: fix temp re-use bug in emit_arith()Brian Paul
2008-07-15mesa: add missing IR_LOG2 caseBrian Paul
2008-07-15mesa: fix storage size computation in emit_arith()Brian Paul
2008-07-01mesa: make _slang_swizzle_swizzle() non-privateBrian Paul
2008-06-12glsl: implement variable array indexesZack Rusin
2008-05-14Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul
Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
2008-05-14fix some additional program refcounting bugsBrian Paul
2008-03-14init tmpNode to zerosBrian
2008-03-14mesa: fix emit_clamp() so that we don't use an output register as temporaryBrian
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary register for the intermediate value so we don't inadvertantly use an output register (which are write-only on some GPUs).
2007-11-27set fp->UsesKill when emitting OPCODE_KILBrian
2007-11-23Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on ↵Brian
variable array indexes.
2007-10-02fix comment: s/branch/kill/Brian
2007-07-26Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion.Brian
2007-07-04Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian
of -I flags.
2007-04-21Remove all the USE_MEMPOOL debug code.Brian
2007-04-21Use new memory pool allocator. Lots of debug code still in place...Brian
2007-04-21free subroutine array (fix mem leak)Brian
2007-04-16Fix some assertions that could occur when an error was earlier logged.Brian
2007-04-09undo a debug/test changeBrian
2007-03-31always emit BGN/ENDSUB, for now anywayBrian
2007-03-28cond code fixBrian
2007-03-28fix cond code swizzle bugBrian
2007-03-28optimization for the emit_not() functionBrian
2007-03-28remove IR_BREAK_IF_FALSEBrian
2007-03-28Get rid of IR_CONT_IF_FALSEBrian
2007-03-28Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere.Brian
2007-03-28added some null ptr checks to handle error recoveryBrian
2007-03-28Use constant_to_src_reg() to simplify some codeBrian
2007-03-28Fix, clean-up code related to comparisons, condition codes, etc.Brian
2007-03-27Implement true CAL/RET subroutines. Some optimizations, clean-ups coming...Brian
2007-03-26Checkpoint: implementing true CAL/RET instructions for subroutine calls.Brian
Also, found/fixed a code generation regression: the emit_swizzle() function was always returning NULL. This caused emit_move() to miss its chance at peephole optimization.
2007-03-26Get rid of IR_JUMP and related code.Brian
2007-03-26Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling.Brian
2007-03-26remove debug abort() callsBrian
2007-03-26Additional error checking for 'return' statements.Brian
2007-03-26undo some debugging hacksBrian
2007-03-26Fix a few issues with computing storage sizes with respect to swizzles.Brian
2007-03-26remove incorrect assertionsBrian