aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-01-19 05:37:24 -0500
committerIlia Mirkin <[email protected]>2016-01-20 19:37:34 -0500
commitdaa0fd7843dfc3f2f209a1b755df01f4dbc8122f (patch)
tree58e2da30bc7ec082fd5fca3bf72e873348d63583
parentc0b66d96d77b646282f7e732c4c25761431336c3 (diff)
nv50/ir: 64-bit splitting fixes
Take reading shader outputs into account, and use setFlagsDef for the carry since we rely on having i->flagsDef being set. Signed-off-by: Ilia Mirkin <[email protected]>
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp
index 1bf7240e131..f58cf97646e 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_build_util.cpp
@@ -615,6 +615,7 @@ BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i,
case FILE_MEMORY_CONST:
case FILE_MEMORY_SHARED:
case FILE_SHADER_INPUT:
+ case FILE_SHADER_OUTPUT:
hi->getSrc(s)->reg.data.offset += 4;
break;
default:
@@ -625,7 +626,7 @@ BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i,
}
}
if (srcNr == 2) {
- lo->setDef(1, carry);
+ lo->setFlagsDef(1, carry);
hi->setFlagsSrc(hi->srcCount(), carry);
}
return hi;