summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-02-02 18:57:22 +0100
committerGitHub <noreply@github.com>2022-02-02 18:57:22 +0100
commit09400e4f4e34d1feed9314cee734107eb40442c2 (patch)
treeec77b4867a832ae3df18707cc53da7cd9a5a9987 /src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
parentMerge pull request #7807 from german77/moar-buttons (diff)
parentemit_glsl_atomic: Implement 32x2 fallback atomic ops (diff)
downloadyuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar.gz
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar.bz2
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar.lz
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar.xz
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.tar.zst
yuzu-09400e4f4e34d1feed9314cee734107eb40442c2.zip
Diffstat (limited to 'src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
index b6a20f904..bfd2ae650 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -360,6 +360,15 @@ void VisitUsages(Info& info, IR::Inst& inst) {
case IR::Opcode::GlobalAtomicOr64:
case IR::Opcode::GlobalAtomicXor64:
case IR::Opcode::GlobalAtomicExchange64:
+ case IR::Opcode::GlobalAtomicIAdd32x2:
+ case IR::Opcode::GlobalAtomicSMin32x2:
+ case IR::Opcode::GlobalAtomicUMin32x2:
+ case IR::Opcode::GlobalAtomicSMax32x2:
+ case IR::Opcode::GlobalAtomicUMax32x2:
+ case IR::Opcode::GlobalAtomicAnd32x2:
+ case IR::Opcode::GlobalAtomicOr32x2:
+ case IR::Opcode::GlobalAtomicXor32x2:
+ case IR::Opcode::GlobalAtomicExchange32x2:
case IR::Opcode::GlobalAtomicAddF32:
case IR::Opcode::GlobalAtomicAddF16x2:
case IR::Opcode::GlobalAtomicAddF32x2:
@@ -597,6 +606,15 @@ void VisitUsages(Info& info, IR::Inst& inst) {
break;
case IR::Opcode::LoadStorage64:
case IR::Opcode::WriteStorage64:
+ case IR::Opcode::StorageAtomicIAdd32x2:
+ case IR::Opcode::StorageAtomicSMin32x2:
+ case IR::Opcode::StorageAtomicUMin32x2:
+ case IR::Opcode::StorageAtomicSMax32x2:
+ case IR::Opcode::StorageAtomicUMax32x2:
+ case IR::Opcode::StorageAtomicAnd32x2:
+ case IR::Opcode::StorageAtomicOr32x2:
+ case IR::Opcode::StorageAtomicXor32x2:
+ case IR::Opcode::StorageAtomicExchange32x2:
info.used_storage_buffer_types |= IR::Type::U32x2;
break;
case IR::Opcode::LoadStorage128: