Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fix scoping mistake in previous commit that checked for writable LHSs | Brian | 2007-03-31 | 1 | -1/+1 |
| | |||||
* | check that LHS of assignment is writable | Brian | 2007-03-30 | 1 | -1/+22 |
| | |||||
* | cond code fix | Brian | 2007-03-28 | 1 | -1/+6 |
| | |||||
* | fix cond code swizzle bug | Brian | 2007-03-28 | 1 | -0/+5 |
| | |||||
* | Handle logical NOT and XOR without library functions. Results in much ↵ | Brian | 2007-03-28 | 3 | -75/+90 |
| | | | | tighter code. | ||||
* | optimization for the emit_not() function | Brian | 2007-03-28 | 1 | -3/+28 |
| | |||||
* | remove IR_BREAK_IF_FALSE | Brian | 2007-03-28 | 3 | -46/+13 |
| | |||||
* | don't generate IR_BREAK_IF_FALSE | Brian | 2007-03-28 | 1 | -10/+17 |
| | |||||
* | Get rid of IR_CONT_IF_FALSE | Brian | 2007-03-28 | 3 | -10/+1 |
| | |||||
* | Don't emit OPCODE_CONT0/1, BRK0/1 instructions, clean-ups elsewhere. | Brian | 2007-03-28 | 1 | -49/+66 |
| | |||||
* | simplify, clean-up break/cont code | Brian | 2007-03-28 | 1 | -8/+10 |
| | |||||
* | 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 |
| | |||||
* | added missing returns after slang_info_log_error() calls | Brian | 2007-03-28 | 1 | -0/+2 |
| | |||||
* | Fix, clean-up code related to comparisons, condition codes, etc. | Brian | 2007-03-28 | 1 | -47/+78 |
| | |||||
* | check that if/while/do-while condition is boolean or scalar | Brian | 2007-03-28 | 1 | -0/+34 |
| | |||||
* | Implement true CAL/RET subroutines. Some optimizations, clean-ups coming... | Brian | 2007-03-27 | 2 | -19/+162 |
| | |||||
* | added _slang_label_new_unique() | Brian | 2007-03-27 | 2 | -0/+24 |
| | |||||
* | Checkpoint: implementing true CAL/RET instructions for subroutine calls. | Brian | 2007-03-26 | 4 | -13/+92 |
| | | | | | | 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 | 3 | -25/+2 |
| | |||||
* | Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling. | Brian | 2007-03-26 | 4 | -56/+65 |
| | |||||
* | remove debug abort() calls | Brian | 2007-03-26 | 4 | -14/+10 |
| | |||||
* | Additional error checking for 'return' statements. | Brian | 2007-03-26 | 3 | -9/+58 |
| | |||||
* | undo some debugging hacks | Brian | 2007-03-26 | 1 | -2/+2 |
| | |||||
* | dead code elimination for constant-valued if/then/else | Brian | 2007-03-26 | 1 | -0/+13 |
| | |||||
* | Fix a few issues with computing storage sizes with respect to swizzles. | Brian | 2007-03-26 | 2 | -42/+29 |
| | |||||
* | remove incorrect assertions | Brian | 2007-03-26 | 1 | -2/+0 |
| | |||||
* | disable printing shader program debug infopost-merge-glsl-compiler-1 | Brian | 2007-03-26 | 1 | -4/+4 |
| | |||||
* | disable free() until other issues can be fixed... | Brian | 2007-03-26 | 1 | -0/+2 |
| | |||||
* | fix mem leak | Brian | 2007-03-24 | 1 | -7/+3 |
| | |||||
* | disable free(var->aux) -- can lead to segfault | Brian | 2007-03-24 | 1 | -0/+2 |
| | |||||
* | fix mem leak | Brian | 2007-03-24 | 1 | -0/+3 |
| | |||||
* | fix some mem leaks | Brian | 2007-03-24 | 1 | -6/+9 |
| | |||||
* | fix mistake in _slang_free_ir() | Brian | 2007-03-24 | 1 | -1/+1 |
| | |||||
* | Properly free the slang_ir_node->Store data (use ref counting). | Brian | 2007-03-24 | 2 | -12/+46 |
| | |||||
* | move some code into new slang_ir.c file | Brian | 2007-03-24 | 3 | -334/+29 |
| | |||||
* | IR utility functions | Brian | 2007-03-24 | 1 | -0/+354 |
| | |||||
* | Fix issues related to the 'continue' statement. | Brian | 2007-03-23 | 3 | -52/+126 |
| | | | | | | | | 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. | ||||
* | minor tweaks | Brian | 2007-03-23 | 1 | -2/+2 |
| | |||||
* | updated comment | Brian | 2007-03-23 | 1 | -1/+1 |
| | |||||
* | Overhaul emit_compare() function. | Brian | 2007-03-22 | 3 | -36/+143 |
| | | | | | | | | 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. | ||||
* | In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵ | Brian | 2007-03-22 | 1 | -2/+2 |
| | | | | | | | | swizzleOut==NULL. There are times when we don't want to allow swizzling when searching for or adding vector constants. Passing NULL for swizzleOut disables swizzling. This fixes a constant/swizzle bug in link_uniform_vars(). | ||||
* | Support for user-defined structures. | Brian | 2007-03-21 | 3 | -23/+119 |
| | | | | struct == and != operators not finished yet. Struct assignment works though. | ||||
* | disable apparently unused code | Brian | 2007-03-21 | 2 | -0/+4 |
| | |||||
* | indent | Brian | 2007-03-21 | 1 | -107/+111 |
| | |||||
* | s/Tranpose/Transpose/ | Brian | 2007-03-14 | 1 | -4/+4 |
| | |||||
* | continue prev check-in: save ptr to slang_function for SLANG_OPER_CALL | Brian | 2007-03-14 | 1 | -5/+13 |
| | |||||
* | After we've found the slang_function ptr for a SLANG_OPER_CALL node, save ↵ | Brian | 2007-03-14 | 2 | -62/+76 |
| | | | | | | | | the ptr in the node for reuse. This can save a tremendous amount of time when resolving types in complex expressions. One particular shader was taking several minutes to compile but now compiles almost instantaneoulsy. |