summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-07-17 21:03:53 -0300
committerGravatar ReinUsesLisp2019-09-10 20:22:31 -0300
commit36abf67e79b234a361b99a342391249095ccd79c (patch)
tree3e6e0e818e952a038fbe10262bf39cf6d52eaa61 /src/video_core/renderer_vulkan
parentMerge pull request #2823 from ReinUsesLisp/shr-clamp (diff)
downloadyuzu-36abf67e79b234a361b99a342391249095ccd79c.tar.gz
yuzu-36abf67e79b234a361b99a342391249095ccd79c.tar.xz
yuzu-36abf67e79b234a361b99a342391249095ccd79c.zip
shader/image: Implement SUATOM and fix SUST
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_shader_decompiler.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
index a35b45c9c..7675fc7b3 100644
--- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
+++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp
@@ -944,6 +944,41 @@ private:
944 return {}; 944 return {};
945 } 945 }
946 946
947 Id AtomicImageAdd(Operation operation) {
948 UNIMPLEMENTED();
949 return {};
950 }
951
952 Id AtomicImageMin(Operation operation) {
953 UNIMPLEMENTED();
954 return {};
955 }
956
957 Id AtomicImageMax(Operation operation) {
958 UNIMPLEMENTED();
959 return {};
960 }
961
962 Id AtomicImageAnd(Operation operation) {
963 UNIMPLEMENTED();
964 return {};
965 }
966
967 Id AtomicImageOr(Operation operation) {
968 UNIMPLEMENTED();
969 return {};
970 }
971
972 Id AtomicImageXor(Operation operation) {
973 UNIMPLEMENTED();
974 return {};
975 }
976
977 Id AtomicImageExchange(Operation operation) {
978 UNIMPLEMENTED();
979 return {};
980 }
981
947 Id Branch(Operation operation) { 982 Id Branch(Operation operation) {
948 const auto target = std::get_if<ImmediateNode>(&*operation[0]); 983 const auto target = std::get_if<ImmediateNode>(&*operation[0]);
949 UNIMPLEMENTED_IF(!target); 984 UNIMPLEMENTED_IF(!target);
@@ -1366,6 +1401,13 @@ private:
1366 &SPIRVDecompiler::TexelFetch, 1401 &SPIRVDecompiler::TexelFetch,
1367 1402
1368 &SPIRVDecompiler::ImageStore, 1403 &SPIRVDecompiler::ImageStore,
1404 &SPIRVDecompiler::AtomicImageAdd,
1405 &SPIRVDecompiler::AtomicImageMin,
1406 &SPIRVDecompiler::AtomicImageMax,
1407 &SPIRVDecompiler::AtomicImageAnd,
1408 &SPIRVDecompiler::AtomicImageOr,
1409 &SPIRVDecompiler::AtomicImageXor,
1410 &SPIRVDecompiler::AtomicImageExchange,
1369 1411
1370 &SPIRVDecompiler::Branch, 1412 &SPIRVDecompiler::Branch,
1371 &SPIRVDecompiler::BranchIndirect, 1413 &SPIRVDecompiler::BranchIndirect,