diff options
Diffstat (limited to 'src/shader_recompiler/backend/glsl')
| -rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp index 44060df33..b0d85be99 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_integer.cpp | |||
| @@ -87,11 +87,11 @@ void EmitUDiv32(EmitContext& ctx, IR::Inst& inst, std::string_view a, std::strin | |||
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | void EmitINeg32(EmitContext& ctx, IR::Inst& inst, std::string_view value) { | 89 | void EmitINeg32(EmitContext& ctx, IR::Inst& inst, std::string_view value) { |
| 90 | ctx.AddU32("{}=uint(-({}));", inst, value); | 90 | ctx.AddU32("{}=uint(int(0)-int({}));", inst, value); |
| 91 | } | 91 | } |
| 92 | 92 | ||
| 93 | void EmitINeg64(EmitContext& ctx, IR::Inst& inst, std::string_view value) { | 93 | void EmitINeg64(EmitContext& ctx, IR::Inst& inst, std::string_view value) { |
| 94 | ctx.AddU64("{}=-({});", inst, value); | 94 | ctx.AddU64("{}=uint64_t(int64_t(0)-int64_t({}));", inst, value); |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, std::string_view value) { | 97 | void EmitIAbs32(EmitContext& ctx, IR::Inst& inst, std::string_view value) { |