From 65d5231381ae3290cf99a8c272c7da569da956c8 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Tue, 1 Oct 2024 16:59:34 +0200 Subject: [PATCH] panvk: Advertise KHR_create_renderpass2 support This is implemented for us by vk_renderpass.c, so let's enable it and get rid of the skips caused by a NULL dereference on ->CreateRenderPass2(), even though that's a CTS bug. Signed-off-by: Boris Brezillon Reviewed-by: Mary Guillemard Part-of: --- src/panfrost/ci/panfrost-g52-fails.txt | 18 ++++++++++++++++++ src/panfrost/ci/panfrost-g52-skips.txt | 5 ----- src/panfrost/vulkan/panvk_physical_device.c | 1 + 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/panfrost/ci/panfrost-g52-fails.txt b/src/panfrost/ci/panfrost-g52-fails.txt index 484acaabfa9..54f66d610aa 100644 --- a/src/panfrost/ci/panfrost-g52-fails.txt +++ b/src/panfrost/ci/panfrost-g52-fails.txt @@ -2738,6 +2738,24 @@ dEQP-VK.renderpass.suballocation.subpass_dependencies.late_fragment_tests.render dEQP-VK.renderpass.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_3.d24_unorm_s8_uint,Fail dEQP-VK.renderpass.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_3.d32_sfloat_s8_uint,Fail dEQP-VK.renderpass.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_5.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_2.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_3.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_2.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_5.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_2.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_2.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_3.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_3.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_5.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_128_128.subpass_count_5.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_2.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_3.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_5.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_32_32.subpass_count_5.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_2.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_3.d24_unorm_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_3.d32_sfloat_s8_uint,Fail +dEQP-VK.renderpass2.suballocation.subpass_dependencies.late_fragment_tests.render_size_64_64.subpass_count_5.d24_unorm_s8_uint,Fail dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.basic_type.no_perspective,Fail dEQP-VK.spirv_assembly.instruction.graphics.cross_stage.interface_blocks.no_perspective,Fail diff --git a/src/panfrost/ci/panfrost-g52-skips.txt b/src/panfrost/ci/panfrost-g52-skips.txt index 36d13de58cf..70bbf332d55 100644 --- a/src/panfrost/ci/panfrost-g52-skips.txt +++ b/src/panfrost/ci/panfrost-g52-skips.txt @@ -80,11 +80,6 @@ dEQP-VK.draw.renderpass.indirect_draw.* dEQP-VK.draw.renderpass.*.draw_indirect* dEQP-VK.draw.renderpass.*.draw_indexed_indirect* -# CreateRenderPass2 missing -# VKCTS bug: vktSynchronizationNoneStageTests.cpp doesn't check for VK_KHR_create_renderpass2 support and use CreateRenderPass2 -# TODO: Report it -dEQP-VK.synchronization2.none_stage.* - # textureQueryLod not supported yet dEQP-VK.glsl.texture_functions.query.texturequerylod.* diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index b984c0fcc33..b7988a06313 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -64,6 +64,7 @@ get_device_extensions(const struct panvk_physical_device *device, *ext = (struct vk_device_extension_table){ .KHR_buffer_device_address = true, .KHR_copy_commands2 = true, + .KHR_create_renderpass2 = true, .KHR_device_group = true, .KHR_descriptor_update_template = true, .KHR_driver_properties = true,