Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | special case RET | Brian | 2007-03-26 | 1 | -0/+7 |
| | |||||
* | 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 |
| | |||||
* | r300: Remove a warning when vertex programs produce an unused output | Nicolai Haehnle | 2007-03-26 | 1 | -3/+2 |
| | | | | | | | | | | | As far as we know, the hardware prefers outputs packed tightly together with no holes caused by outputs that are not even read by the fragment program. Therefore, we slightly rewrite vertex programs in this case. It would be interesting to test this interaction between vertex programs and fragment programs further, because some of that rewrite may be unnecessary. However, play it safe for now and don't change the current behaviour. | ||||
* | r300: Whitespace cleanup (remove trailing spaces) | Nicolai Haehnle | 2007-03-26 | 1 | -115/+115 |
| | |||||
* | Fix a few issues with computing storage sizes with respect to swizzles. | Brian | 2007-03-26 | 2 | -42/+29 |
| | |||||
* | In _mesa_lookup_parameter_constant() make sure we return a full, 4-component ↵ | Brian | 2007-03-26 | 1 | -0/+4 |
| | | | | swizzle. | ||||
* | r300: Fix warnings that were introduced by the glsl merge | Nicolai Haehnle | 2007-03-26 | 1 | -2/+6 |
| | |||||
* | Add _swrast_span_default_secondary_color() for use with glBitmap, ↵ | Brian | 2007-03-26 | 5 | -2/+46 |
| | | | | | | | glDrawPixels, etc. Secondary color wasn't getting added to post-texture color when drawing bitmaps, images. See bug 10409. | ||||
* | remove incorrect assertions | Brian | 2007-03-26 | 1 | -2/+0 |
| | |||||
* | minor status updates | Brian | 2007-03-26 | 1 | -4/+2 |
| | |||||
* | disable printing shader program debug infopost-merge-glsl-compiler-1 | Brian | 2007-03-26 | 1 | -4/+4 |
| | |||||
* | merge of glsl-compiler-1 branch | Brian | 2007-03-26 | 311 | -49338/+31224 |
|\ | |||||
| * | disable free() until other issues can be fixed... | Brian | 2007-03-26 | 1 | -0/+2 |
| | | |||||
| * | fix mem leak, add comments | Brian | 2007-03-26 | 1 | -3/+15 |
| | | |||||
| * | 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 |
| | | |||||
| * | Free shader-related context state: _mesa_free_shader_state() | Brian | 2007-03-24 | 3 | -0/+20 |
| | | |||||
| * | free prog->Attributes in _mesa_delete_program() | Brian | 2007-03-24 | 1 | -1/+3 |
| | | |||||
| * | 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 |
| | | |||||
| * | When computing render_inputs_bitset, omit primary color if we have a ↵ | Brian | 2007-03-24 | 1 | -10/+11 |
| | | | | | | | | fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings. | ||||
| * | move some code into new slang_ir.c file | Brian | 2007-03-24 | 4 | -334/+30 |
| | | |||||
| * | IR utility functions | Brian | 2007-03-24 | 1 | -0/+354 |
| | | |||||
| * | document internal compiler options | Brian | 2007-03-23 | 1 | -1/+45 |
| | | |||||
| * | 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. | ||||
| * | consolidate some code | Brian | 2007-03-23 | 1 | -7/+2 |
| | | |||||
| * | Add the ability to generate programs that doesn't use condition codes. | Brian | 2007-03-23 | 8 | -51/+176 |
| | | | | | | | | | | | | | | 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 |
| | | |||||
| * | updated comment | Brian | 2007-03-22 | 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. | ||||
| * | use _mesa_copy_instructions() | Brian | 2007-03-22 | 4 | -8/+5 |
| | | |||||
| * | In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵ | Brian | 2007-03-22 | 3 | -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 enabled | Brian | 2007-03-22 | 1 | -0/+6 |
| | | |||||
| * | added SWIZZLE_XYZW | Brian | 2007-03-21 | 1 | -0/+1 |
| | | |||||
| * | 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 |
| | | |||||
| * | merge from master | Brian | 2007-03-21 | 87 | -1674/+2138 |
| |\ | |||||
| * | | disable assertion | Brian | 2007-03-21 | 1 | -1/+1 |
| | | | |||||
| * | | Properly compute render_inputs_bitset when using a vertex program/shader. | Brian | 2007-03-19 | 1 | -7/+13 |
| | | | | | | | | | | | | This fixes a performance regression introduced early in glsl-compiler-1 work. |