summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-04-11 07:37:03 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:27 +0200
commitab543f18213133b3076b81f30df386d5cb470e49 (patch)
tree7d34e2e5e168225a4e1d5a6750eae31174d2a530 /src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
parentshader: Move LaneId to the warp emission file and fix AMD (diff)
downloadyuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar.gz
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar.bz2
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar.lz
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar.xz
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.tar.zst
yuzu-ab543f18213133b3076b81f30df386d5cb470e49.zip
Diffstat (limited to '')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp7
1 files changed, 7 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 8c63c9876..9ef8688c9 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -421,6 +421,13 @@ void VisitUsages(Info& info, IR::Inst& inst) {
inst.GetAssociatedPseudoOperation(IR::Opcode::GetSparseFromOp) != nullptr;
break;
}
+ case IR::Opcode::ImageRead: {
+ const auto flags{inst.Flags<IR::TextureInstInfo>()};
+ info.uses_typeless_image_reads |= flags.image_format == ImageFormat::Typeless;
+ info.uses_sparse_residency |=
+ inst.GetAssociatedPseudoOperation(IR::Opcode::GetSparseFromOp) != nullptr;
+ break;
+ }
case IR::Opcode::SubgroupEqMask:
case IR::Opcode::SubgroupLtMask:
case IR::Opcode::SubgroupLeMask: