Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-05-26 | r300/compiler: move hardware caps to the radeon_compiler base struct | Marek Olšák | |
Needed for vertex shaders too. | |||
2010-05-16 | r300/compiler: Implement simple peephole optimizer | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2010-04-19 | r300/compiler: enable branch emulation for R500 fragment programs | Marek Olšák | |
2010-04-19 | r300/compiler: Implement branch emulation for R300 fragment programs | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2010-04-16 | r300/compiler: Oops, this slipped through. | Corbin Simpson | |
2010-04-16 | r300/compiler: Split off texture fixes to their own file. | Corbin Simpson | |
Yes, I'm fully aware this generates subpar code on r500. | |||
2010-04-12 | r300/compiler: Hax around instructions limits in mirroring code. | Corbin Simpson | |
Stuff's starting to show up in arbnpot. | |||
2010-04-05 | r300/compiler: make the max number of fragment shader temporaries adjustable | Marek Olšák | |
2010-02-02 | r300compiler, r300 classic, r300g: Add support for MRTs in the frag shader. | Corbin Simpson | |
This maybe breaks the vert compiler. Hopefully not. | |||
2009-10-04 | r300/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-04 | r300/compiler: Refactor to allow different instruction types | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-10-04 | r300/compiler: Introduce aluresult register for branch operation support | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-10-03 | r300/compiler: Introduce control flow instructions and refactor dataflow | Nicolai 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-06 | r300/compiler: New dataflow structures and passes | Nicolai 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-08-30 | r300: Remove all Mesa dependencies from the shader compiler | Nicolai 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-27 | r300: Debug messages are written to stderr, so fflush that | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/fragprog: Move some of the attribute handling out of the compiler | Nicolai Hähnle | |
Attribute indices will probably be different in Gallium, so make the compiler independent of magic values. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/fragprog: Finally get rid of the duplicate program copy | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/fragprog: Refactor wpos rewrite to use rc_program | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/compiler: Refactor fragment program fog rewrite to use rc_program | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/compiler: Refactor rewrite_depth_out to use rc_program | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/compiler: Refactor local transforms to use rc_program | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Allow compiler to add constants in a cleaner way | Nicolai Hähnle | |
Adding constants is used in a number of non-native instruction rewrites, and it required us to keep copies of modified gl_programs around. This is a first step towards ending this. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/compiler: Refactor nqssadce to use rc_program | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300/compiler: Lay groundwork for better error handling | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Introduce rc_program and use it in radeon_pair | Nicolai Hähnle | |
The goal is to convert both Mesa and TGSI programs into an intermediate format that happens to be convenient for us. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Add radeon_compiler as a base for compilation-related tasks | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Remove GLcontext requirement from radeonLocalTransform | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Remove GLcontext requirement from radeon_nqssadce | Nicolai Hähnle | |
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> | |||
2009-07-27 | r300: Detangle fragment program compiler from driver-specific structure | Nicolai Hähnle | |
This is in preparation of sharing the fragment program compiler with Gallium: Compiler code is moved into its own directory and modified so that it no longer depends on driver structures. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com> |