summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_fragprog_common.c
AgeCommit message (Collapse)Author
2011-02-03r300c: Unbreak after R4xx support was added to r300/compiler.Michel Dänzer
2010-10-13Drop GLcontext typedef and use struct gl_context insteadKristian Høgsberg
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-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: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_constantsMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_alu_instsMarek Olšák
2010-08-25r300: Remove unnecessary header.Vinson Lee
2010-06-10mesa: rename src/mesa/shader/ to src/mesa/program/Brian Paul
2010-05-26r300/compiler: move hardware caps to the radeon_compiler base structMarek Olšák
Needed for vertex shaders too.
2010-05-08r300/compiler: shorten RC_*SWIZZLE* expressionsMarek Olšák
2010-05-08r300/compiler: generalize depth texture mode to support arbitrary swizzlesMarek Olšák
2010-04-16r300/compiler: make ARB_shadow_ambient optionalMarek Olšák
This saves constant register space for r300g, which doesn't need this feature.
2010-04-05r300/compiler: make the max number of fragment shader temporaries adjustableMarek Olšák
2010-03-24r300: clean fog_attr/wpos_attr if code accessing these attributes has been ↵Maciej Cencora
removed FP during compilation
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-02-19Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg
2010-02-19mesa: replace _mesa_bzero() with memset()Brian Paul
2010-02-19Remove _mesa_memcmp in favor of plain memcmp.Kenneth Graunke
This may break the SUNOS4 build, but it's no longer relevant.
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, r300 classic, r300g: Add support for MRTs in the frag shader.Corbin Simpson
This maybe breaks the vert compiler. Hopefully not.
2010-01-25Merge branch 'mesa_7_7_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/intel/intel_screen.c src/mesa/drivers/dri/intel/intel_swapbuffers.c src/mesa/drivers/dri/r300/r300_emit.c src/mesa/drivers/dri/r300/r300_ioctl.c src/mesa/drivers/dri/r300/r300_tex.c src/mesa/drivers/dri/r300/r300_texstate.c
2010-01-23r300: Remove unnecessary headers.Vinson Lee
2010-01-06r300/compiler: add full viewport transformation support in WPOS codegenMarek Olšák
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-03Merge branch 'master' into r300-compilerNicolai Hähnle
2009-10-03r300: Workaround problem on R500 with very large fragment programsNicolai Hähnle
The non-KMS interface is to blame here. In theory, a proper fix could be produced that works for the KMS interface only, but it require cleaning a lot of mess. Easier to just do it right in r300g. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-09-23r300: fallback to software rendering if we are out of free texcoordsMaciej Cencora
Fixes #22741
2009-09-06Merge branch 'master' into r300-compilerNicolai Hähnle
Conflicts: src/gallium/drivers/r300/r300_tgsi_to_rc.c
2009-08-31r300: Convert to shared debug code.Pauli Nieminen
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-07-29r300/compiler: Adapt AllocateHwInputs interface to common usage patternNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
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>
2009-07-27r300/fragprog: Move some of the attribute handling out of the compilerNicolai 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-27r300/fragprog: Finally get rid of the duplicate program copyNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300/compiler: Lay groundwork for better error handlingNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Reduce include dependenciesNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Introduce rc_program and use it in radeon_pairNicolai 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-27r300: Add radeon_compiler as a base for compilation-related tasksNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Remove some unnecessary includesNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Remove some dependencies on additional fragment program copiesNicolai Hähnle
The copy is still needed because some program transforms add state variables or constants. Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Remove GLcontext from r300_fragment_program_compilerNicolai Hähnle
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27r300: Detangle fragment program compiler from driver-specific structureNicolai 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>
2009-07-13r300: Fix fogcoord rewritingNicolai Hähnle
We only care about the actual fogcoord itself now, reducing the rewriting done for the vertex program. The rewriting of source operand swizzles in the fragment program takes care that fogcoord.yzw = 001. This should fix fogcoord rewriting entirely, which had been horribly broken in the face of dot-product instructions, and just broken (though not horribly so) in the face of almost every other instruction (the W component would be incorrect for most arithmetic instructions). Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-13r300: fix indentationMaciej Cencora
Reported-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-13r300: move depth output rewrite out of NQSSADCEMaciej Cencora
2009-07-13r300: rewrite FOGC and HPOS attribs handlingMaciej Cencora
Rewrite vertex and fragment programs so that we don't have to do any hacks on lower level.