summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler/radeon_program_tex.c
AgeCommit message (Collapse)Author
2011-03-12r300/compiler: fix the saturate modifier when applied to TEX instructionsMarek Olšák
This bug can only be triggered if the source texture is either signed or float.
2011-03-08r300/compiler: remove unused variablesMarek Olšák
2011-03-08r300/compiler: fix equal and notequal shadow compare functionsMarek Olšák
2011-03-08r300/compiler: saturate Z before the shadow comparisonMarek Olšák
This fixes: https://bugs.freedesktop.org/show_bug.cgi?id=31159 NOTE: This is a candidate for the 7.9 and 7.10 branches.
2010-11-26r300/compiler: move util functions to radeon_compiler_utilMarek Olšák
The compiler seriously needs a cleanup as far as the arrangement of functions is concerned. It's hard to know whether some function was implemented or not because there are so many places to search in and it can be anywhere and named anyhow.
2010-09-28r300g: add support for 3D NPOT textures without mipmappingMarek Olšák
The driver actually creates a 3D texture aligned to POT and does all the magic with texture coordinates in the fragment shader. It first emulates REPEAT and MIRRORED wrap modes in the fragment shader to get the coordinates into the range [0, 1]. (already done for 2D NPOT) Then it scales them to get the coordinates of the NPOT subtexture. NPOT textures are now less of a lie and we can at least display something meaningful even for the 3D ones. Supported wrap modes: - REPEAT - MIRRORED_REPEAT - CLAMP_TO_EDGE (NEAREST filtering only) - MIRROR_CLAMP_TO_EDGE (NEAREST filtering only) - The behavior of other CLAMP modes is undefined on borders, but they usually give results very close to CLAMP_TO_EDGE with mirroring working perfectly. This fixes: - piglit/fbo-3d - piglit/tex3d-npot
2010-09-28r300/compiler: fix shadow sampling with swizzled coordsMarek Olšák
Taking the W component from coords directly ignores swizzling. Instead, take the component which is mapped to W in the TEX instruction parameter. The same for Z. NOTE: This is a candidate for the 7.9 branch.
2010-09-28r300/compiler: fix projective mapping of 2D NPOT texturesMarek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-28r300g: code cleanupsMarek Olšák
Some random stuff I had here. 1) Fixed some misleading comments. 2) Removed fake_npot, since it's redundant. 3) lower_texture_rect -> scale_texcoords 4) Reordered and reindented some TEX transform code.
2010-08-16r300/compiler: fix allocation of temporaries in radeonTransformTEXMarek Olšák
2010-05-26r300/compiler: move hardware caps to the radeon_compiler base structMarek Olšák
Needed for vertex shaders too.
2010-05-15r300/compiler: silence a warningMarek Olšák
2010-05-08r300g: respect compare mode regardless of sampler typeMarek Olšák
2010-05-08r300/compiler: fake equal/notequal for shadow samplersMarek Olšák
This is actually better than a real implementation, which would be useless due to inaccuracy (I know because I've tried to implement it).
2010-05-08r300/compiler: use perspective division only for TXP in shadow samplersMarek Olšák
2010-05-08r300/compiler: make shadow sampler codegen more readable, add commentsMarek Olšák
2010-05-08r300/compiler: generalize depth texture mode to support arbitrary swizzlesMarek Olšák
2010-04-17r300/compiler: Remove unnecessary header.Vinson Lee
2010-04-17r300/compiler: add emulation of all mirrored-clamp wrap modes for NPOT texturesMarek Olšák
2010-04-17r300/compiler: replace mirrored-repeat emulation with a faster versionMarek Olšák
Also, the Negate bitfield was 1 instead of RC_MASK_XYZ in the previous version, causing incorrect rendering.
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-16r300/compiler: restore r500-specific bits of TEX transformationsMarek Olšák
2010-04-16r300/compiler: Save Q for mirror and repeat.Corbin Simpson
2010-04-16r300/compiler: Split off texture fixes to their own file.Corbin Simpson
Yes, I'm fully aware this generates subpar code on r500.