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 <kher...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev