diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2011-02-16 11:42:28 +0100 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2011-02-16 15:45:31 +0100 |
commit | bb2c8e709975223e8131b7c627c08eeb4f3ec88d (patch) | |
tree | 1fa98230d2827326a0fa937d63b63fa1be381048 /src/gallium/drivers/nvc0 | |
parent | 2fa35eedd9dbc193904256e6004913e94a044158 (diff) |
nvc0: don't swap sources if either value is not in a GPR
The memory / immediate source should already be in the only valid
position.
Diffstat (limited to 'src/gallium/drivers/nvc0')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_pc_optimize.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c index 12a31493c7..3d03400518 100644 --- a/src/gallium/drivers/nvc0/nvc0_pc_optimize.c +++ b/src/gallium/drivers/nvc0/nvc0_pc_optimize.c @@ -245,6 +245,9 @@ check_swap_src_0_1(struct nv_instruction *nvi) return; assert(src0 && src1 && src0->value && src1->value); + if (src1->value->reg.file != NV_FILE_GPR) + return; + if (is_cspace_load(src0->value->insn)) { if (!is_cspace_load(src1->value->insn)) { nvi->src[0] = src1; |