summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/ir
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/frontend/ir/value.cpp8
-rw-r--r--src/shader_recompiler/frontend/ir/value.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/value.cpp b/src/shader_recompiler/frontend/ir/value.cpp
index 791ba2690..e8e4662e7 100644
--- a/src/shader_recompiler/frontend/ir/value.cpp
+++ b/src/shader_recompiler/frontend/ir/value.cpp
@@ -153,6 +153,14 @@ u64 Value::U64() const {
153 return imm_u64; 153 return imm_u64;
154} 154}
155 155
156f64 Value::F64() const {
157 if (IsIdentity()) {
158 return inst->Arg(0).F64();
159 }
160 ValidateAccess(Type::F64);
161 return imm_f64;
162}
163
156bool Value::operator==(const Value& other) const { 164bool Value::operator==(const Value& other) const {
157 if (type != other.type) { 165 if (type != other.type) {
158 return false; 166 return false;
diff --git a/src/shader_recompiler/frontend/ir/value.h b/src/shader_recompiler/frontend/ir/value.h
index 3602883d6..b27601e70 100644
--- a/src/shader_recompiler/frontend/ir/value.h
+++ b/src/shader_recompiler/frontend/ir/value.h
@@ -52,6 +52,7 @@ public:
52 [[nodiscard]] u32 U32() const; 52 [[nodiscard]] u32 U32() const;
53 [[nodiscard]] f32 F32() const; 53 [[nodiscard]] f32 F32() const;
54 [[nodiscard]] u64 U64() const; 54 [[nodiscard]] u64 U64() const;
55 [[nodiscard]] f64 F64() const;
55 56
56 [[nodiscard]] bool operator==(const Value& other) const; 57 [[nodiscard]] bool operator==(const Value& other) const;
57 [[nodiscard]] bool operator!=(const Value& other) const; 58 [[nodiscard]] bool operator!=(const Value& other) const;