Vulkan: Dynamic rendering unused attachments
Add support for VK_EXT_dynamic_rendering_unused_attachments. Although this is required, it needs to be registered optional for now due to lacking support when using renderdoc. Pull Request: https://projects.blender.org/blender/blender/pulls/123483
This commit is contained in:
@@ -260,6 +260,14 @@ class GHOST_DeviceVK {
|
||||
dynamic_rendering.pNext = device_create_info_p_next;
|
||||
device_create_info_p_next = &dynamic_rendering;
|
||||
|
||||
VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
|
||||
dynamic_rendering_unused_attachments = {};
|
||||
dynamic_rendering_unused_attachments.sType =
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT;
|
||||
dynamic_rendering_unused_attachments.dynamicRenderingUnusedAttachments = VK_TRUE;
|
||||
dynamic_rendering_unused_attachments.pNext = device_create_info_p_next;
|
||||
device_create_info_p_next = &dynamic_rendering_unused_attachments;
|
||||
|
||||
/* Query for Mainenance4 (core in Vulkan 1.3). */
|
||||
VkPhysicalDeviceMaintenance4FeaturesKHR maintenance_4 = {};
|
||||
maintenance_4.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR;
|
||||
@@ -942,6 +950,10 @@ GHOST_TSuccess GHOST_ContextVK::initializeDrawingContext()
|
||||
required_device_extensions.push_back(VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME);
|
||||
required_device_extensions.push_back(VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME);
|
||||
required_device_extensions.push_back(VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME);
|
||||
/* NOTE: marking this as an optional extension, but is actually required. Renderdoc doesn't
|
||||
* create a device with this extension, but seems to work when not requesting the extension.
|
||||
*/
|
||||
optional_device_extensions.push_back(VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME);
|
||||
optional_device_extensions.push_back(VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME);
|
||||
|
||||
/* Enable MoltenVK required instance extensions. */
|
||||
|
||||
Reference in New Issue
Block a user