tu: Trivially expose VK_EXT_rasterization_order_attachment_access
It is just a renamed VK_ARM_rasterization_order_attachment_access. Zink depends on it to expose KHR_blend_equation_advanced_coherent Passes GL tests via Zink: dEQP-GLES31.functional.blend_equation_advanced.* KHR-GLES31.core.blend_equation_advanced.* Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18420>
This commit is contained in:

committed by
Marge Bot

parent
1dfc5929d1
commit
dda28a3e35
@@ -573,6 +573,7 @@ Khronos extensions that are not part of any Vulkan version:
|
|||||||
VK_EXT_primitives_generated_query DONE (anv, lvp, radv, tu)
|
VK_EXT_primitives_generated_query DONE (anv, lvp, radv, tu)
|
||||||
VK_EXT_provoking_vertex DONE (anv, lvp, radv, tu, v3dv, vn)
|
VK_EXT_provoking_vertex DONE (anv, lvp, radv, tu, v3dv, vn)
|
||||||
VK_EXT_queue_family_foreign DONE (anv, radv, tu, vn)
|
VK_EXT_queue_family_foreign DONE (anv, radv, tu, vn)
|
||||||
|
VK_EXT_rasterization_order_attachment_access DONE (tu)
|
||||||
VK_EXT_robustness2 DONE (anv, lvp, radv, tu, vn)
|
VK_EXT_robustness2 DONE (anv, lvp, radv, tu, vn)
|
||||||
VK_EXT_sample_locations DONE (anv, radv/gfx9-, tu/a650)
|
VK_EXT_sample_locations DONE (anv, radv/gfx9-, tu/a650)
|
||||||
VK_EXT_shader_atomic_float DONE (anv, radv)
|
VK_EXT_shader_atomic_float DONE (anv, radv)
|
||||||
|
@@ -214,6 +214,7 @@ get_device_extensions(const struct tu_physical_device *device,
|
|||||||
.EXT_pipeline_creation_cache_control = true,
|
.EXT_pipeline_creation_cache_control = true,
|
||||||
.EXT_vertex_input_dynamic_state = true,
|
.EXT_vertex_input_dynamic_state = true,
|
||||||
.EXT_attachment_feedback_loop_layout = true,
|
.EXT_attachment_feedback_loop_layout = true,
|
||||||
|
.EXT_rasterization_order_attachment_access = true,
|
||||||
#ifndef TU_USE_KGSL
|
#ifndef TU_USE_KGSL
|
||||||
.EXT_physical_device_drm = true,
|
.EXT_physical_device_drm = true,
|
||||||
#endif
|
#endif
|
||||||
@@ -813,9 +814,9 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
|
|||||||
features->primitiveTopologyPatchListRestart = false;
|
features->primitiveTopologyPatchListRestart = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM: {
|
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: {
|
||||||
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM *features =
|
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *features =
|
||||||
(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM *)ext;
|
(VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT *)ext;
|
||||||
features->rasterizationOrderColorAttachmentAccess = true;
|
features->rasterizationOrderColorAttachmentAccess = true;
|
||||||
features->rasterizationOrderDepthAttachmentAccess = true;
|
features->rasterizationOrderDepthAttachmentAccess = true;
|
||||||
features->rasterizationOrderStencilAttachmentAccess = true;
|
features->rasterizationOrderStencilAttachmentAccess = true;
|
||||||
|
@@ -836,9 +836,9 @@ tu_CreateRenderPass2(VkDevice _device,
|
|||||||
subpass->srgb_cntl = 0;
|
subpass->srgb_cntl = 0;
|
||||||
|
|
||||||
const VkSubpassDescriptionFlagBits raster_order_access_bits =
|
const VkSubpassDescriptionFlagBits raster_order_access_bits =
|
||||||
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM |
|
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT |
|
||||||
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM |
|
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT |
|
||||||
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM;
|
VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT;
|
||||||
|
|
||||||
subpass->raster_order_attachment_access = desc->flags & raster_order_access_bits;
|
subpass->raster_order_attachment_access = desc->flags & raster_order_access_bits;
|
||||||
|
|
||||||
|
@@ -3811,14 +3811,14 @@ tu_pipeline_builder_parse_rasterization_order(
|
|||||||
if (builder->use_color_attachments) {
|
if (builder->use_color_attachments) {
|
||||||
pipeline->raster_order_attachment_access =
|
pipeline->raster_order_attachment_access =
|
||||||
blend_info->flags &
|
blend_info->flags &
|
||||||
VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM;
|
VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (builder->depth_attachment_format != VK_FORMAT_UNDEFINED) {
|
if (builder->depth_attachment_format != VK_FORMAT_UNDEFINED) {
|
||||||
pipeline->raster_order_attachment_access |=
|
pipeline->raster_order_attachment_access |=
|
||||||
ds_info->flags &
|
ds_info->flags &
|
||||||
(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM |
|
(VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT |
|
||||||
VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM);
|
VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(builder->device->physical_device->instance->debug_flags & TU_DEBUG_RAST_ORDER))
|
if (unlikely(builder->device->physical_device->instance->debug_flags & TU_DEBUG_RAST_ORDER))
|
||||||
@@ -3832,7 +3832,7 @@ tu_pipeline_builder_parse_rasterization_order(
|
|||||||
uint32_t gmem_prim_mode = NO_FLUSH;
|
uint32_t gmem_prim_mode = NO_FLUSH;
|
||||||
|
|
||||||
if (pipeline->raster_order_attachment_access) {
|
if (pipeline->raster_order_attachment_access) {
|
||||||
/* VK_ARM_rasterization_order_attachment_access:
|
/* VK_EXT_rasterization_order_attachment_access:
|
||||||
*
|
*
|
||||||
* This extension allow access to framebuffer attachments when used as
|
* This extension allow access to framebuffer attachments when used as
|
||||||
* both input and color attachments from one fragment to the next,
|
* both input and color attachments from one fragment to the next,
|
||||||
|
Reference in New Issue
Block a user