diff options
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp index 960bdea6f..f6492dffd 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_integer.cpp | |||
| @@ -42,7 +42,7 @@ Id EmitIAdd32(EmitContext& ctx, IR::Inst* inst, Id a, Id b) { | |||
| 42 | SetSignFlag(ctx, inst, result); | 42 | SetSignFlag(ctx, inst, result); |
| 43 | if (IR::Inst * overflow{inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp)}) { | 43 | if (IR::Inst * overflow{inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp)}) { |
| 44 | // https://stackoverflow.com/questions/55468823/how-to-detect-integer-overflow-in-c | 44 | // https://stackoverflow.com/questions/55468823/how-to-detect-integer-overflow-in-c |
| 45 | constexpr u32 s32_max{static_cast<u32>(std::numeric_limits<s32>::max())}; | 45 | constexpr static u32 s32_max{static_cast<u32>(std::numeric_limits<s32>::max())}; |
| 46 | const Id is_positive{ctx.OpSGreaterThanEqual(ctx.U1, a, ctx.u32_zero_value)}; | 46 | const Id is_positive{ctx.OpSGreaterThanEqual(ctx.U1, a, ctx.u32_zero_value)}; |
| 47 | const Id sub_a{ctx.OpISub(ctx.U32[1], ctx.Const(s32_max), a)}; | 47 | const Id sub_a{ctx.OpISub(ctx.U32[1], ctx.Const(s32_max), a)}; |
| 48 | 48 | ||