summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nv50/nv50_pc.c
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2010-09-09 19:09:38 +0200
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2010-09-09 19:21:35 +0200
commit6997da9f3cf22b9d11ffdfa6ad25b68ef4913fc3 (patch)
tree174ea76beb97641ee7b798377bc4fd734c196d5b /src/gallium/drivers/nv50/nv50_pc.c
parent6b14a3eb191ab798e524f2413180256fbcc2b33e (diff)
nv50: fix can_load check for 3rd source
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_pc.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_pc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/gallium/drivers/nv50/nv50_pc.c b/src/gallium/drivers/nv50/nv50_pc.c
index 637b3cf2fe..e4df742a80 100644
--- a/src/gallium/drivers/nv50/nv50_pc.c
+++ b/src/gallium/drivers/nv50/nv50_pc.c
@@ -112,13 +112,11 @@ nv50_nvi_can_load(struct nv_instruction *nvi, int s, struct nv_value *value)
if (s == 0 && (value->reg.file == NV_FILE_MEM_S ||
value->reg.file == NV_FILE_MEM_P))
return TRUE;
- if (s == 1 &&
- value->reg.file >= NV_FILE_MEM_C(0) &&
- value->reg.file <= NV_FILE_MEM_C(15))
- return TRUE;
- if (s == 2 && nvi->src[1]->value->reg.file == NV_FILE_GPR)
- return TRUE;
- return FALSE;
+ if (value->reg.file < NV_FILE_MEM_C(0) ||
+ value->reg.file > NV_FILE_MEM_C(15))
+ return FALSE;
+ return (s == 1) ||
+ ((s == 2) && (nvi->src[1]->value->reg.file == NV_FILE_GPR));
case NV_OP_MOV:
assert(s == 0);
return /* TRUE */ FALSE; /* don't turn MOVs into loads */