From 80cafa35712732f027b2ca995f8e3a85bc41da5a Mon Sep 17 00:00:00 2001 From: Rohan Garg Date: Mon, 20 Feb 2023 17:11:21 +0100 Subject: [PATCH] anv: ensure that we clamp only when EXT_depth_range_unrestricted is not enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rohan Garg Reviewed-by: Lionel Landwerlin Reviewed-by: Tapani Pälli Part-of: --- src/intel/vulkan/genX_gfx_state.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/intel/vulkan/genX_gfx_state.c b/src/intel/vulkan/genX_gfx_state.c index c9dd8a2361a..21f1aa005b2 100644 --- a/src/intel/vulkan/genX_gfx_state.c +++ b/src/intel/vulkan/genX_gfx_state.c @@ -1164,12 +1164,16 @@ genX(cmd_buffer_flush_gfx_runtime_state)(struct anv_cmd_buffer *cmd_buffer) SET_VP(VIEWPORT_SF_CLIP, vp_sf_clip.elem[i], YMaxViewPort); #undef SET_VP + const bool depth_range_unrestricted = + cmd_buffer->device->vk.enabled_extensions.EXT_depth_range_unrestricted; + + float min_depth_limit = depth_range_unrestricted ? -FLT_MAX : 0.0; + float max_depth_limit = depth_range_unrestricted ? FLT_MAX : 1.0; + float min_depth = dyn->rs.depth_clamp_enable ? - MIN2(vp->minDepth, vp->maxDepth) : - 0.0f; + MIN2(vp->minDepth, vp->maxDepth) : min_depth_limit; float max_depth = dyn->rs.depth_clamp_enable ? - MAX2(vp->minDepth, vp->maxDepth) : - 1.0f; + MAX2(vp->minDepth, vp->maxDepth) : max_depth_limit; SET(VIEWPORT_CC, vp_cc.elem[i].MinimumDepth, min_depth); SET(VIEWPORT_CC, vp_cc.elem[i].MaximumDepth, max_depth);