mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-03 12:57:27 +00:00
Without VK_EXT_depth_range_unrestricted a viewport depth range outside [0, 1] threw. Minecraft (PPSA17221) draws its world with scale 1 and offset 0 in negative-one-to-one clip space, so its depth is the raw z/w clamped by PA_SC_VPORT_ZMIN/ZMAX. On such a device the vertex shader now scales clip z so z/w is the console's depth, the pipeline clamps depth at the console's bounds, and two clip distances restore the near and far planes that depth clamping removes. Mode, scale and offset travel as pipeline specialization constants from the draw's vertex stage info, in both the per-draw and the registration-module path; mesh and tessellation draws with such a range still throw. The console's depth clamp bounds are clipped to [0, 1]: exact for a normalized depth target or none, and reported once for a tested or written float depth target, where a depth below 0 is stored as 0 (Minecraft clamps its float depth target to [-1, 1]). The shader validator accepts the remap's two extra clip distances next to the one a program may already export. Co-Authored-By: Claude Fable 5.1 <[email protected]>