summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-03-26disable free() until other issues can be fixed...glsl-compiler-1Brian1-0/+2
2007-03-26fix mem leak, add commentsBrian1-3/+15
2007-03-24fix mem leakBrian1-7/+3
2007-03-24disable free(var->aux) -- can lead to segfaultBrian1-0/+2
2007-03-24fix mem leakBrian1-0/+3
2007-03-24fix some mem leaksBrian1-6/+9
2007-03-24Free shader-related context state: _mesa_free_shader_state()Brian3-0/+20
2007-03-24free prog->Attributes in _mesa_delete_program()Brian1-1/+3
2007-03-24fix mistake in _slang_free_ir()Brian1-1/+1
2007-03-24Properly free the slang_ir_node->Store data (use ref counting).Brian2-12/+46
2007-03-24When computing render_inputs_bitset, omit primary color if we have a ↵Brian1-10/+11
fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
2007-03-24move some code into new slang_ir.c fileBrian4-334/+30
2007-03-24IR utility functionsBrian1-0/+354
2007-03-23document internal compiler optionsBrian1-1/+45
2007-03-23Fix issues related to the 'continue' statement.Brian3-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.
2007-03-23consolidate some codeBrian1-7/+2
2007-03-23Add the ability to generate programs that doesn't use condition codes.Brian8-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.
2007-03-23minor tweaksBrian1-2/+2
2007-03-23updated commentBrian1-1/+1
2007-03-22updated commentBrian1-1/+1
2007-03-22Overhaul emit_compare() function.Brian3-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.
2007-03-22First pass at implementing structure compares.Brian1-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.
2007-03-22use _mesa_copy_instructions()Brian4-8/+5
2007-03-22In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵Brian3-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().
2007-03-22print conditional writemask, if enabledBrian1-0/+6
2007-03-21added SWIZZLE_XYZWBrian1-0/+1
2007-03-21Support for user-defined structures.Brian3-23/+119
struct == and != operators not finished yet. Struct assignment works though.
2007-03-21disable apparently unused codeBrian2-0/+4
2007-03-21indentBrian1-107/+111
2007-03-21merge from masterBrian87-1674/+2138
2007-03-21disable assertionBrian1-1/+1
2007-03-21document 1D convolution fixBrian1-0/+1
2007-03-211D convolution (and post-conv scale/bias) were inadvertantly applied to 2D ↵Brian3-1/+15
image transfers.
2007-03-21fix copy and paste bug from last commit in fog generation code for GL_LINEAR fogRoland Scheidegger1-2/+2
2007-03-21nouveau: update for drm interface changes (0.0.5)Ben Skeggs4-9/+13
2007-03-21nouveau: SwapBuffers() needs to perform a glFlush()Ben Skeggs1-0/+1
2007-03-21mesa: revert f9f79c8d770e696249bd98c68b563f887562c974Xiang, Haihao3-16/+6
to fix #10232 Table6.1(in gl2.1) has been applied for glGetTexImage before calling into _mesa_pack_rgba_span_float.
2007-03-21r300: Remove the program-global const_sin indexNicolai Haehnle2-31/+23
The index is no longer necessary to share constants between multiple SIN/COS/SCS instructions inside a single fragment program, and storing a tiny implementation detail like this in the fragment_program structure itself was just nasty.
2007-03-20r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle1-26/+26
2007-03-20fix for bug#10347Xiang, Haihao1-9/+3
not sure which brw surface for DXT3 & DXT5, so restore the previous choice.(changed in commit 84081774e62a8af18e6bf894ea69f63b97dcfe96)
2007-03-20use passed target parameterAlan Hourihane1-1/+1
2007-03-20nouveau: fix typoBen Skeggs1-1/+1
2007-03-20nouveau: fail translate if we use too many params somehowBen Skeggs3-5/+31
2007-03-20nouveau: NVSDBG macroBen Skeggs5-0/+24
2007-03-19r300: Cleanup fragment program constant allocation, share constantsNicolai Haehnle2-73/+61
The constant/parameter allocation was significantly simplified, removing one unnecessary copy operation of parameters. The dirty state tracking is unchanged and far from optimal, since all state is always re-fetched. Constants and parameters are now emitted only once, which significantly reduces the resource pressure on larger programs.
2007-03-19r300: Fix special case (tmp.x <= 0) in fragment program LIT instructionNicolai Haehnle1-2/+2
Also, fix a typo in a related comment.
2007-03-19r300: Clear fragment program instruction slots on first useNicolai Haehnle1-0/+2
Make sure that instruction slots are fully initialized with NOPs during find_and_prepare_slot(). This fixes a bug when a fragment program was translated more than once (e.g. due to a second call to glProgramStringARB). This partially fixes glean/fragProg1.
2007-03-19Properly compute render_inputs_bitset when using a vertex program/shader.Brian1-7/+13
This fixes a performance regression introduced early in glsl-compiler-1 work.
2007-03-19r300: Dump fragment program after translation if RADEON_DEBUG=pixel is setNicolai Haehnle1-1/+1
2007-03-19r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle1-109/+109