From 2d48a7b4d0666ad16d03a22d85712617a0849046 Mon Sep 17 00:00:00 2001
From: ReinUsesLisp <reinuseslisp@airmail.cc>
Date: Sat, 9 Jan 2021 03:30:07 -0300
Subject: shader: Initial recompiler work

---
 src/shader_recompiler/frontend/ir/condition.cpp | 31 +++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 src/shader_recompiler/frontend/ir/condition.cpp

(limited to 'src/shader_recompiler/frontend/ir/condition.cpp')

diff --git a/src/shader_recompiler/frontend/ir/condition.cpp b/src/shader_recompiler/frontend/ir/condition.cpp
new file mode 100644
index 0000000000..edff35dc77
--- /dev/null
+++ b/src/shader_recompiler/frontend/ir/condition.cpp
@@ -0,0 +1,31 @@
+// Copyright 2021 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <string>
+
+#include <fmt/format.h>
+
+#include "shader_recompiler/frontend/ir/condition.h"
+
+namespace Shader::IR {
+
+std::string NameOf(Condition condition) {
+    std::string ret;
+    if (condition.FlowTest() != FlowTest::T) {
+        ret = fmt::to_string(condition.FlowTest());
+    }
+    const auto [pred, negated]{condition.Pred()};
+    if (pred != Pred::PT || negated) {
+        if (!ret.empty()) {
+            ret += '&';
+        }
+        if (negated) {
+            ret += '!';
+        }
+        ret += fmt::to_string(pred);
+    }
+    return ret;
+}
+
+} // namespace Shader::IR
-- 
cgit v1.2.3-70-g09d2