vkd3d: Enable and require VK_KHR_dynamic_rendering.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
This commit is contained in:
Philip Rebohle 2021-11-10 17:26:04 +01:00 committed by Hans-Kristian Arntzen
parent ba04b02bf6
commit 2c92ab7d1e
3 changed files with 20 additions and 0 deletions

View File

@ -80,6 +80,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] =
VK_EXTENSION(KHR_SHADER_ATOMIC_INT64, KHR_shader_atomic_int64),
VK_EXTENSION(KHR_BIND_MEMORY_2, KHR_bind_memory2),
VK_EXTENSION(KHR_COPY_COMMANDS_2, KHR_copy_commands2),
VK_EXTENSION(KHR_DYNAMIC_RENDERING, KHR_dynamic_rendering),
/* EXT extensions */
VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps),
VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering),
@ -1374,6 +1375,13 @@ static void vkd3d_physical_device_info_init(struct vkd3d_physical_device_info *i
vk_prepend_struct(&info->features2, &info->scalar_block_layout_features);
}
if (vulkan_info->KHR_dynamic_rendering)
{
info->dynamic_rendering_features.sType =
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR;
vk_prepend_struct(&info->features2, &info->dynamic_rendering_features);
}
if (vulkan_info->VALVE_descriptor_set_host_mapping)
{
info->descriptor_set_host_mapping_features.sType =
@ -1958,6 +1966,12 @@ static HRESULT vkd3d_init_device_caps(struct d3d12_device *device,
return E_INVALIDARG;
}
if (!physical_device_info->dynamic_rendering_features.dynamicRendering)
{
ERR("KHR_dynamic_rendering is not supported by this implementation. This is required for correct operation.\n");
return E_INVALIDARG;
}
return S_OK;
}

View File

@ -128,6 +128,7 @@ struct vkd3d_vulkan_info
bool KHR_shader_atomic_int64;
bool KHR_bind_memory2;
bool KHR_copy_commands2;
bool KHR_dynamic_rendering;
/* EXT device extensions */
bool EXT_calibrated_timestamps;
bool EXT_conditional_rendering;
@ -2855,6 +2856,7 @@ struct vkd3d_physical_device_info
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT scalar_block_layout_features;
VkPhysicalDeviceImageViewMinLodFeaturesEXT image_view_min_lod_features;
VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE descriptor_set_host_mapping_features;
VkPhysicalDeviceDynamicRenderingFeaturesKHR dynamic_rendering_features;
VkPhysicalDeviceFeatures2 features2;

View File

@ -279,6 +279,10 @@ VK_DEVICE_EXT_PFN(vkGetSwapchainImagesKHR)
VK_DEVICE_EXT_PFN(vkAcquireNextImageKHR)
VK_DEVICE_EXT_PFN(vkQueuePresentKHR)
/* VK_KHR_dynamic_rendering */
VK_DEVICE_EXT_PFN(vkCmdBeginRenderingKHR)
VK_DEVICE_EXT_PFN(vkCmdEndRenderingKHR)
/* VK_AMD_buffer_marker */
VK_DEVICE_EXT_PFN(vkCmdWriteBufferMarkerAMD)