summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2007-03-24fix mem leakBrian
2007-03-24disable free(var->aux) -- can lead to segfaultBrian
2007-03-24fix mem leakBrian
2007-03-24fix some mem leaksBrian
2007-03-24Free shader-related context state: _mesa_free_shader_state()Brian
2007-03-24free prog->Attributes in _mesa_delete_program()Brian
2007-03-24fix mistake in _slang_free_ir()Brian
2007-03-24Properly free the slang_ir_node->Store data (use ref counting).Brian
2007-03-24When computing render_inputs_bitset, omit primary color if we have a ↵Brian
fragment program and it doesn't need FRAG_ATTRIB_COL0. Silences valgrind warnings.
2007-03-24move some code into new slang_ir.c fileBrian
2007-03-24IR utility functionsBrian
2007-03-23Fix issues related to the 'continue' statement.Brian
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 codeBrian
2007-03-23Add the ability to generate programs that doesn't use condition codes.Brian
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 tweaksBrian
2007-03-23updated commentBrian
2007-03-22updated commentBrian
2007-03-22Overhaul emit_compare() function.Brian
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.Brian
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()Brian
2007-03-22In _mesa_add_unnamed_constant() and _mesa_lookup_parameter_constant() allow ↵Brian
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 enabledBrian
2007-03-21added SWIZZLE_XYZWBrian
2007-03-21Support for user-defined structures.Brian
struct == and != operators not finished yet. Struct assignment works though.
2007-03-21disable apparently unused codeBrian
2007-03-21indentBrian
2007-03-21merge from masterBrian
2007-03-211D convolution (and post-conv scale/bias) were inadvertantly applied to 2D ↵Brian
image transfers.
2007-03-21fix copy and paste bug from last commit in fog generation code for GL_LINEAR fogRoland Scheidegger
2007-03-21nouveau: update for drm interface changes (0.0.5)Ben Skeggs
2007-03-21nouveau: SwapBuffers() needs to perform a glFlush()Ben Skeggs
2007-03-21mesa: revert f9f79c8d770e696249bd98c68b563f887562c974Xiang, Haihao
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 Haehnle
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 Haehnle
2007-03-20fix for bug#10347Xiang, Haihao
not sure which brw surface for DXT3 & DXT5, so restore the previous choice.(changed in commit 84081774e62a8af18e6bf894ea69f63b97dcfe96)
2007-03-20use passed target parameterAlan Hourihane
2007-03-20nouveau: fix typoBen Skeggs
2007-03-20nouveau: fail translate if we use too many params somehowBen Skeggs
2007-03-20nouveau: NVSDBG macroBen Skeggs
2007-03-19r300: Cleanup fragment program constant allocation, share constantsNicolai Haehnle
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 Haehnle
Also, fix a typo in a related comment.
2007-03-19r300: Clear fragment program instruction slots on first useNicolai Haehnle
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.Brian
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 Haehnle
2007-03-19r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-19r300: Fix WRITEMASK handling when writing to result.depthNicolai Haehnle
This is a necessary change to emit the right instructions when writing to result.depth. However, even with this test, Z-write doesn't work properly, and I don't fully understand why. In addition to this, we'll at least have to disable early-Z, but even that doesn't seem to be enough.
2007-03-19r300: Streamlined fragment program LIT implementationNicolai Haehnle
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5) and change the implementation around. In theory, the new implementation needs as little as 5 instruction slots. Unfortunately, the dependency analysis in find_and_replace_slot is not strong enough to look at individual components of a register yet.
2007-03-19r300: Fix fragment program reorderingNicolai Haehnle
Do not move an instruction that writes to a temp forward past an instruction that reads the same temporary.
2007-03-19r300: Fragment program dumps format tex instructionsNicolai Haehnle
2007-03-19r300: Fix hw fragment program dumpNicolai Haehnle
Dumps of fragment programs were incorrect when the program consisted of multiple nodes. Also, improved the formatting a bit.