summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-04-15 15:03:49 -0400
committerGravatar GitHub2020-04-15 15:03:49 -0400
commite33196d4e7687dd29636decd4b52e01b10fe8984 (patch)
treeb20b84dc47b9ef48c8701951ead117f52252e6e5 /src/video_core/engines
parentMerge pull request #3670 from lioncash/reorder (diff)
parentshader/memory: Implement RED.E.ADD (diff)
downloadyuzu-e33196d4e7687dd29636decd4b52e01b10fe8984.tar.gz
yuzu-e33196d4e7687dd29636decd4b52e01b10fe8984.tar.xz
yuzu-e33196d4e7687dd29636decd4b52e01b10fe8984.zip
Merge pull request #3612 from ReinUsesLisp/red
shader/memory: Implement RED.E.ADD and minor changes to ATOM
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/shader_bytecode.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 430ee86ba..5e9cfba22 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -1006,6 +1006,12 @@ union Instruction {
1006 } stg; 1006 } stg;
1007 1007
1008 union { 1008 union {
1009 BitField<23, 3, AtomicOp> operation;
1010 BitField<48, 1, u64> extended;
1011 BitField<20, 3, GlobalAtomicType> type;
1012 } red;
1013
1014 union {
1009 BitField<52, 4, AtomicOp> operation; 1015 BitField<52, 4, AtomicOp> operation;
1010 BitField<49, 3, GlobalAtomicType> type; 1016 BitField<49, 3, GlobalAtomicType> type;
1011 BitField<28, 20, s64> offset; 1017 BitField<28, 20, s64> offset;
@@ -1787,6 +1793,7 @@ public:
1787 ST_S, 1793 ST_S,
1788 ST, // Store in generic memory 1794 ST, // Store in generic memory
1789 STG, // Store in global memory 1795 STG, // Store in global memory
1796 RED, // Reduction operation
1790 ATOM, // Atomic operation on global memory 1797 ATOM, // Atomic operation on global memory
1791 ATOMS, // Atomic operation on shared memory 1798 ATOMS, // Atomic operation on shared memory
1792 AL2P, // Transforms attribute memory into physical memory 1799 AL2P, // Transforms attribute memory into physical memory
@@ -2097,6 +2104,7 @@ private:
2097 INST("1110111101010---", Id::ST_L, Type::Memory, "ST_L"), 2104 INST("1110111101010---", Id::ST_L, Type::Memory, "ST_L"),
2098 INST("101-------------", Id::ST, Type::Memory, "ST"), 2105 INST("101-------------", Id::ST, Type::Memory, "ST"),
2099 INST("1110111011011---", Id::STG, Type::Memory, "STG"), 2106 INST("1110111011011---", Id::STG, Type::Memory, "STG"),
2107 INST("1110101111111---", Id::RED, Type::Memory, "RED"),
2100 INST("11101101--------", Id::ATOM, Type::Memory, "ATOM"), 2108 INST("11101101--------", Id::ATOM, Type::Memory, "ATOM"),
2101 INST("11101100--------", Id::ATOMS, Type::Memory, "ATOMS"), 2109 INST("11101100--------", Id::ATOMS, Type::Memory, "ATOMS"),
2102 INST("1110111110100---", Id::AL2P, Type::Memory, "AL2P"), 2110 INST("1110111110100---", Id::AL2P, Type::Memory, "AL2P"),