diff options
| author | 2019-09-23 21:47:03 -0400 | |
|---|---|---|
| committer | 2019-09-23 21:47:03 -0400 | |
| commit | 376f1a443216196b71d4cf88c3dcdfe2bad57802 (patch) | |
| tree | 57e88bed1db9390700011cc03c1e1173f105023c /src/video_core/engines | |
| parent | Merge pull request #2901 from DarkLordZach/mainline-title-bar (diff) | |
| parent | gl_shader_decompiler: Use uint for images and fix SUATOM (diff) | |
| download | yuzu-376f1a443216196b71d4cf88c3dcdfe2bad57802.tar.gz yuzu-376f1a443216196b71d4cf88c3dcdfe2bad57802.tar.xz yuzu-376f1a443216196b71d4cf88c3dcdfe2bad57802.zip | |
Merge pull request #2869 from ReinUsesLisp/suld
shader/image: Implement SULD and fix SUATOM
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 28272ef6f..7a6355ce2 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h | |||
| @@ -544,7 +544,7 @@ enum class VoteOperation : u64 { | |||
| 544 | Eq = 2, // allThreadsEqualNV | 544 | Eq = 2, // allThreadsEqualNV |
| 545 | }; | 545 | }; |
| 546 | 546 | ||
| 547 | enum class ImageAtomicSize : u64 { | 547 | enum class ImageAtomicOperationType : u64 { |
| 548 | U32 = 0, | 548 | U32 = 0, |
| 549 | S32 = 1, | 549 | S32 = 1, |
| 550 | U64 = 2, | 550 | U64 = 2, |
| @@ -1432,11 +1432,11 @@ union Instruction { | |||
| 1432 | ASSERT(mode == SurfaceDataMode::D_BA); | 1432 | ASSERT(mode == SurfaceDataMode::D_BA); |
| 1433 | return store_data_layout; | 1433 | return store_data_layout; |
| 1434 | } | 1434 | } |
| 1435 | } sust; | 1435 | } suldst; |
| 1436 | 1436 | ||
| 1437 | union { | 1437 | union { |
| 1438 | BitField<28, 1, u64> is_ba; | 1438 | BitField<28, 1, u64> is_ba; |
| 1439 | BitField<51, 3, ImageAtomicSize> size; | 1439 | BitField<51, 3, ImageAtomicOperationType> operation_type; |
| 1440 | BitField<33, 3, ImageType> image_type; | 1440 | BitField<33, 3, ImageType> image_type; |
| 1441 | BitField<29, 4, ImageAtomicOperation> operation; | 1441 | BitField<29, 4, ImageAtomicOperation> operation; |
| 1442 | BitField<49, 2, OutOfBoundsStore> out_of_bounds_store; | 1442 | BitField<49, 2, OutOfBoundsStore> out_of_bounds_store; |
| @@ -1595,6 +1595,7 @@ public: | |||
| 1595 | TMML_B, // Texture Mip Map Level | 1595 | TMML_B, // Texture Mip Map Level |
| 1596 | TMML, // Texture Mip Map Level | 1596 | TMML, // Texture Mip Map Level |
| 1597 | SUST, // Surface Store | 1597 | SUST, // Surface Store |
| 1598 | SULD, // Surface Load | ||
| 1598 | SUATOM, // Surface Atomic Operation | 1599 | SUATOM, // Surface Atomic Operation |
| 1599 | EXIT, | 1600 | EXIT, |
| 1600 | NOP, | 1601 | NOP, |
| @@ -1884,6 +1885,7 @@ private: | |||
| 1884 | INST("110111110110----", Id::TMML_B, Type::Texture, "TMML_B"), | 1885 | INST("110111110110----", Id::TMML_B, Type::Texture, "TMML_B"), |
| 1885 | INST("1101111101011---", Id::TMML, Type::Texture, "TMML"), | 1886 | INST("1101111101011---", Id::TMML, Type::Texture, "TMML"), |
| 1886 | INST("11101011001-----", Id::SUST, Type::Image, "SUST"), | 1887 | INST("11101011001-----", Id::SUST, Type::Image, "SUST"), |
| 1888 | INST("11101011000-----", Id::SULD, Type::Image, "SULD"), | ||
| 1887 | INST("1110101000------", Id::SUATOM, Type::Image, "SUATOM_D"), | 1889 | INST("1110101000------", Id::SUATOM, Type::Image, "SUATOM_D"), |
| 1888 | INST("0101000010110---", Id::NOP, Type::Trivial, "NOP"), | 1890 | INST("0101000010110---", Id::NOP, Type::Trivial, "NOP"), |
| 1889 | INST("11100000--------", Id::IPA, Type::Trivial, "IPA"), | 1891 | INST("11100000--------", Id::IPA, Type::Trivial, "IPA"), |