summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
| | |
| * | remove old assertionBrian2007-03-141-1/+0
| | |
| * | more bug fixing, error checkingBrian2007-03-131-2/+7
| | |
| * | fix a number of issues in _mesa_uniform()Brian2007-03-131-45/+43
| | |
| * | remove bogus assertionBrian2007-03-131-1/+0
| | |
| * | document some bug fixes, lots of new featuresBrian2007-03-131-5/+11
| | |
| * | fix ctx->Pixel.PostConvolutionScale/Bias subscript bugsBrian2007-03-131-6/+6
| | |
| * | Check for, simplify vec2/3/4(x). Only do call adapting for constructors.Brian2007-03-131-3/+25
| | |
| * | improve literal printingBrian2007-03-131-8/+13
| | |
| * | disable some debug outputBrian2007-03-131-1/+1
| | |
| * | better error msg for undefined function, disable some debug outputBrian2007-03-131-6/+9
| | |
| * | get rid of float_multiply, float_add, float_divideBrian2007-03-133-6/+3
| | |