mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
radv: Implement VK_EXT_depth_clip_enable.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
parent
03783253b1
commit
9f7e0523ce
3 changed files with 16 additions and 2 deletions
|
|
@ -881,6 +881,12 @@ void radv_GetPhysicalDeviceFeatures2(
|
|||
features->bufferDeviceAddressMultiDevice = false;
|
||||
break;
|
||||
}
|
||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: {
|
||||
VkPhysicalDeviceDepthClipEnableFeaturesEXT *features =
|
||||
(VkPhysicalDeviceDepthClipEnableFeaturesEXT *)ext;
|
||||
features->depthClipEnable = true;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ EXTENSIONS = [
|
|||
Extension('VK_EXT_display_surface_counter', 1, 'VK_USE_PLATFORM_DISPLAY_KHR'),
|
||||
Extension('VK_EXT_display_control', 1, 'VK_USE_PLATFORM_DISPLAY_KHR'),
|
||||
Extension('VK_EXT_debug_report', 9, True),
|
||||
Extension('VK_EXT_depth_clip_enable', 1, True),
|
||||
Extension('VK_EXT_depth_range_unrestricted', 1, True),
|
||||
Extension('VK_EXT_descriptor_indexing', 2, True),
|
||||
Extension('VK_EXT_discard_rectangles', 1, True),
|
||||
|
|
|
|||
|
|
@ -2727,11 +2727,18 @@ radv_pipeline_generate_raster_state(struct radeon_cmdbuf *ctx_cs,
|
|||
const VkConservativeRasterizationModeEXT mode =
|
||||
radv_get_conservative_raster_mode(vkraster);
|
||||
uint32_t pa_sc_conservative_rast = S_028C4C_NULL_SQUAD_AA_MASK_ENABLE(1);
|
||||
bool depth_clip_disable = vkraster->depthClampEnable;
|
||||
|
||||
const VkPipelineRasterizationDepthClipStateCreateInfoEXT *depth_clip_state =
|
||||
vk_find_struct_const(vkraster->pNext, PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT);
|
||||
if (depth_clip_state) {
|
||||
depth_clip_disable = !depth_clip_state->depthClipEnable;
|
||||
}
|
||||
|
||||
radeon_set_context_reg(ctx_cs, R_028810_PA_CL_CLIP_CNTL,
|
||||
S_028810_DX_CLIP_SPACE_DEF(1) | // vulkan uses DX conventions.
|
||||
S_028810_ZCLIP_NEAR_DISABLE(vkraster->depthClampEnable ? 1 : 0) |
|
||||
S_028810_ZCLIP_FAR_DISABLE(vkraster->depthClampEnable ? 1 : 0) |
|
||||
S_028810_ZCLIP_NEAR_DISABLE(depth_clip_disable ? 1 : 0) |
|
||||
S_028810_ZCLIP_FAR_DISABLE(depth_clip_disable ? 1 : 0) |
|
||||
S_028810_DX_RASTERIZATION_KILL(vkraster->rasterizerDiscardEnable ? 1 : 0) |
|
||||
S_028810_DX_LINEAR_ATTR_CLIP_ENA(1));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue