Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
|\ | |||||
| * | document 1D convolution fix | Brian | 2007-03-21 | 1 | -0/+1 |
| | | |||||
| * | 1D convolution (and post-conv scale/bias) were inadvertantly applied to 2D ↵ | Brian | 2007-03-21 | 3 | -1/+15 |
| | | | | | | | | image transfers. | ||||
| * | fix copy and paste bug from last commit in fog generation code for GL_LINEAR fog | Roland Scheidegger | 2007-03-21 | 1 | -2/+2 |
| | | |||||
| * | nouveau: update for drm interface changes (0.0.5) | Ben Skeggs | 2007-03-21 | 4 | -9/+13 |
| | | |||||
| * | nouveau: SwapBuffers() needs to perform a glFlush() | Ben Skeggs | 2007-03-21 | 1 | -0/+1 |
| | | |||||
| * | mesa: revert f9f79c8d770e696249bd98c68b563f887562c974 | Xiang, Haihao | 2007-03-21 | 3 | -16/+6 |
| | | | | | | | | | | | | | | to fix #10232 Table6.1(in gl2.1) has been applied for glGetTexImage before calling into _mesa_pack_rgba_span_float. | ||||
| * | r300: Remove the program-global const_sin index | Nicolai Haehnle | 2007-03-21 | 2 | -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. | ||||
| * | r300: Whitespace cleanup (remove trailing spaces) | Nicolai Haehnle | 2007-03-20 | 1 | -26/+26 |
| | | |||||
| * | fix for bug#10347 | Xiang, Haihao | 2007-03-20 | 1 | -9/+3 |
| | | | | | | | | | | | | not sure which brw surface for DXT3 & DXT5, so restore the previous choice.(changed in commit 84081774e62a8af18e6bf894ea69f63b97dcfe96) | ||||
| * | use passed target parameter | Alan Hourihane | 2007-03-20 | 1 | -1/+1 |
| | | |||||
| * | nouveau: fix typo | Ben Skeggs | 2007-03-20 | 1 | -1/+1 |
| | | |||||
| * | nouveau: fail translate if we use too many params somehow | Ben Skeggs | 2007-03-20 | 3 | -5/+31 |
| | | |||||
| * | nouveau: NVSDBG macro | Ben Skeggs | 2007-03-20 | 5 | -0/+24 |
| | | |||||
| * | r300: Cleanup fragment program constant allocation, share constants | Nicolai Haehnle | 2007-03-19 | 2 | -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. | ||||
| * | r300: Fix special case (tmp.x <= 0) in fragment program LIT instruction | Nicolai Haehnle | 2007-03-19 | 1 | -2/+2 |
| | | | | | | | | Also, fix a typo in a related comment. | ||||
| * | r300: Clear fragment program instruction slots on first use | Nicolai Haehnle | 2007-03-19 | 1 | -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. | ||||
| * | r300: Dump fragment program after translation if RADEON_DEBUG=pixel is set | Nicolai Haehnle | 2007-03-19 | 1 | -1/+1 |
| | | |||||
| * | r300: Whitespace cleanup (remove trailing spaces) | Nicolai Haehnle | 2007-03-19 | 1 | -109/+109 |
| | | |||||
| * | r300: Fix WRITEMASK handling when writing to result.depth | Nicolai Haehnle | 2007-03-19 | 1 | -3/+8 |
| | | | | | | | | | | | | | | | | | | 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. | ||||
| * | r300: Streamlined fragment program LIT implementation | Nicolai Haehnle | 2007-03-19 | 1 | -62/+101 |
| | | | | | | | | | | | | | | | | 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. | ||||
| * | r300: Fix fragment program reordering | Nicolai Haehnle | 2007-03-19 | 2 | -5/+37 |
| | | | | | | | | | | Do not move an instruction that writes to a temp forward past an instruction that reads the same temporary. | ||||
| * | r300: Fragment program dumps format tex instructions | Nicolai Haehnle | 2007-03-19 | 1 | -2/+28 |
| | |