summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300
AgeCommit message (Collapse)Author
2010-09-27mesa: Force GL_SGIS_generate_mipmap to always be enabledIan Romanick
As per discussions at XDS.
2010-09-25r300/compiler: Fix two mistakes in the presubtract optimization pass.Tom Stellard
1. We can't turn an instruction into a presubtract operation if it writes to one of the registers it reads from. 2. If we turn an instruction into a presubtract operation, we can't remove that intruction unless all readers can use the presubtract operation. This fixes fdo bug 30337. This is a candidate for the 7.9 branch.
2010-09-20r300/compiler: Refactor the pair instruction data structuresTom Stellard
Use rc_pair_ prefix for all pair instruction structs Create a named struct for pair instruction args Replace structs radeon_pair_instruction_{rgb,alpha} with struct radeon_pair_sub_instruction. These two structs were nearly identical and were creating a lot of cut and paste code. These changes are the first step towards removing some of that code.
2010-09-13r300/compiler: fix warningsMarek Olšák
2010-09-10r300/compiler: Reorganize presub_helper()Tom Stellard
2010-09-10r300/compiler: Don't use presubtract in TEX instructionsTom Stellard
2010-09-10r300/compiler: Print the presub subtract operation in the correct orderTom Stellard
2010-09-10r300/compiler: Fix dataflow bug in presub_helper()Tom Stellard
2010-09-10r300/compiler: Replace asserts with error messagesTom Stellard
2010-09-10r300/compiler: Fix copy propigation for some presub instructionsTom Stellard
2010-09-10r300/compiler: Add peephole optimization for the 'sub' presubtract operationTom Stellard
2010-09-10r300/compiler: Add peephole optimization for the 'add' presubtract operationTom Stellard
2010-09-10r300/compiler: Clean up rc_pair_alloc_source()Tom Stellard
2010-09-10r300/compiler: Enable presubtract sourcesTom Stellard
The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
2010-09-05r300g,r300c: memset the compiler struct to zerosMarek Olšák
This should fix bogus reports "Too many temporaries." and maybe some others.
2010-09-04r300/compiler: Remove stray break statementTom Stellard
This fixes glsl-fs-loop-nested.
2010-09-05r300/compiler: fix the instruction limit in vertex shadersMarek Olšák
Broken with commit d774b0c710bb7d833d17bd12f5151a0176baad96. Reported by Chris Rankin.
2010-09-04r300/compiler: indent printed instructions according to the branch depthMarek Olšák
2010-09-04r300/compiler: use limits from the compiler input instead of inline constantsMarek Olšák
2010-09-04r300/compiler: improve register allocation with indexable temporaries for VSMarek Olšák
Register allocation can now reallocate temporaries right after the last indexed source operand, instead of being disabled for the whole shader.
2010-09-04r300/compiler: fix handling of indexed temporaries in peepholeMarek Olšák
2010-09-04r300/compiler: disable deadcode elimination for indexed dst operandsMarek Olšák
2010-09-04r300/compiler: allocate at least FS inputs if register allocation is disabledMarek Olšák
2010-09-04r300g: add a new debug option which disables compiler optimizationsMarek Olšák
Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options.
2010-09-04r300/compiler: compute the final number of temporaries during translationMarek Olšák
And not during the register allocation, which may be skipped for debugging purposes. Also the predicate register is now added to the number of temps.
2010-09-04r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: use peephole and constant folding for vertex shaders tooMarek Olšák
2010-09-04r300/compiler: remove unused enum OPCODE_REPL_ALPHAMarek Olšák
We use RC_OPCODE_REPL_ALPHA instead.
2010-09-04r300/compiler: refactor fragment shader compilationMarek Olšák
This cleans up the mess in r3xx_compile_fragment_program.
2010-09-04r300/compiler: add new compiler parameter max_constantsMarek Olšák
2010-09-04r300/compiler: refactor vertex shader compilationMarek Olšák
First list compiler passes in an array, then run the new function rc_run_compiler. Every backend may need a different set of passes. This cleans up the mess in r3xx_compile_vertex_program.
2010-09-04r300/compiler: remove a redundant parameter in rc_pair_regallocMarek Olšák
2010-09-04r300/compiler: remove a redundant parameter in rc_dataflow_deadcodeMarek Olšák
&c->Base == c.
2010-09-04r300/compiler: use null-terminated array of transformation functionsMarek Olšák
I need to reduce the number of parameters of each compiler pass function. This is part of a larger cleanup.
2010-09-04r300/compiler: add new compiler parameter max_alu_instsMarek Olšák
2010-09-04r300/compiler: put emulate_loop_state in radeon_compilerMarek Olšák
2010-08-25r300: Remove unnecessary header.Vinson Lee
2010-08-25r300/compiler: emulate relative addressing with negative offsets in VSMarek Olšák
3 more piglits, cool.
2010-08-24r300/compiler: Silence uninitialized variable warning.Vinson Lee
The variable loops would be used uninitialized if it ever processed a RC_OPCODE_ENDLOOP case first. This patch initalizes the loops variable to NULL and adds an assert at the RC_OPCODE_ENDLOOP case that loops isn't NULL. Silence the following GCC warning. r3xx_vertprog.c: In function 'translate_vertex_program': r3xx_vertprog.c:469: warning: 'loops' may be used uninitialized in this function
2010-08-24r300g: Add missing comma in SConscript.Vinson Lee
This is a follow-on patch to commit 574ba4b5f50bfe661427327cd792a8a200559376. Fixes r300g SCons build.
2010-08-25r300/compiler: implement elimination of unused constantsMarek Olšák
Wine likes to create a *lot* of constants, exceeding the size of the constant file in hw.
2010-08-25r300/compiler: terminate vertex shader compilation immediately after an errorMarek Olšák
Also rename "compiler" to "c".
2010-08-25r300/compiler: fail to compile if we hit hw limits or an unimplemented featureMarek Olšák
i.e. relative addressing (mainly FS), saturate modifiers, exceeding the maximum number of constants.
2010-08-25r300/compiler: handle indexable temporaries correctly in deadcode eliminationMarek Olšák
2010-08-25r300/compiler: disable register allocation for indexable temporaries in VSMarek Olšák
If there is relative addressing of temporaries, we cannot change register indices, so skip register allocation entirely. To utilize register allocation at least partially, we need separate indexable and non-indexable register files in both TGSI and Mesa IR.
2010-08-16r300/compiler: implement DP2 opcodeMarek Olšák
2010-08-16r300/compiler: implement SSG opcodeMarek Olšák
2010-08-16r300/compiler: fix allocation of temporaries in radeonTransformTEXMarek Olšák
2010-08-12r300/compiler: remove an unused variableMarek Olšák
2010-08-11r300/compiler: Implement the CONT opcode.Tom Stellard