Module: Mesa Branch: 7.9 Commit: 0a8ad737e793c595b8e793f177af8d8ead92bc25 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a8ad737e793c595b8e793f177af8d8ead92bc25
Author: Marek Olšák <[email protected]> Date: Sat Dec 11 13:22:19 2010 +0100 r300/compiler: fix swizzle lowering with a presubtract source operand If a source operand has a non-native swizzle (e.g. the KIL instruction cannot have a swizzle other than .xyzw), the lowering pass uses one or more MOV instructions to move the operand to an intermediate temporary with native swizzles. This commit fixes that the presubtract information was lost during the lowering. NOTE: This is a candidate for both the 7.9 and 7.10 branches. (cherry picked from commit d0990db6bd7d6e9e1cd780dc6b50ce00408a3cbc) --- .../dri/r300/compiler/radeon_dataflow_swizzles.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c index a0f7bd8..133a9f7 100644 --- a/src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c +++ b/src/mesa/drivers/dri/r300/compiler/radeon_dataflow_swizzles.c @@ -56,6 +56,7 @@ static void rewrite_source(struct radeon_compiler * c, mov->U.I.DstReg.Index = tempreg; mov->U.I.DstReg.WriteMask = split.Phase[phase]; mov->U.I.SrcReg[0] = inst->U.I.SrcReg[src]; + mov->U.I.PreSub = inst->U.I.PreSub; phase_refmask = 0; for(unsigned int chan = 0; chan < 4; ++chan) { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
