diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2018-12-21 02:51:38 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-01-15 21:54:49 +0100 |
commit | 12a95ff4532f7133893d55c964f1a62c6611d753 (patch) | |
tree | c7edb3f54c73d44a8459fded09790b21f148cf0c | |
parent | shader_ir: Add internal flag getters (diff) | |
download | yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar.gz yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar.bz2 yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar.lz yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar.xz yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.tar.zst yuzu-12a95ff4532f7133893d55c964f1a62c6611d753.zip |
-rw-r--r-- | src/video_core/shader/shader_ir.cpp | 4 | ||||
-rw-r--r-- | src/video_core/shader/shader_ir.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/shader/shader_ir.cpp b/src/video_core/shader/shader_ir.cpp index 62a139e56..42695149f 100644 --- a/src/video_core/shader/shader_ir.cpp +++ b/src/video_core/shader/shader_ir.cpp @@ -117,6 +117,10 @@ Node ShaderIR::GetInternalFlag(InternalFlag flag, bool negated) { return node; } +Node ShaderIR::GetLocalMemory(Node address) { + return StoreNode(LmemNode(address)); +} + /*static*/ OperationCode ShaderIR::SignedToUnsignedCode(OperationCode operation_code, bool is_signed) { if (is_signed) { diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h index d839d1f1b..64c30bb6a 100644 --- a/src/video_core/shader/shader_ir.h +++ b/src/video_core/shader/shader_ir.h @@ -631,6 +631,9 @@ private: Node GetOutputAttribute(Tegra::Shader::Attribute::Index index, u64 element, Node buffer); /// Generates a node representing an internal flag Node GetInternalFlag(InternalFlag flag, bool negated = false); + /// Generates a node representing a local memory address + Node GetLocalMemory(Node address); + template <typename... T> inline Node Operation(OperationCode code, const T*... operands) { |