recompiler: [widescreen.cull] bltz_sites (explicit left-edge funnel widen)

Left-edge counterpart to slti_sites: emit psx_ws_cull_bltz at configured
bltz PCs. detect_cull_bltz_sites only classifies left-edge bltz for
auto_screen_x-qualified functions, so an X-only funnel wired via explicit
slti_sites had no left-edge widen. bltz_sites closes that gap. Identity at
4:3; regen-class.
This commit is contained in:
Claudio Varandas
2026-07-22 20:07:21 +01:00
parent ed5b1838b8
commit 64ca4c3dba
5 changed files with 28 additions and 4 deletions
+5
View File
@@ -99,6 +99,11 @@ struct CodeGenConfig {
// the auto-detector cannot qualify (X-only test, no height compare).
std::set<uint32_t> ws_cull_slti_sites;
// `bltz rs, reject` emitted through psx_ws_cull_bltz — the explicit
// LEFT-edge counterpart to ws_cull_slti_sites ([widescreen.cull]
// bltz_sites), for X-only funnels the auto-detector cannot qualify.
std::set<uint32_t> ws_cull_bltz_sites;
// Explicit horizontal low-edge widen sites ([widescreen.cull]
// negsub_sites): `subu rd, zero, rs` becomes `-rs - x_margin`.
// Identity at 4:3; empty by default.