diff options
author | Christoph Bumiller <[email protected]> | 2011-02-20 13:13:11 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2011-02-24 17:35:36 +0100 |
commit | b5f04b20089c219f760fb6a369041bd782708247 (patch) | |
tree | 6785fb6f7256f18ae52dbe0766abbaf7e095f158 /src/gallium/drivers/nvc0/nvc0_pc.c | |
parent | 96121399077787a9701c173dbb3ce0d1f30f00a9 (diff) |
nvc0: don't fold loads from local memory
Diffstat (limited to 'src/gallium/drivers/nvc0/nvc0_pc.c')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_pc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_pc.c b/src/gallium/drivers/nvc0/nvc0_pc.c index 3a3a00f27be..f51d289e8cd 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc.c +++ b/src/gallium/drivers/nvc0/nvc0_pc.c @@ -44,6 +44,11 @@ nvc0_insn_can_load(struct nv_instruction *nvi, int s, if (ld->indirect >= 0) return FALSE; + /* a few ops can use g[] sources directly, but we don't support g[] yet */ + if (ld->src[0]->value->reg.file == NV_FILE_MEM_L || + ld->src[0]->value->reg.file == NV_FILE_MEM_G) + return FALSE; + for (i = 0; i < 3 && nvi->src[i]; ++i) if (nvi->src[i]->value->reg.file == NV_FILE_IMM) return FALSE; |