[Mesa-dev] [PATCH] nvir/nvc0: fix CVT lowering for dType == sType
Karol Herbst
kherbst at redhat.com
Tue Dec 5 14:17:41 UTC 2017
The lowering code can't really handle that situation well and we just get away
with converting it to OP_MOV in this case.
Signed-off-by: Karol Herbst <kherbst at redhat.com>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
index b0834a8035..da2f979e66 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
@@ -2808,6 +2808,11 @@ NVC0LoweringPass::handleCVT(Instruction *i)
if (isFloatType(i->dType) || isFloatType(i->sType))
return true;
+ if (i->dType == i->sType) {
+ i->op = OP_MOV;
+ return true;
+ }
+
if (i->saturate && (typeSizeof(i->sType) > typeSizeof(i->dType))) {
if (isSignedIntType(i->sType) && !isSignedIntType(i->dType)) {
// Signed to unsigned: only need to clamp to 0
--
2.14.3
More information about the mesa-dev
mailing list