diff options
| author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-02-16 19:49:24 -0300 |
|---|---|---|
| committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-22 21:51:22 -0400 |
| commit | 073f346f8cf4a115e4b36d01f5df5ffc5a45f9ba (patch) | |
| tree | 47ec548d43d72ae4bfd85c8052cca6fca29498b4 /src/shader_recompiler/frontend/ir/value.cpp | |
| parent | a93521dc7ea55da9c14ca4d4c125d30cea2d3365 (diff) | |
shader: Add utility to resolve identities on a value
Diffstat (limited to 'src/shader_recompiler/frontend/ir/value.cpp')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/value.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/value.cpp b/src/shader_recompiler/frontend/ir/value.cpp index 9ea61813ba..718314213d 100644 --- a/src/shader_recompiler/frontend/ir/value.cpp +++ b/src/shader_recompiler/frontend/ir/value.cpp @@ -79,6 +79,13 @@ IR::Inst* Value::InstRecursive() const { return inst; } +IR::Value Value::Resolve() const { + if (IsIdentity()) { + return inst->Arg(0).Resolve(); + } + return *this; +} + IR::Reg Value::Reg() const { ValidateAccess(Type::Reg); return reg; |
