diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-03-18 07:53:57 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:23 +0200 |
commit | 72990df7bad1c81d6ebc51179d34e1bfc71e0caf (patch) | |
tree | fd681d1875c91bd823841d8ca76138f729338526 /src/shader_recompiler/frontend/ir | |
parent | shader: Implement CSET and CSETP (diff) | |
download | yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar.gz yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar.bz2 yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar.lz yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar.xz yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.tar.zst yuzu-72990df7bad1c81d6ebc51179d34e1bfc71e0caf.zip |
Diffstat (limited to 'src/shader_recompiler/frontend/ir')
-rw-r--r-- | src/shader_recompiler/frontend/ir/value.cpp | 8 | ||||
-rw-r--r-- | src/shader_recompiler/frontend/ir/value.h | 1 |
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 { return imm_u64; } +f64 Value::F64() const { + if (IsIdentity()) { + return inst->Arg(0).F64(); + } + ValidateAccess(Type::F64); + return imm_f64; +} + bool Value::operator==(const Value& other) const { if (type != other.type) { 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: [[nodiscard]] u32 U32() const; [[nodiscard]] f32 F32() const; [[nodiscard]] u64 U64() const; + [[nodiscard]] f64 F64() const; [[nodiscard]] bool operator==(const Value& other) const; [[nodiscard]] bool operator!=(const Value& other) const; |