summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_fragprog_common.c
AgeCommit message (Collapse)Author
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.
2009-07-13r300: cache translated fragment programsMaciej Cencora
2009-07-13r300: update state parameters only once per rendering operationMaciej Cencora
2009-05-16r300: rename functionsMaciej Cencora
Be consistent with function naming: use Setup/Emit names for functions that modify hardware state
2009-05-12r300/r500: make sure we detect constant buffer changesJerome Glisse
This was broken with last merge see f48473e42511f8d37a239a07f791bc0a87209e5b for explanations.
2009-04-27r300: flush stdout to get consistent debugging infoMaciej Cencora
2009-04-19r300: cleanup includesMaciej Cencora
2009-04-19r300: move common fp functions to seperate fileMaciej Cencora