summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* undo some debugging hacksBrian2007-03-261-2/+2
|
* dead code elimination for constant-valued if/then/elseBrian2007-03-261-0/+13
|
* r300: Remove a warning when vertex programs produce an unused outputNicolai Haehnle2007-03-261-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 Haehnle2007-03-261-115/+115
|
* 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.
* r300: Fix warnings that were introduced by the glsl mergeNicolai Haehnle2007-03-261-2/+6
|
* Add _swrast_span_default_secondary_color() for use with glBitmap, ↵Brian2007-03-265-2/+46
| | | | | | | glDrawPixels, etc. Secondary color wasn't getting added to post-texture color when drawing bitmaps, images. See bug 10409.
* remove incorrect assertionsBrian2007-03-261-2/+0
|
* minor status updatesBrian2007-03-261-4/+2
|
* disable printing shader program debug infopost-merge-glsl-compiler-1Brian2007-03-261-4/+4
|
* merge of glsl-compiler-1 branchBrian2007-03-26311-49338/+31224
|\
| * 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-243-0/+20
| |
| * 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
| |
| * When computing render_inputs_bitset, omit primary color if we have a ↵Brian2007-03-241-10/+11
| | | | | | | | fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
| * move some code into new slang_ir.c fileBrian2007-03-244-334/+30
| |
| * IR utility functionsBrian2007-03-241-0/+354
| |
| * document internal compiler optionsBrian2007-03-231-1/+45
| |
| * 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-238-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 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-2187-1674/+2138
| |\
| * | disable assertionBrian2007-03-211-1/+1
| | |
| * | Properly compute render_inputs_bitset when using a vertex program/shader.Brian2007-03-191-7/+13
| | | | | | | | | | | | This fixes a performance regression introduced early in glsl-compiler-1 work.
| * | silently ignore DeleteProgram/Shader(id=0)Brian2007-03-151-13/+19
| | |
| * | in _mesa_GetColorTable, return silently if table size is 0Brian2007-03-151-2/+6
| | |
| * | s/Tranpose/Transpose/Brian2007-03-141-4/+4
| | |
| * | continue prev check-in: save ptr to slang_function for SLANG_OPER_CALLBrian2007-03-141-5/+13
| | |
| * | After we've found the slang_function ptr for a SLANG_OPER_CALL node, save ↵Brian2007-03-142-62/+76
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | make _slang_typeof_function() staticBrian2007-03-142-40/+28
| | |