Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-03-28 | check that if/while/do-while condition is boolean or scalar | Brian | |
2007-03-27 | Implement true CAL/RET subroutines. Some optimizations, clean-ups coming... | Brian | |
2007-03-27 | added _slang_label_new_unique() | 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 | dead code elimination for constant-valued if/then/else | 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-26 | disable printing shader program debug info | Brian | |
2007-03-26 | disable free() until other issues can be fixed... | Brian | |
2007-03-24 | fix mem leak | Brian | |
2007-03-24 | disable free(var->aux) -- can lead to segfault | Brian | |
2007-03-24 | fix mem leak | Brian | |
2007-03-24 | fix some mem leaks | Brian | |
2007-03-24 | fix mistake in _slang_free_ir() | Brian | |
2007-03-24 | Properly free the slang_ir_node->Store data (use ref counting). | Brian | |
2007-03-24 | move some code into new slang_ir.c file | Brian | |
2007-03-24 | IR utility functions | 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 | minor tweaks | Brian | |
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-22 | In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵ | Brian | |
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(). | |||
2007-03-21 | Support for user-defined structures. | Brian | |
struct == and != operators not finished yet. Struct assignment works though. | |||
2007-03-21 | disable apparently unused code | Brian | |
2007-03-21 | indent | Brian | |
2007-03-14 | s/Tranpose/Transpose/ | Brian | |
2007-03-14 | continue prev check-in: save ptr to slang_function for SLANG_OPER_CALL | Brian | |
2007-03-14 | After we've found the slang_function ptr for a SLANG_OPER_CALL node, save ↵ | Brian | |
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. | |||
2007-03-14 | make _slang_typeof_function() static | Brian | |
2007-03-14 | remove old assertion | Brian | |
2007-03-13 | Check for, simplify vec2/3/4(x). Only do call adapting for constructors. | Brian | |
2007-03-13 | improve literal printing | Brian | |
2007-03-13 | disable some debug output | Brian | |
2007-03-13 | better error msg for undefined function, disable some debug output | Brian | |
2007-03-13 | get rid of float_multiply, float_add, float_divide | 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-12 | Implement GL_ARB_texture_rectangle support | Brian | |
This includes the sampler2DRect and sampler2DRectShadow types and the texture2DRect(), texture2DRectProj(), etc. built-in functions. | |||
2007-03-12 | Add array bounds checking, fix memleaks, add null ptr checks. | Brian | |
2007-03-11 | add NULL ptr check | Brian | |
2007-03-11 | Implement support for GL_ARB_draw_buffers with GL_MAX_DRAW_BUFFERS > 1. | Brian | |
GL_MAX_DRAW_BUFFERS is currently 4. Added gl_FragData[] output for fragment programs. In _swrast_write_rgba_span() loop over the color outputs/renderbuffers. | |||
2007-03-10 | Implement gl_FrontFacing for fragment shaders. | Brian | |
For the time being, we put the gl_FrontFacing value in the FOGC.Y input register. Combining FOGC and FrontFacing in one register is a bit of a hack and may need to be changed someday. | |||
2007-03-10 | add NULL ptr check in emit_cond() | Brian | |
2007-03-09 | use gl_ModelViewProjectionMatrixTranspose in ftransform() | Brian | |