summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar bunnei2018-09-15 15:27:12 -0400
committerGravatar GitHub2018-09-15 15:27:12 -0400
commitba480ea2fbb71bb8daa184a9ab82c3aee2e24681 (patch)
treeff8bea04a8de8757f0e287a7ecbef14ab0dbbfc3 /src/video_core/engines
parentMerge pull request #1271 from Subv/kepler_engine (diff)
parentShaders: Implemented multiple-word loads and stores to and from attribute mem... (diff)
downloadyuzu-ba480ea2fbb71bb8daa184a9ab82c3aee2e24681.tar.gz
yuzu-ba480ea2fbb71bb8daa184a9ab82c3aee2e24681.tar.xz
yuzu-ba480ea2fbb71bb8daa184a9ab82c3aee2e24681.zip
Merge pull request #1273 from Subv/ld_sizes
Shaders: Implemented multiple-word loads and stores to and from attribute memory.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 58f2904ce..d6e2397f2 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -67,6 +67,13 @@ private:
67 u64 value{}; 67 u64 value{};
68}; 68};
69 69
70enum class AttributeSize : u64 {
71 Word = 0,
72 DoubleWord = 1,
73 TripleWord = 2,
74 QuadWord = 3,
75};
76
70union Attribute { 77union Attribute {
71 Attribute() = default; 78 Attribute() = default;
72 79
@@ -87,9 +94,10 @@ union Attribute {
87 }; 94 };
88 95
89 union { 96 union {
97 BitField<20, 10, u64> immediate;
90 BitField<22, 2, u64> element; 98 BitField<22, 2, u64> element;
91 BitField<24, 6, Index> index; 99 BitField<24, 6, Index> index;
92 BitField<47, 3, u64> size; 100 BitField<47, 3, AttributeSize> size;
93 } fmt20; 101 } fmt20;
94 102
95 union { 103 union {