Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | |
2007-02-08 | cont at top of loop, little clean-ups | Brian | |
2007-02-08 | fix broken BRA for return stmts | Brian | |
2007-02-08 | Use conditional break in for/do/while loops. | Brian | |
2007-02-07 | high vs. low level if/then/else code emit | Brian | |
2007-02-07 | Use IR_LOOP to represent do-while and for-loops. | Brian | |
Also, start moving high vs. low-level instruction selection into slang_emit.c | |||
2007-02-06 | Implement CONT, improve BRK. | Brian | |
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes. After emitting loop, walk over the linked list, filling in the CONT/BRK instruction's BranchTarget field (location of the ENDLOOP instruction, or one past). | |||
2007-02-06 | replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP | Brian | |
2007-02-06 | redo IR_IF node, removing IR_ELSE, IR_ENDIF | Brian | |
2007-02-05 | BRK instruction's BranchTarget field now used for efficiently breaking out ↵ | Brian | |
of loops. BRK's BranchTarget field actually points to the top of the loop, not the bottom, since we don't know the later's location yet. In the interpreter, basically do an indirect jump to update the PC. | |||
2007-02-05 | Use IR node's BranchNode field for IF/ELSE/ENDIF instructions. | Brian | |
This allows us to back-patch the IF/ELSE instruction's BranchTarget field to point to the location of the ELSE/ENDIF instructions. No longer have to search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate IF/ELSE instructions into conditional/unconditional BRA instructions. | |||
2007-02-05 | Initial implementation of high-level flow-control instructions. | Brian | |
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work. Disabled by default though until better tested. Implemented IR_NOT, but needs optimization. | |||
2007-02-05 | Initial support of loop and subroutine instructions. | Brian | |
New high-level flow-control instructions, both at IR level and GPU instructions for looping and subroutines. | |||
2007-02-02 | fix emit_tex() breakage | Brian | |
2007-01-31 | Overhaul handling of writemasks/swizzling. This fixes two problem cases: | Brian | |
vec2 v; v.x = v.y = 1.0; // chained assignment vec4 v; v.zx = vec2(a,b); // swizzled writemask | |||
2007-01-31 | New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with ↵ | Brian | |
instruction saturate-write option. Not finished yet. | |||
2007-01-28 | noise functions | Brian | |
2007-01-28 | combine emit_unop(), emit_binop(), emit_triop() into emit_arith() | Brian | |
2007-01-28 | implement mix() with LRP instruction | Brian | |
2007-01-28 | Lots of vartable clean-ups, fixes. Report an error message when we run out | Brian | |
of registers, rather than crash. | |||
2007-01-28 | minor clean-ups | Brian | |
2007-01-27 | Clean-up of var/temp allocation function parameters. | Brian | |
2007-01-27 | Improved register allocation: allow four 'float' vars or temporaries to ↵ | Brian | |
share a single register. Clean-up needed. | |||
2007-01-23 | fix g++ warnings/errors | Brian | |
2007-01-20 | Add a simple mechanism for annotating instructions for easier debugging. | Brian | |
2007-01-20 | optimization: emit MAD instructions when possible | Brian | |