From 56c30dd9e0fec5275ed4d4b4c63bb35049dc000d Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Fri, 16 Jul 2021 20:13:15 -0400
Subject: [PATCH] glsl: Simplify FCMP emission

---
 .../backend/glsl/emit_glsl_floating_point.cpp          | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp
index 2edcf592e4..d423bfb1b1 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl_floating_point.cpp
@@ -13,12 +13,10 @@ namespace Shader::Backend::GLSL {
 namespace {
 void Compare(EmitContext& ctx, IR::Inst& inst, std::string_view lhs, std::string_view rhs,
              std::string_view op, bool ordered) {
-    ctx.AddU1("{}={}{}{}", inst, lhs, op, rhs, lhs, rhs);
-    if (ordered) {
-        ctx.Add("&&!isnan({})&&!isnan({});", lhs, rhs);
-    } else {
-        ctx.Add("||isnan({})||isnan({});", lhs, rhs);
-    }
+    const auto nan_op{ordered ? "&&!" : "||"};
+    ctx.AddU1("{}={}{}{}"
+              "{}isnan({}){}isnan({});",
+              inst, lhs, op, rhs, nan_op, lhs, nan_op, rhs);
 }
 
 bool IsPrecise(const IR::Inst& inst) {