diff --git a/docs/features.txt b/docs/features.txt index 18e1658b8c3..bf6a06910e9 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -590,7 +590,7 @@ Khronos extensions that are not part of any Vulkan version: VK_EXT_debug_report DONE (anv, dzn, lvp, nvk, panvk, pvr, radv, tu, v3dv) VK_EXT_debug_utils DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv) VK_EXT_depth_bias_control DONE (anv, nvk, radv, vn) - VK_EXT_depth_clamp_control DONE (anv, hasvk, nvk, radv) + VK_EXT_depth_clamp_control DONE (anv, hasvk, nvk, radv, vn) VK_EXT_depth_clip_control DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn) VK_EXT_depth_clip_enable DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv/vc7+, vn) VK_EXT_depth_range_unrestricted DONE (anv/gen20+, nvk, radv, lvp, vn) diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c index d829fc05aab..70c208ef6b3 100644 --- a/src/virtio/vulkan/vn_command_buffer.c +++ b/src/virtio/vulkan/vn_command_buffer.c @@ -2825,3 +2825,12 @@ vn_CmdSetDepthBias2EXT(VkCommandBuffer commandBuffer, { VN_CMD_ENQUEUE(vkCmdSetDepthBias2EXT, commandBuffer, pDepthBiasInfo); } + +void +vn_CmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer, + VkDepthClampModeEXT depthClampMode, + const VkDepthClampRangeEXT *pDepthClampRange) +{ + VN_CMD_ENQUEUE(vkCmdSetDepthClampRangeEXT, commandBuffer, depthClampMode, + pDepthClampRange); +} diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index 7f8df8a7ab9..ab47a939af8 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -181,6 +181,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VkPhysicalDeviceConditionalRenderingFeaturesEXT conditional_rendering; VkPhysicalDeviceCustomBorderColorFeaturesEXT custom_border_color; VkPhysicalDeviceDepthBiasControlFeaturesEXT depth_bias_control; + VkPhysicalDeviceDepthClampControlFeaturesEXT depth_clamp_control; VkPhysicalDeviceDepthClipControlFeaturesEXT depth_clip_control; VkPhysicalDeviceDepthClipEnableFeaturesEXT depth_clip_enable; VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT @@ -327,6 +328,7 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VN_ADD_PNEXT_EXT(feats2, CONDITIONAL_RENDERING_FEATURES_EXT, local_feats.conditional_rendering, exts->EXT_conditional_rendering); VN_ADD_PNEXT_EXT(feats2, CUSTOM_BORDER_COLOR_FEATURES_EXT, local_feats.custom_border_color, exts->EXT_custom_border_color); VN_ADD_PNEXT_EXT(feats2, DEPTH_BIAS_CONTROL_FEATURES_EXT, local_feats.depth_bias_control, exts->EXT_depth_bias_control); + VN_ADD_PNEXT_EXT(feats2, DEPTH_CLAMP_CONTROL_FEATURES_EXT, local_feats.depth_clamp_control, exts->EXT_depth_clamp_control); VN_ADD_PNEXT_EXT(feats2, DEPTH_CLIP_CONTROL_FEATURES_EXT, local_feats.depth_clip_control, exts->EXT_depth_clip_control); VN_ADD_PNEXT_EXT(feats2, DEPTH_CLIP_ENABLE_FEATURES_EXT, local_feats.depth_clip_enable, exts->EXT_depth_clip_enable); VN_ADD_PNEXT_EXT(feats2, DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT, local_feats.dynamic_rendering_unused_attachments, exts->EXT_dynamic_rendering_unused_attachments); @@ -1271,6 +1273,7 @@ vn_physical_device_get_passthrough_extensions( .EXT_conservative_rasterization = true, .EXT_custom_border_color = true, .EXT_depth_bias_control = true, + .EXT_depth_clamp_control = true, .EXT_depth_clamp_zero_one = true, .EXT_depth_clip_control = true, .EXT_depth_clip_enable = true,