Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-08-05 | mesa: glsl: re-org of intermediate/temp storage | Brian Paul | |
Simplify the code for allocating storage for intermediate results. Use fewer temps in some cases. Also, use new asm vec4_move intrinsic instead of regular assigments in various constructors. For example: float f; vec3 v; v.xyz = f; is not legal GLSL, so do this instead: __asm vec4_move v.xyz, f; // note: f will auto-expand into f.xxxx Plus, fix assorted bugs in structure comparison. | |||
2008-07-24 | mesa: Prefix main includes with dir to avoid conflicts. | José Fonseca | |
Some of the headers in src/mesa/main have pretty common names which easily conflict with third-party code, e.g. config.h | |||
2008-07-18 | mesa: rework array/struct addressing code. | Brian Paul | |
The slang_ir_storage type now has a pointer to parent storage to represent storage of an array element within an array, or a field within a struct. This fixes some problems related to addressing of fields/elements in non- trivial cases. More work to follow. | |||
2008-06-12 | glsl: implement variable array indexes | Zack Rusin | |
2007-07-26 | Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion. | Brian | |
2007-03-28 | remove IR_BREAK_IF_FALSE | Brian | |
2007-03-28 | Get rid of IR_CONT_IF_FALSE | 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-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-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-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-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 | IR_CJUMP0/1 no longer used/needed | 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-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 | 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 | 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-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 | implement mix() with LRP instruction | Brian | |
2007-01-27 | Clean-up of var/temp allocation function parameters. | Brian | |
2007-01-20 | Initial implementation of OPCODE_IF/ELSE/ENDIF instructions. | Brian | |
2007-01-19 | Implement do/while loops. Replace IR_CJUMP with IR_CJUMP0 and IR_CJUMP1 so | Brian | |
we can either jump on zero, or non-zero predicate. | |||
2007-01-19 | Implement fragment discard/kill. | Brian | |
2007-01-18 | Reimplement code for swizzling so that expressions like (p+q).x for vectors ↵ | Brian | |
p and q works correctly. | |||
2007-01-17 | added IR_F_TO_I, update comments | Brian | |
2007-01-15 | Redo the way array indexes are handled. Resolve storage location at code ↵ | Brian | |
emit time, not codegen time. | |||
2007-01-13 | Rework code related to temp register allocation, both for user variables | Brian | |
and expression temporarires. Much better register utilization now. Lots of other fixes. The OpenGL GLSL "orange book" brick shader demo works now. | |||
2007-01-09 | Implement shadow samplers and dFdx(), dFdy() code generation. | Brian | |
2007-01-08 | Implement projective texture sampling, 3D textures. Disable some debug output. | Brian | |
2007-01-05 | Checkpoint glsl compiler work: sampler uniforms now implemented, linked ↵ | Brian | |
properly. | |||
2007-01-04 | initial code to get texture sampling limping along | Brian | |
2006-12-22 | fix typos | Brian | |
2006-12-21 | added IR_NEG for negation | Brian | |
2006-12-20 | New IR_COND node for evaluating conditional expressions (for if/while/for). | Brian | |
2006-12-15 | start implementing relational operators | Brian | |
2006-12-13 | Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly ↵ | Brian | |
instructions. |