aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r300
Commit message (Collapse)AuthorAgeFilesLines
* r300: Fix a regression on non-KMSNicolai Hähnle2009-08-021-8/+11
| | | | | | The regression was introduced by 9a1c336253579d8b58b31910325227b22b4af395 Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Fix corner-case of KIL on R300Nicolai Hähnle2009-08-012-51/+60
| | | | | | | | R300 hardware (but _not_ R500) hardware requires an enabled texture unit if KIL is used in fragment programs. We now work around the CS checker correctly when enabling such a fake texture unit. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Fix Z buffer re-emit after window resizeNicolai Hähnle2009-08-012-5/+9
| | | | | | | | | | | | | | We used to not always correctly re-emit the Z buffer size in all cases, in particular the clear path, and invalidated state was not always picked up correctly. This fixes a bug where the kernel CS checker correctly complains about a Z buffer that is too small. Note that this bug was probably only visible with ridiculously high framerates, i.e. glxgears. Signed-off-by: Nicolai Hähnle <[email protected]>
* radeon: fix r100/r200 compressed texture strideRoland Scheidegger2009-07-311-5/+0
| | | | | | | | This almost fixes compressed mipmapped textures on r200, though some small mip levels are still broken. Leave r300 compressed texture stride as is though afaik it's different to pre-radeon-rewrite too. Also do the fixup for rs600 uncompressed row stride at same place.
* r300/compiler: Remove inst_offset from r500_fragment_program_codeNicolai Hähnle2009-07-303-6/+4
| | | | | | | | 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 <[email protected]>
* r300: Cleanup r300_fragment_program_codeNicolai Hähnle2009-07-294-115/+145
| | | | | | Configuration register values are now stored directly in that structure. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Adapt AllocateHwInputs interface to common usage patternNicolai Hähnle2009-07-293-5/+6
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Make calculate_inputs_outputs available to external usersNicolai Hähnle2009-07-272-2/+7
| | | | | | | In the long run, it's probably better to just get rid of InputsRead and OutputsWritten. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Add vertex program code dumper from Gallium driverNicolai Hähnle2009-07-274-0/+185
|
* r300/compiler: Prepare for hookup to GalliumNicolai Hähnle2009-07-272-25/+31
|
* r300/fragprog: Move wpos_attr and fog_attr where they belongNicolai Hähnle2009-07-275-22/+21
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/fragprog: Remove hardcoded FRAG_ATTRIB_xxx constantsNicolai Hähnle2009-07-273-46/+61
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/fragprog: No longer rely on hardcoded FRAG_RESULT_xxx constantsNicolai Hähnle2009-07-274-27/+27
| | | | | | | | | Also, this makes radeon_program_pair depend on the r300 fragment program compiler. Since we now know that r600+ no longer use the same pairing style in their ALU, we can stop pretending that program_pair is useful for anything but r300-r500 fragment programs. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/fragprog: Move some of the attribute handling out of the compilerNicolai Hähnle2009-07-273-72/+77
| | | | | | | Attribute indices will probably be different in Gallium, so make the compiler independent of magic values. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/fragprog: Finally get rid of the duplicate program copyNicolai Hähnle2009-07-276-57/+12
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Move Mesa-dependent input/output handling out of compilerNicolai Hähnle2009-07-275-104/+100
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove ugly PSIZ hackNicolai Hähnle2009-07-271-6/+4
| | | | | | Instead of setting Sourced, we simply force writemasks to begin with. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Refactor wpos rewrite using rc_programNicolai Hähnle2009-07-273-61/+51
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Refactor fog_as_texcoord to use rc_programNicolai Hähnle2009-07-274-36/+34
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Refactor addArtificialOutputs to use rc_programNicolai Hähnle2009-07-275-78/+69
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/fragprog: Refactor wpos rewrite to use rc_programNicolai Hähnle2009-07-273-84/+80
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Refactor fragment program fog rewrite to use rc_programNicolai Hähnle2009-07-273-25/+44
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Refactor rewrite_depth_out to use rc_programNicolai Hähnle2009-07-271-5/+7
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Refactor local transforms to use rc_programNicolai Hähnle2009-07-2714-646/+664
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Allow compiler to add constants in a cleaner wayNicolai Hähnle2009-07-2716-145/+193
| | | | | | | | 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 <[email protected]>
* r300/compiler: Refactor nqssadce to use rc_programNicolai Hähnle2009-07-279-116/+114
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Refactor for rc_program usageNicolai Hähnle2009-07-271-29/+30
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Add rc_print_programNicolai Hähnle2009-07-272-0/+26
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Lay groundwork for better error handlingNicolai Hähnle2009-07-2712-72/+113
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove dependency on GLcontext from compilerNicolai Hähnle2009-07-273-37/+98
| | | | | | | Unfortunately, this does cause some code duplication (which we can hopefully eliminate eventually). Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Cleanup source conflict handlingNicolai Hähnle2009-07-274-188/+155
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Massively reduce code duplicationNicolai Hähnle2009-07-271-341/+42
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/vertprog: Use generic transforms and throw away unneeded codeNicolai Hähnle2009-07-273-435/+59
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Move vertex program compilation to compilerNicolai Hähnle2009-07-2711-1592/+1620
| | | | | | | This is just the first step of refactoring. The separation is not yet clean enough with this commit. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Cleanup vertex_program structureNicolai Hähnle2009-07-274-24/+32
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove faux lazy translation of vertex programsNicolai Hähnle2009-07-275-13/+7
| | | | | | | De facto, vertex programs were translated immediately in all situations, so let's just stop pretending that we do lazy translation. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Reduce include dependenciesNicolai Hähnle2009-07-274-122/+154
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Introduce rc_program and use it in radeon_pairNicolai Hähnle2009-07-2710-13/+111
| | | | | | | 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 <[email protected]>
* r300: Add radeon_compiler as a base for compilation-related tasksNicolai Hähnle2009-07-279-31/+82
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove some unnecessary includesNicolai Hähnle2009-07-271-6/+0
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/compiler: Compile the compiler seperately into an archiveNicolai Hähnle2009-07-272-14/+79
| | | | | | | This is all part of untangling the compiler from the classic driver, so that it may be used in Gallium without depending on Mesa stuff if possible Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Further reduce dependency between compiler and classic driverNicolai Hähnle2009-07-279-23/+23
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove some dependencies on additional fragment program copiesNicolai Hähnle2009-07-277-27/+24
| | | | | | | The copy is still needed because some program transforms add state variables or constants. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove GLcontext from r300_fragment_program_compilerNicolai Hähnle2009-07-272-2/+0
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove GLcontext requirement from radeonLocalTransformNicolai Hähnle2009-07-273-6/+2
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove unused enumsNicolai Hähnle2009-07-271-6/+0
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove GLcontext requirement from radeon_nqssadceNicolai Hähnle2009-07-274-12/+11
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300: Remove GLcontext requirement from radeon_program_pairNicolai Hähnle2009-07-274-9/+7
| | | | Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/program_pair: Introduce driver-specific texture instruction structureNicolai Hähnle2009-07-274-22/+61
| | | | | | | This is to prepare more experimentation and possible internal changes in the compiler. Signed-off-by: Nicolai Hähnle <[email protected]>
* r300/program_pair: Dynamically allocate instructions temporarilyNicolai Hähnle2009-07-274-105/+237
| | | | | | | In preparation of using TGSI, where we cannot easily predict the number of instructions. Signed-off-by: Nicolai Hähnle <[email protected]>