diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-09 19:09:38 +0200 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2010-09-09 19:21:35 +0200 |
commit | 6997da9f3cf22b9d11ffdfa6ad25b68ef4913fc3 (patch) | |
tree | 174ea76beb97641ee7b798377bc4fd734c196d5b /src/gallium/drivers/nv50 | |
parent | 6b14a3eb191ab798e524f2413180256fbcc2b33e (diff) |
nv50: fix can_load check for 3rd source
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_pc.c | 12 |
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 */ |