Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-10-26 | Re-implement GLSL texture sampler variables. | Brian | |
GLSL sampler variables indicate which texture unit to use for TEX instructions. Previously, this was baked into the fragment/vertex program and couldn't be readily changed once set. Now, SamplerUnits[] array indicates which texture unit is to be used for each sampler variable. These values are set with glUniform1i(). This is extra state that must be passed to the fragment/vertex program executor at runtime. | |||
2007-07-26 | Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion. | Brian | |
2007-07-04 | Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵ | Brian | |
of -I flags. | |||
2007-04-21 | Remove all the USE_MEMPOOL debug code. | Brian | |
2007-04-21 | Use new memory pool allocator. Lots of debug code still in place... | Brian | |
2007-04-21 | free subroutine array (fix mem leak) | Brian | |
2007-04-16 | Fix some assertions that could occur when an error was earlier logged. | Brian | |
2007-04-09 | undo a debug/test change | Brian | |
2007-03-31 | always emit BGN/ENDSUB, for now anyway | Brian | |
2007-03-28 | cond code fix | Brian | |
2007-03-28 | fix cond code swizzle bug | Brian | |
2007-03-28 | optimization for the emit_not() function | Brian | |
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 | |