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.
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user