Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-05-01 | Rewrite of slang_inline_asm_function() to do full parameter/argument ↵ | Brian | |
substitution. We had been taking a short-cut w/ asm inlines by just using parameters in order rather than doing full formal parameter -> actual argument substitution like ordinary inlined function calls. This worked in all cases but one: mix() in which the parameters were used in a different order. This fixes bug 10821. | |||
2007-04-24 | fix double const, move an assertion | Karl Schultze | |
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-19 | remove invalid assertion | Brian | |
2007-04-19 | fix crash when program has invalid structure field | Brian | |
2007-04-18 | fix an uninitialized variable and a warning | Brian | |
2007-04-18 | record proper datatypes for uniforms/samplers | Brian | |
2007-04-18 | Start fixing some issues with uniform variables and their types. | Brian | |
2007-04-12 | Added sanity checking in _slang_sizeof_type_specifier() to be sure sizes are ↵ | Brian | |
what's expected. | |||
2007-04-10 | fix/work-around allocation bugs for non-square matrices | Brian | |
2007-04-09 | NULL ptr check | Brian | |
2007-04-08 | support for GLSL 1.20 non-square matrices | Brian | |
2007-03-31 | fix scoping mistake in previous commit that checked for writable LHSs | Brian | |
2007-03-30 | check that LHS of assignment is writable | Brian | |
2007-03-28 | Handle logical NOT and XOR without library functions. Results in much ↵ | Brian | |
tighter code. | |||
2007-03-28 | don't generate IR_BREAK_IF_FALSE | Brian | |
2007-03-28 | simplify, clean-up break/cont code | Brian | |
2007-03-28 | added missing returns after slang_info_log_error() calls | Brian | |
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-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 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 | 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-24 | fix mem leak | 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 | minor tweaks | 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-21 | Support for user-defined structures. | Brian | |
struct == and != operators not finished yet. Struct assignment works though. | |||
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-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-09 | add NULL ptr check | Brian | |
2007-03-08 | fix broken vec4_seq, vec4_sne instructions | 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 | ; and {} statements were broken | Brian | |
2007-03-08 | remove unused new_cjump() | Brian | |
2007-03-08 | rewrite _slang_gen_select() to use IF node | Brian | |
2007-03-08 | s/_slang_gen_hl_if/_slang_gen_if/ | Brian | |
2007-03-08 | s/_slang_gen_hl_if/_slang_gen_if/ | Brian | |
2007-03-08 | check for attempted writes to read-only vars | Brian | |
2007-03-08 | Rework matrix-related code. | Brian | |
GLSL matrices are stored in column-major order while GL_ARB_vertex/fragment_program use row-major. So, need to use STATE_MATRIX_TRANSPOSE for built-in matrices. Unfortunately, this means that the expression M * V isn't very efficient since we need to extract the rows out of M. And that's the typical expression for vertex transformation: gl_ModelViewProjectionMatrix * gl_Position. Solve this inefficiency by looking for M*V expressions and replacing them with V*Transpose(M). Also, add support for GLSL 1.20's MatrixTranspose, Inverse and InverseTranspose matrices. |