diff options
author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-05-25 00:35:37 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:36 +0200 |
commit | 3d9ecbe99844c44074c26f2db4db376059f50534 (patch) | |
tree | 143a67c8da0e7df7568f79196339f5423931c757 /src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp | |
parent | glsl: Implement FCMP (diff) | |
download | yuzu-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 'src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp')
-rw-r--r-- | src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp | 9 |
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; |