Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-03-28 | remove IR_BREAK_IF_FALSE | Brian | |
2007-03-28 | Get rid of IR_CONT_IF_FALSE | Brian | |
2007-03-28 | Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere. | Brian | |
2007-03-28 | added some null ptr checks to handle error recovery | Brian | |
2007-03-28 | Use constant_to_src_reg() to simplify some code | Brian | |
2007-03-28 | Fix, clean-up code related to comparisons, condition codes, etc. | Brian | |
2007-03-27 | Implement true CAL/RET subroutines. Some optimizations, clean-ups coming... | Brian | |
2007-03-26 | Checkpoint: 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-26 | Get rid of IR_JUMP and related code. | Brian | |
2007-03-26 | Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling. | Brian | |
2007-03-26 | remove debug abort() calls | Brian | |
2007-03-26 | Additional error checking for 'return' statements. | Brian | |
2007-03-26 | undo some debugging hacks | Brian | |
2007-03-26 | Fix a few issues with computing storage sizes with respect to swizzles. | Brian | |
2007-03-26 | remove incorrect assertions | Brian | |
2007-03-24 | move some code into new slang_ir.c file | Brian | |
2007-03-23 | Fix issues related to the 'continue' statement. | Brian | |
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. | |||
2007-03-23 | Add the ability to generate programs that doesn't use condition codes. | Brian | |
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. | |||
2007-03-23 | updated comment | Brian | |
2007-03-22 | Overhaul emit_compare() function. | Brian | |
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. | |||
2007-03-22 | First pass at implementing structure compares. | Brian | |
Need to improve this. There may be holes in a structure so we can't just blindly compare the full 4-float registers. | |||
2007-03-21 | Support for user-defined structures. | Brian | |
struct == and != operators not finished yet. Struct assignment works though. | |||
2007-03-14 | remove old assertion | Brian | |
2007-03-13 | disable some debug output | Brian | |
2007-03-13 | Shuffle some code around in the emit_tex() and emit_move() instructions. | Brian | |
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. | |||
2007-03-10 | add NULL ptr check in emit_cond() | Brian | |
2007-03-08 | Added IR_SLE and IR_SLT for <= and < operations. | Brian | |
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. | |||
2007-03-08 | fix tmp storage problem for IR_I_TO_F | Brian | |
2007-03-08 | fix assertion | Brian | |
2007-03-08 | IR_CJUMP0/1 no longer used/needed | Brian | |
2007-03-08 | remove old assertion | Brian | |
2007-03-07 | remove unneeded return stmt | Brian | |
2007-03-07 | Fix problem with nested function calls such as y = f(f(x)) | Brian | |
Replace CurFunction with curFuncEndLabel. | |||
2007-03-06 | fix some int arithmetic problems | Brian | |
2007-02-26 | Add EmitHighLevelInstructions, EmitComments booleans to gl_shader_state. | Brian | |
These control code generation options. May be overridden by drivers, debuggers, etc. | |||
2007-02-26 | Overhaul of error handling. | Brian | |
2007-02-26 | Use new slang_emit_info struct for passing context info around. | Brian | |
2007-02-23 | comments, clean-up | Brian | |
2007-02-23 | Replace slang_ir_node::Target w/ Field. Remove Comment field. Clean-up. | Brian | |
2007-02-23 | Re-implement branching with slang_labels. | Brian | |
This eliminates the NOP instructions that had been used as placeholders for branch targets. Also, fix "return" statement bug. | |||
2007-02-22 | debug code for emitting variable allocation comments | Brian | |
2007-02-21 | remove dead code | Brian | |
2007-02-21 | adjustments to STATE_ token layout/format so token[1] is always the array index | Brian | |
2007-02-21 | checkpoint overhaul of pre-defined uniform code | Brian | |
2007-02-20 | clean-up, move IR_ELEMENT code | Brian | |
2007-02-20 | alloc IR_FIELD's Storage in codegen, like IR_ELEMENT | Brian | |
2007-02-20 | implement support for pre-defined uniform structs (state vars) | Brian | |
2007-02-16 | implement IR_I_TO_F | Brian | |
2007-02-09 | comments, etc | Brian | |
2007-02-08 | optimize conditional breaks/continues | Brian | |