Skip to content

turnip: Implement VK_EXT_depth_clamp_zero_one

What does this MR do and why?

For A6XX it's a no-op, but A7XX+ doesn't clamp to [0,1] with disabled depth clamp, to support VK_EXT_depth_clamp_zero_one we have to always enable clamp and manually set depth range to [0,1] when rs->depth_clamp_enable is false.

Passes:

 dEQP-VK.depth.*
 dEQP-GLES3.functional.fbo.depth.depth_test_clamp.* (zink)

Supersedes !29360 (closed)


What I don't like is that it's again more state tangling...

Merge request reports