summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler
AgeCommit message (Collapse)Author
2010-02-03r300: fix compiler bugs introduced with MRT changes.Dave Airlie
the first looks like a definite bug, the second I'm not so confident of but it works. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-02-02r300compiler: Add MRT number to debugging output.Corbin Simpson
2010-02-02r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader.Corbin Simpson
This maybe breaks the vert compiler. Hopefully not.
2010-01-17radeon_compiler: include main/compiler.h for compiler portability macrosAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Reviewed-by: Corbin Simpson <MostAwesomeDude@gmail.com>
2010-01-08Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/i965/brw_wm_emit.c
2010-01-08r300: Move initial declaration outside for loop.Vinson Lee
2010-01-06r300/compiler: add full viewport transformation support in WPOS codegenMarek Olšák
2010-01-06Make sure we use only signed/unsigned ints with bitfields.Michal Krol
Seems to be the only way to stay fully portable.
2010-01-03r300: Use C-style comments.Vinson Lee
2010-01-03r300: Silence 'mixed declarations and code' warnings.Vinson Lee
2010-01-03r300: Silence 'mixed declarations and code' warning.Vinson Lee
2010-01-03r300: Silence 'mixed declarations and code' warning.Vinson Lee
2009-11-22r300: fix VP source conflict resolution on 64-bit machinesMaciej Cencora
On 32bit machines we were lucky because the sizeof(reg) == sizeof(rc_src_register). On 64bit machines pointers are 8 bytes long, so we were overwriting other data.
2009-11-22r300: fix SIN/COS/SCS instructions for R300 fpMaciej Cencora
2009-10-07r300compiler: fix scons build againJoakim Sindholt
2009-10-07Merge branch 'master' into r300g-glslNicolai Hähnle
Conflicts: src/gallium/drivers/r300/r300_tgsi_to_rc.c Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-06r300/compiler: Fix R300 vertex program dumpsNicolai Hähnle
The source register field has 8 bits. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-06r300/compiler: Fix yet another regression in register allocationNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-06r300/compiler: Fix a really stupid logic inversion in the generic dataflow codeNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-06r300/compiler: Fix regression in pair schedulingNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-05r300g: fix scons buildJoakim Sindholt
So I didn't touch r300compiler, but r300g now compiles after having declarations and code untangled. As nha so gently points out, we shouldn't have to do this just to comply with MSVC compilers.
2009-10-04r300/compiler Add support for more of the Sxx set instructionsNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04r300/compiler: Emit flow control instructions and ALU result writes on R500Nicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04r300/compiler: Refactor the radeon_pair code to support control flow ↵Nicolai Hähnle
instructions Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04r300/compiler: Refactor to allow different instruction typesNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-04r300/compiler: Introduce aluresult register for branch operation supportNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-10-03r300/compiler: Introduce control flow instructions and refactor dataflowNicolai Hähnle
Note that control flow instruction support isn't actually fully functional yet. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-21Merge branch 'master' into r300-compilerNicolai Hähnle
There were additional non-textual conflicts. Conflicts: src/gallium/drivers/r300/r300_tgsi_to_rc.c src/mesa/drivers/dri/r300/compiler/r3xx_vertprog.c src/mesa/drivers/dri/r300/compiler/radeon_program.c src/mesa/drivers/dri/r300/compiler/radeon_program_alu.c
2009-09-21r300: Zero-initialize register for NV_vertex_programNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-21r300: Fix handling of NV_vertex_program parametersNicolai Hähnle
The handling is a bit inefficient, unfortunately, but I don't want to make any intrusive changes for Mesa 7.6. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-20r300/compiler: Fix trig instructions in R300 fpNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-20r300/compiler: Fix R300 fragment program regression introduced by 0723cd1...Nicolai Hähnle
We obviously need to move the code addr register backwards because their may be overlap. This bug affected in particular the Compiz water plugin. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-06Merge branch 'master' into r300-compilerNicolai Hähnle
Conflicts: src/gallium/drivers/r300/r300_tgsi_to_rc.c
2009-09-06r300/compiler: New dataflow structures and passesNicolai Hähnle
This replaces the old NQSSADCE code with the same functionality, but quite different design. Instead of doing a single integerated pass, we now build explicit data structures representing the dataflow. This will enable analysis of flow control instruction, and could potentially open an avenue for several dataflow based optimizations, such as peephole optimization, fusing MUL+ADD to MAD, and so on.
2009-09-01r300/compiler: fix warning due to no newlineDave Airlie
2009-08-30r300: Remove all Mesa dependencies from the shader compilerNicolai Hähnle
In particular, this removes the dependency on prog_instruction, which unfortunately creates some code duplication, but also opens a path towards adding some hardware-specific things in there. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-30r300: Move Mesa -> RC program conversion to classic Mesa driverNicolai Hähnle
This really doesn't belong into the compiler itself, since the compiler should eventually be independent of Mesa's program representation. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-27r300: Debug messages are written to stderr, so fflush thatNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-27r300/compiler: Fix vertex program MAD emitNicolai Hähnle
Only use the macro variant of MAD when absolutely necessary. Apparently it cannot deal with relative addressing. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-27r300/compiler: Fix bug in rc_find_free_temporaryNicolai Hähnle
Find used temporaries even if they are only written to in dead code. This fixes a bug in the NQSSADCE stage. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-08-25radeon: Fix all compiler warnings.Pauli Nieminen
2009-08-18r300: Movde debug output from stdout to stderr in copiler.Pauli Nieminen
Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-07-30r300/compiler: Remove inst_offset from r500_fragment_program_codeNicolai Hähnle
The field is not used, and in any case it would be more interesting to manipulate from *outside* the compiler if we ever wanted to load several fragment programs at the same time or something. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-29r300: Cleanup r300_fragment_program_codeNicolai Hähnle
Configuration register values are now stored directly in that structure. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-29r300/compiler: Adapt AllocateHwInputs interface to common usage patternNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300/compiler: Make calculate_inputs_outputs available to external usersNicolai Hähnle
In the long run, it's probably better to just get rid of InputsRead and OutputsWritten. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300/compiler: Add vertex program code dumper from Gallium driverNicolai Hähnle
2009-07-27r300/compiler: Prepare for hookup to GalliumNicolai Hähnle
2009-07-27r300/fragprog: Move wpos_attr and fog_attr where they belongNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300/fragprog: Remove hardcoded FRAG_ATTRIB_xxx constantsNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>