diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/slang-ir.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 3a7ace37d..1b0f99cd3 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -4047,7 +4047,7 @@ IRInst* IRBuilder::emitCast(IRType* type, IRInst* value, bool fallbackToBuiltinC /* From Float */ {kIROp_CastFloatToInt, kIROp_FloatCast, - {kIROp_CastFloatToInt, kIROp_IntCast}, + {kIROp_Neq}, {kIROp_CastFloatToInt, kIROp_CastIntToPtr}, kIROp_CastToVoid}, /* From Bool */ @@ -4079,6 +4079,13 @@ IRInst* IRBuilder::emitCast(IRType* type, IRInst* value, bool fallbackToBuiltinC matType->getColumnCount(), matType->getLayout()); } + + if (op.op0 == kIROp_Neq) + { + IRInst* args[2] = {value, emitDefaultConstruct(value->getDataType())}; + return emitIntrinsicInst(type, op.op0, 2, args); + } + auto result = emitIntrinsicInst(t, op.op0, 1, &value); if (op.op1 != kIROp_Nop) { |
