summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-05-25 00:35:37 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:36 +0200
commit3d9ecbe99844c44074c26f2db4db376059f50534 (patch)
tree143a67c8da0e7df7568f79196339f5423931c757 /src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
parentglsl: Implement FCMP (diff)
downloadyuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar.gz
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar.bz2
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar.lz
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar.xz
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.tar.zst
yuzu-3d9ecbe99844c44074c26f2db4db376059f50534.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp9
1 files changed, 7 insertions, 2 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 fb2031fc8..884ade004 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -687,9 +687,7 @@ void VisitUsages(Info& info, IR::Inst& inst) {
case IR::Opcode::LoadStorage32:
case IR::Opcode::WriteStorage32:
case IR::Opcode::StorageAtomicIAdd32:
- case IR::Opcode::StorageAtomicSMin32:
case IR::Opcode::StorageAtomicUMin32:
- case IR::Opcode::StorageAtomicSMax32:
case IR::Opcode::StorageAtomicUMax32:
case IR::Opcode::StorageAtomicAnd32:
case IR::Opcode::StorageAtomicOr32:
@@ -714,6 +712,13 @@ void VisitUsages(Info& info, IR::Inst& inst) {
case IR::Opcode::SharedAtomicExchange64:
info.uses_int64_bit_atomics = true;
break;
+ case IR::Opcode::GlobalAtomicSMin32:
+ case IR::Opcode::GlobalAtomicSMax32:
+ case IR::Opcode::StorageAtomicSMin32:
+ case IR::Opcode::StorageAtomicSMax32:
+ info.used_storage_buffer_types |= IR::Type::U32;
+ info.uses_s32_atomics = true;
+ break;
case IR::Opcode::GlobalAtomicInc32:
case IR::Opcode::StorageAtomicInc32:
info.used_storage_buffer_types |= IR::Type::U32;