summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
Commit message (Collapse)AuthorAgeFilesLines
* check that if/while/do-while condition is boolean or scalarBrian2007-03-281-0/+34
|
* Implement true CAL/RET subroutines. Some optimizations, clean-ups coming...Brian2007-03-272-19/+162
|
* fix another pc off-by oneBrian2007-03-271-1/+2
|
* added _slang_label_new_unique()Brian2007-03-272-0/+24
|
* fix some printing issues related to subroutinesBrian2007-03-271-15/+29
|
* fix off by one error in OPCODE_RETBrian2007-03-271-3/+4
|
* s/SUB/BGNSUB/Brian2007-03-261-1/+1
|
* Checkpoint: implementing true CAL/RET instructions for subroutine calls.Brian2007-03-264-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.Brian2007-03-263-25/+2
|
* special case RETBrian2007-03-261-0/+7
|
* Get rid of SLANG_OPER_GOTO, start rewrite of 'return' handling.Brian2007-03-264-56/+65
|
* remove debug abort() callsBrian2007-03-264-14/+10
|
* Additional error checking for 'return' statements.Brian2007-03-263-9/+58
|
* undo some debugging hacksBrian2007-03-261-2/+2
|
* dead code elimination for constant-valued if/then/elseBrian2007-03-261-0/+13
|
* Fix a few issues with computing storage sizes with respect to swizzles.Brian2007-03-262-42/+29
|
* In _mesa_lookup_parameter_constant() make sure we return a full, 4-component ↵Brian2007-03-261-0/+4
| | | | swizzle.
* remove incorrect assertionsBrian2007-03-261-2/+0
|
* disable printing shader program debug infopost-merge-glsl-compiler-1Brian2007-03-261-4/+4
|
* disable free() until other issues can be fixed...Brian2007-03-261-0/+2
|
* fix mem leak, add commentsBrian2007-03-261-3/+15
|
* fix mem leakBrian2007-03-241-7/+3
|
* disable free(var->aux) -- can lead to segfaultBrian2007-03-241-0/+2
|
* fix mem leakBrian2007-03-241-0/+3
|
* fix some mem leaksBrian2007-03-241-6/+9
|
* Free shader-related context state: _mesa_free_shader_state()Brian2007-03-242-0/+19
|
* free prog->Attributes in _mesa_delete_program()Brian2007-03-241-1/+3
|
* fix mistake in _slang_free_ir()Brian2007-03-241-1/+1
|
* Properly free the slang_ir_node->Store data (use ref counting).Brian2007-03-242-12/+46
|
* move some code into new slang_ir.c fileBrian2007-03-243-334/+29
|
* IR utility functionsBrian2007-03-241-0/+354
|
* Fix issues related to the 'continue' statement.Brian2007-03-233-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.
* consolidate some codeBrian2007-03-231-7/+2
|
* Add the ability to generate programs that doesn't use condition codes.Brian2007-03-236-49/+168
| | | | | | | 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 tweaksBrian2007-03-231-2/+2
|
* updated commentBrian2007-03-231-1/+1
|
* updated commentBrian2007-03-221-1/+1
|
* Overhaul emit_compare() function.Brian2007-03-223-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.Brian2007-03-221-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.
* use _mesa_copy_instructions()Brian2007-03-224-8/+5
|
* In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵Brian2007-03-223-43/+61
| | | | | | | | 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().
* print conditional writemask, if enabledBrian2007-03-221-0/+6
|
* added SWIZZLE_XYZWBrian2007-03-211-0/+1
|
* Support for user-defined structures.Brian2007-03-213-23/+119
| | | | struct == and != operators not finished yet. Struct assignment works though.
* disable apparently unused codeBrian2007-03-212-0/+4
|
* indentBrian2007-03-211-107/+111
|
* merge from masterBrian2007-03-214-6/+23
|\
| * Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code.Oliver McFadden2007-03-181-2/+1
| |
| * Fixed a minor typo in the comment near _mesa_copy_instructions.Oliver McFadden2007-03-152-3/+3
| |
| * r300: Added _mesa_copy_instructions.Oliver McFadden2007-03-152-0/+17
| |