diff options
| author | 2018-09-15 15:27:12 -0400 | |
|---|---|---|
| committer | 2018-09-15 15:27:12 -0400 | |
| commit | ba480ea2fbb71bb8daa184a9ab82c3aee2e24681 (patch) | |
| tree | ff8bea04a8de8757f0e287a7ecbef14ab0dbbfc3 /src/video_core/engines | |
| parent | Merge pull request #1271 from Subv/kepler_engine (diff) | |
| parent | Shaders: Implemented multiple-word loads and stores to and from attribute mem... (diff) | |
| download | yuzu-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.h | 10 |
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 | ||
| 70 | enum class AttributeSize : u64 { | ||
| 71 | Word = 0, | ||
| 72 | DoubleWord = 1, | ||
| 73 | TripleWord = 2, | ||
| 74 | QuadWord = 3, | ||
| 75 | }; | ||
| 76 | |||
| 70 | union Attribute { | 77 | union 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 { |