Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | init tmpNode to zeros | Brian | 2008-03-14 | 1 | -0/+1 |
| | |||||
* | mesa: fix emit_clamp() so that we don't use an output register as temporary | Brian | 2008-03-14 | 1 | -3/+12 |
| | | | | | | 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). | ||||
* | set fp->UsesKill when emitting OPCODE_KIL | Brian | 2007-11-27 | 1 | -2/+8 |
| | |||||
* | Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on ↵ | Brian | 2007-11-23 | 1 | -0/+4 |
| | | | | variable array indexes. | ||||
* | fix comment: s/branch/kill/ | Brian | 2007-10-02 | 1 | -1/+1 |
| | |||||
* | Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion. | Brian | 2007-07-26 | 1 | -7/+9 |
| | |||||
* | Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵ | Brian | 2007-07-04 | 1 | -7/+7 |
| | | | | of -I flags. | ||||
* | Remove all the USE_MEMPOOL debug code. | Brian | 2007-04-21 | 1 | -8/+0 |
| | |||||
* | Use new memory pool allocator. Lots of debug code still in place... | Brian | 2007-04-21 | 1 | -0/+9 |
| | |||||
* | free subroutine array (fix mem leak) | Brian | 2007-04-21 | 1 | -1/+8 |
| | |||||
* | Fix some assertions that could occur when an error was earlier logged. | Brian | 2007-04-16 | 1 | -4/+19 |
| | |||||
* | undo a debug/test change | Brian | 2007-04-09 | 1 | -1/+1 |
| | |||||
* | always emit BGN/ENDSUB, for now anyway | Brian | 2007-03-31 | 1 | -4/+1 |
| | |||||
* | cond code fix | Brian | 2007-03-28 | 1 | -1/+6 |
| | |||||
* | fix cond code swizzle bug | Brian | 2007-03-28 | 1 | -0/+5 |
| | |||||
* | optimization for the emit_not() function | Brian | 2007-03-28 | 1 | -3/+28 |
| | |||||
* | remove IR_BREAK_IF_FALSE | Brian | 2007-03-28 | 1 | -41/+13 |
| | |||||
* | Get rid of IR_CONT_IF_FALSE | Brian | 2007-03-28 | 1 | -5/+1 |
| | |||||
* | Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere. | Brian | 2007-03-28 | 1 | -49/+66 |
| | |||||
* | added some null ptr checks to handle error recovery | Brian | 2007-03-28 | 1 | -2/+15 |
| | |||||
* | Use constant_to_src_reg() to simplify some code | Brian | 2007-03-28 | 1 | -19/+24 |
| | |||||
* | Fix, clean-up code related to comparisons, condition codes, etc. | Brian | 2007-03-28 | 1 | -47/+78 |
| | |||||
* | Implement true CAL/RET subroutines. Some optimizations, clean-ups coming... | Brian | 2007-03-27 | 1 | -17/+154 |
| | |||||
* | Checkpoint: implementing true CAL/RET instructions for subroutine calls. | Brian | 2007-03-26 | 1 | -13/+60 |
| | | | | | | 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. | ||||
* | Get rid of IR_JUMP and related code. | Brian | 2007-03-26 | 1 | -20/+1 |
| | |||||
* | Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling. | Brian | 2007-03-26 | 1 | -1/+18 |
| | |||||
* | remove debug abort() calls | Brian | 2007-03-26 | 1 | -1/+0 |
| | |||||
* | Additional error checking for 'return' statements. | Brian | 2007-03-26 | 1 | -3/+4 |
| | |||||
* | undo some debugging hacks | Brian | 2007-03-26 | 1 | -2/+2 |
| | |||||
* | Fix a few issues with computing storage sizes with respect to swizzles. | Brian | 2007-03-26 | 1 | -39/+26 |
| | |||||
* | remove incorrect assertions | Brian | 2007-03-26 | 1 | -2/+0 |
| | |||||
* | move some code into new slang_ir.c file | Brian | 2007-03-24 | 1 | -314/+1 |
| | |||||
* | Fix issues related to the 'continue' statement. | Brian | 2007-03-23 | 1 | -12/+67 |
| | | | | | | | | IR_LOOP now has two children: the body code, and the tail code. Tail code is the "i++" part of a for-loop, or the expression at the end of a "do {} while(expr);" loop. "continue" translates into: "execute tail code; CONT;" Also, the test for infinite do/while loops was incorrect. | ||||
* | Add the ability to generate programs that doesn't use condition codes. | Brian | 2007-03-23 | 1 | -37/+86 |
| | | | | | | | ctx->Shader.EmitCondCodes determines if we use condition codes. If not, IF statement uses first operand's X component as the condition. Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle the common cases of conditional break/continue. | ||||
* | updated comment | Brian | 2007-03-23 | 1 | -1/+1 |
| | |||||
* | Overhaul emit_compare() function. | Brian | 2007-03-22 | 1 | -27/+129 |
| | | | | | | | | Previously, comparing vec2, vec3, vec4 was broken. Added IR_EQUAL, IR_NOTEQUAL nodes/operators to compute boolean equality/inequality vs. IR_SEQUAL/IR_SNEQUAL which work component-wise. Use IR_EQUAL/IR_NOTEQUAL for the == and != operators. To compute vec4 equality, use SNE, DP4, SEQ instruction sequence. | ||||
* | First pass at implementing structure compares. | Brian | 2007-03-22 | 1 | -9/+28 |
| | | | | | Need to improve this. There may be holes in a structure so we can't just blindly compare the full 4-float registers. | ||||
* | Support for user-defined structures. | Brian | 2007-03-21 | 1 | -7/+65 |
| | | | | struct == and != operators not finished yet. Struct assignment works though. | ||||
* | remove old assertion | Brian | 2007-03-14 | 1 | -1/+0 |
| | |||||
* | disable some debug output | Brian | 2007-03-13 | 1 | -1/+1 |
| | |||||
* | Shuffle some code around in the emit_tex() and emit_move() instructions. | Brian | 2007-03-13 | 1 | -9/+16 |
| | | | | | | | Note that the inst ptr returned by new_instruction() may become invalid after calling emit_() since the emit functions may allocate new instructions which is done vial realloc(). Also, add some new assertions to try to catch this kind of bug. | ||||
* | add NULL ptr check in emit_cond() | Brian | 2007-03-10 | 1 | -2/+6 |
| | |||||
* | Added IR_SLE and IR_SLT for <= and < operations. | Brian | 2007-03-08 | 1 | -0/+4 |
| | | | | | | Using IR_SGE and IR_SGT with transposed args doesn't work since the __asm calls don't do argument matching by name, but by position. This fixes the broken lessThan() and lessThanEqual() functions. | ||||
* | fix tmp storage problem for IR_I_TO_F | Brian | 2007-03-08 | 1 | -0/+4 |
| | |||||
* | fix assertion | Brian | 2007-03-08 | 1 | -1/+1 |
| | |||||
* | IR_CJUMP0/1 no longer used/needed | Brian | 2007-03-08 | 1 | -34/+1 |
| | |||||
* | remove old assertion | Brian | 2007-03-08 | 1 | -1/+0 |
| | |||||
* | remove unneeded return stmt | Brian | 2007-03-07 | 1 | -1/+0 |
| | |||||
* | Fix problem with nested function calls such as y = f(f(x)) | Brian | 2007-03-07 | 1 | -0/+4 |
| | | | | Replace CurFunction with curFuncEndLabel. | ||||
* | fix some int arithmetic problems | Brian | 2007-03-06 | 1 | -3/+7 |
| |