summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/node.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-07-30 05:21:46 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-09-05 06:38:37 +0200
commitf17415d431777bb234714a3c6a97072872b2cc71 (patch)
treecb6d6fea921dc9609d2537976a8cbb4c4cb7811c /src/video_core/shader/node.h
parentMerge pull request #2797 from FearlessTobi/port-4877 (diff)
downloadyuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar.gz
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar.bz2
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar.lz
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar.xz
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.tar.zst
yuzu-f17415d431777bb234714a3c6a97072872b2cc71.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/shader/node.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/video_core/shader/node.h b/src/video_core/shader/node.h
index 5db9313c4..e0d1979fa 100644
--- a/src/video_core/shader/node.h
+++ b/src/video_core/shader/node.h
@@ -198,12 +198,13 @@ class PredicateNode;
class AbufNode;
class CbufNode;
class LmemNode;
+class SmemNode;
class GmemNode;
class CommentNode;
using NodeData =
std::variant<OperationNode, ConditionalNode, GprNode, ImmediateNode, InternalFlagNode,
- PredicateNode, AbufNode, CbufNode, LmemNode, GmemNode, CommentNode>;
+ PredicateNode, AbufNode, CbufNode, LmemNode, SmemNode, GmemNode, CommentNode>;
using Node = std::shared_ptr<NodeData>;
using Node4 = std::array<Node, 4>;
using NodeBlock = std::vector<Node>;
@@ -536,6 +537,19 @@ private:
Node address;
};
+/// Shared memory node
+class SmemNode final {
+public:
+ explicit SmemNode(Node address) : address{std::move(address)} {}
+
+ const Node& GetAddress() const {
+ return address;
+ }
+
+private:
+ Node address;
+};
+
/// Global memory node
class GmemNode final {
public: