Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-09-13 | r300/compiler: fix warnings | Marek Olšák | |
2010-09-10 | r300/compiler: Reorganize presub_helper() | Tom Stellard | |
2010-09-10 | r300/compiler: Don't use presubtract in TEX instructions | Tom Stellard | |
2010-09-10 | r300/compiler: Print the presub subtract operation in the correct order | Tom Stellard | |
2010-09-10 | r300/compiler: Fix dataflow bug in presub_helper() | Tom Stellard | |
2010-09-10 | r300/compiler: Replace asserts with error messages | Tom Stellard | |
2010-09-10 | r300/compiler: Fix copy propigation for some presub instructions | Tom Stellard | |
2010-09-10 | r300/compiler: Add peephole optimization for the 'sub' presubtract operation | Tom Stellard | |
2010-09-10 | r300/compiler: Add peephole optimization for the 'add' presubtract operation | Tom Stellard | |
2010-09-10 | r300/compiler: Clean up rc_pair_alloc_source() | Tom Stellard | |
2010-09-10 | r300/compiler: Enable presubtract sources | Tom 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-05 | r300g,r300c: memset the compiler struct to zeros | Marek Olšák | |
This should fix bogus reports "Too many temporaries." and maybe some others. | |||
2010-09-04 | r300/compiler: Remove stray break statement | Tom Stellard | |
This fixes glsl-fs-loop-nested. | |||
2010-09-05 | r300/compiler: fix the instruction limit in vertex shaders | Marek Olšák | |
Broken with commit d774b0c710bb7d833d17bd12f5151a0176baad96. Reported by Chris Rankin. | |||
2010-09-04 | r300/compiler: indent printed instructions according to the branch depth | Marek Olšák | |
2010-09-04 | r300/compiler: use limits from the compiler input instead of inline constants | Marek Olšák | |
2010-09-04 | r300/compiler: improve register allocation with indexable temporaries for VS | Marek 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-04 | r300/compiler: fix handling of indexed temporaries in peephole | Marek Olšák | |
2010-09-04 | r300/compiler: disable deadcode elimination for indexed dst operands | Marek Olšák | |
2010-09-04 | r300/compiler: allocate at least FS inputs if register allocation is disabled | Marek Olšák | |
2010-09-04 | r300g: add a new debug option which disables compiler optimizations | Marek 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-04 | r300/compiler: compute the final number of temporaries during translation | Marek 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-04 | r300/compiler: make optimizations not use 0.5 swizzles in vertex shaders | Marek Olšák | |
2010-09-04 | r300/compiler: use peephole and constant folding for vertex shaders too | Marek Olšák | |
2010-09-04 | r300/compiler: remove unused enum OPCODE_REPL_ALPHA | Marek Olšák | |
We use RC_OPCODE_REPL_ALPHA instead. | |||
2010-09-04 | r300/compiler: refactor fragment shader compilation | Marek Olšák | |
This cleans up the mess in r3xx_compile_fragment_program. | |||
2010-09-04 | r300/compiler: add new compiler parameter max_constants | Marek Olšák | |
2010-09-04 | r300/compiler: refactor vertex shader compilation | Marek 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-04 | r300/compiler: remove a redundant parameter in rc_pair_regalloc | Marek Olšák | |
2010-09-04 | r300/compiler: remove a redundant parameter in rc_dataflow_deadcode | Marek Olšák | |
&c->Base == c. | |||
2010-09-04 | r300/compiler: use null-terminated array of transformation functions | Marek Olšák | |
I need to reduce the number of parameters of each compiler pass function. This is part of a larger cleanup. | |||
2010-09-04 | r300/compiler: add new compiler parameter max_alu_insts | Marek Olšák | |
2010-09-04 | r300/compiler: put emulate_loop_state in radeon_compiler | Marek Olšák | |
2010-08-25 | r300: Remove unnecessary header. | Vinson Lee | |
2010-08-25 | r300/compiler: emulate relative addressing with negative offsets in VS | Marek Olšák | |
3 more piglits, cool. | |||
2010-08-24 | r300/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-24 | r300g: Add missing comma in SConscript. | Vinson Lee | |
This is a follow-on patch to commit 574ba4b5f50bfe661427327cd792a8a200559376. Fixes r300g SCons build. | |||
2010-08-25 | r300/compiler: implement elimination of unused constants | Marek Olšák | |
Wine likes to create a *lot* of constants, exceeding the size of the constant file in hw. | |||
2010-08-25 | r300/compiler: terminate vertex shader compilation immediately after an error | Marek Olšák | |
Also rename "compiler" to "c". | |||
2010-08-25 | r300/compiler: fail to compile if we hit hw limits or an unimplemented feature | Marek Olšák | |
i.e. relative addressing (mainly FS), saturate modifiers, exceeding the maximum number of constants. | |||
2010-08-25 | r300/compiler: handle indexable temporaries correctly in deadcode elimination | Marek Olšák | |
2010-08-25 | r300/compiler: disable register allocation for indexable temporaries in VS | Marek 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-16 | r300/compiler: implement DP2 opcode | Marek Olšák | |
2010-08-16 | r300/compiler: implement SSG opcode | Marek Olšák | |
2010-08-16 | r300/compiler: fix allocation of temporaries in radeonTransformTEX | Marek Olšák | |
2010-08-12 | r300/compiler: remove an unused variable | Marek Olšák | |
2010-08-11 | r300/compiler: Implement the CONT opcode. | Tom Stellard | |
2010-08-11 | r300/compiler: Handle loops in the register allocator. | Tom Stellard | |
2010-08-11 | r300g: implement gl_FrontFacing | Marek Olšák | |
2010-08-10 | r300/compiler: Use predicate bit for IF statements in r500 vertex shaders | Tom Stellard | |