From 92c5945060b2bf52b9043d50a32ff4fd848a4162 Mon Sep 17 00:00:00 2001 From: Simon Perretta Date: Wed, 5 Mar 2025 19:45:20 +0000 Subject: [PATCH] pvr, pco: implement VK_EXT_depth_clamp_zero_one Signed-off-by: Simon Perretta Acked-by: Erik Faye-Lund Part-of: --- docs/features.txt | 2 +- src/imagination/pco/pco_nir_pvfio.c | 2 +- src/imagination/vulkan/pvr_device.c | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index ff8975153da..e93f61ec0ad 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -705,7 +705,7 @@ Khronos extensions that are not part of any Vulkan version: VK_ARM_shader_core_properties DONE (panvk/v10+) VK_EXT_mutable_descriptor_type DONE (anv, hk, lvp, nvk, panvk/v9+, radv, tu, vn) VK_EXT_swapchain_colorspace DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn) - VK_EXT_depth_clamp_zero_one DONE (anv, nvk, panvk, radv, tu, v3dv/vc7+, vn) + VK_EXT_depth_clamp_zero_one DONE (anv, nvk, panvk, pvr, radv, tu, v3dv/vc7+, vn) VK_INTEL_shader_integer_functions2 DONE (anv, hasvk, radv) VK_EXT_map_memory_placed DONE (anv, hk, nvk, radv, tu) VK_MESA_image_alignment_control DONE (anv, nvk, radv) diff --git a/src/imagination/pco/pco_nir_pvfio.c b/src/imagination/pco/pco_nir_pvfio.c index 5fd0f4518c2..6fffa5ce779 100644 --- a/src/imagination/pco/pco_nir_pvfio.c +++ b/src/imagination/pco/pco_nir_pvfio.c @@ -911,7 +911,7 @@ static nir_def *lower_pfo(nir_builder *b, nir_instr *instr, void *cb_data) if (sem.location == FRAG_RESULT_DEPTH) { assert(!state->depth_feedback_src); - state->depth_feedback_src = nir_mov(b, intr->src[0].ssa); + state->depth_feedback_src = nir_fsat(b, intr->src[0].ssa); return NIR_LOWER_INSTR_PROGRESS_REPLACE; } diff --git a/src/imagination/vulkan/pvr_device.c b/src/imagination/vulkan/pvr_device.c index 1346af53b96..259742d5e59 100644 --- a/src/imagination/vulkan/pvr_device.c +++ b/src/imagination/vulkan/pvr_device.c @@ -190,6 +190,7 @@ static void pvr_physical_device_get_supported_extensions( .KHR_timeline_semaphore = true, .KHR_uniform_buffer_standard_layout = true, .KHR_zero_initialize_workgroup_memory = false, + .EXT_depth_clamp_zero_one = true, .EXT_external_memory_dma_buf = true, .EXT_host_query_reset = true, .EXT_image_2d_view_of_3d = true, @@ -264,6 +265,9 @@ static void pvr_physical_device_get_supported_features( .variableMultisampleRate = false, .inheritedQueries = false, + /* VK_EXT_depth_clamp_zero_one */ + .depthClampZeroOne = true, + /* VK_KHR_index_type_uint8 */ .indexTypeUint8 = true,