summaryrefslogtreecommitdiffstats
path: root/src/shader_recompiler/ir_opt
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-12-19 04:20:25 +0100
committerLiam <byteslice@airmail.cc>2023-12-19 04:25:14 +0100
commitfcfa8b680b6aedd4b51757d4e33e97ef2cdae048 (patch)
treede1aac013700c0e22d378b8a35f5f20b6e35d161 /src/shader_recompiler/ir_opt
parentshader_recompiler: ignore clip distances beyond driver support level (diff)
downloadyuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar.gz
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar.bz2
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar.lz
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar.xz
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.tar.zst
yuzu-fcfa8b680b6aedd4b51757d4e33e97ef2cdae048.zip
Diffstat (limited to 'src/shader_recompiler/ir_opt')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp6
1 files changed, 5 insertions, 1 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 70292686f..cb82a326c 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -913,7 +913,11 @@ void GatherInfoFromHeader(Environment& env, Info& info) {
}
for (size_t index = 0; index < 8; ++index) {
const u16 mask{header.vtg.omap_systemc.clip_distances};
- info.stores.Set(IR::Attribute::ClipDistance0 + index, ((mask >> index) & 1) != 0);
+ const bool used{((mask >> index) & 1) != 0};
+ info.stores.Set(IR::Attribute::ClipDistance0 + index, used);
+ if (used) {
+ info.used_clip_distances = static_cast<u32>(index) + 1;
+ }
}
info.stores.Set(IR::Attribute::PrimitiveId,
header.vtg.omap_systemb.primitive_array_id != 0);