aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/program/prog_optimize.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-08-08 13:41:53 +0200
committermarha <marha@users.sourceforge.net>2011-08-08 13:41:53 +0200
commit0c2b3e6fd26158cb97f4210cc891e218801b4b25 (patch)
treecd9cabb6972dab80fa1278aebb17704dcc34d8ba /mesalib/src/mesa/program/prog_optimize.c
parentd105412503ea250e07d3cb008f10f60e6e48bf8a (diff)
downloadvcxsrv-0c2b3e6fd26158cb97f4210cc891e218801b4b25.tar.gz
vcxsrv-0c2b3e6fd26158cb97f4210cc891e218801b4b25.tar.bz2
vcxsrv-0c2b3e6fd26158cb97f4210cc891e218801b4b25.zip
mesa xkeyboard-config git update 8 aug 2011
Diffstat (limited to 'mesalib/src/mesa/program/prog_optimize.c')
-rw-r--r--mesalib/src/mesa/program/prog_optimize.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/mesalib/src/mesa/program/prog_optimize.c b/mesalib/src/mesa/program/prog_optimize.c
index f4a7a638d..3340ce049 100644
--- a/mesalib/src/mesa/program/prog_optimize.c
+++ b/mesalib/src/mesa/program/prog_optimize.c
@@ -472,8 +472,7 @@ can_downward_mov_be_modifed(const struct prog_instruction *mov)
mov->SrcReg[0].HasIndex2 == 0 &&
mov->SrcReg[0].RelAddr2 == 0 &&
mov->DstReg.RelAddr == 0 &&
- mov->DstReg.CondMask == COND_TR &&
- mov->SaturateMode == SATURATE_OFF;
+ mov->DstReg.CondMask == COND_TR;
}
@@ -482,7 +481,8 @@ can_upward_mov_be_modifed(const struct prog_instruction *mov)
{
return
can_downward_mov_be_modifed(mov) &&
- mov->DstReg.File == PROGRAM_TEMPORARY;
+ mov->DstReg.File == PROGRAM_TEMPORARY &&
+ mov->SaturateMode == SATURATE_OFF;
}
@@ -657,6 +657,8 @@ _mesa_merge_mov_into_inst(struct prog_instruction *inst,
if (mask != (inst->DstReg.WriteMask & mask))
return GL_FALSE;
+ inst->SaturateMode |= mov->SaturateMode;
+
/* Depending on the instruction, we may need to recompute the swizzles.
* Also, some other instructions (like TEX) are not linear. We will only
* consider completely active sources and destinations