From 2e9c53549bc77d828f060e9e16b3ef8630b9bfd8 Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Tue, 3 May 2022 03:37:47 +0200 Subject: [PATCH] tu: Expose VK_KHR_synchronization2 Part-of: --- docs/features.txt | 2 +- src/freedreno/ci/freedreno-a618-fails.txt | 26 +++++++++++++++++++++++ src/freedreno/ci/freedreno-a630-fails.txt | 26 +++++++++++++++++++++++ src/freedreno/vulkan/tu_device.c | 3 ++- 4 files changed, 55 insertions(+), 2 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index f5e4998c948..3fb31f1580e 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -478,7 +478,7 @@ Vulkan 1.3 -- all DONE: anv, radv, lvp VK_KHR_maintenance4 DONE (anv, radv, tu) VK_KHR_shader_non_semantic_info DONE (anv, radv, tu, v3dv) VK_KHR_shader_terminate_invocation DONE (anv, radv, tu) - VK_KHR_synchronization2 DONE (anv, radv) + VK_KHR_synchronization2 DONE (anv, radv, tu) VK_KHR_zero_initialize_workgroup_memory DONE (anv, radv, tu) VK_EXT_4444_formats DONE (anv, lvp, radv, tu, v3dv) VK_EXT_extended_dynamic_state DONE (anv, lvp, radv, tu) diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index 22539990945..22aca6a56c2 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -9,3 +9,29 @@ gmem-dEQP-VK.ray_tracing_pipeline.acceleration_structures.flags.cpu_built.aabbs_ dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d24_unorm_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil,Fail dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil,Fail gmem-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint.compatibility_depth_zero_stencil_zero_testing_stencil,Fail + +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3672 +dEQP-VK.synchronization2.none_stage.transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.general_to_general,Fail +dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.old_access_general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.old_access_general_to_general,Fail +dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.legacy_general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.legacy_general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_general_to_general,Fail diff --git a/src/freedreno/ci/freedreno-a630-fails.txt b/src/freedreno/ci/freedreno-a630-fails.txt index 776a53e0e98..28f6f30021e 100644 --- a/src/freedreno/ci/freedreno-a630-fails.txt +++ b/src/freedreno/ci/freedreno-a630-fails.txt @@ -1572,3 +1572,29 @@ dEQP-VK.ycbcr.copy_dimensions.src4x32768_dst4x32768.g10x6_b10x6_r10x6_3plane_420 dEQP-VK.ycbcr.format.g10x6_b10x6_r10x6_3plane_444_unorm_3pack16.tess_eval_linear_mapped,Fail dEQP-VK.ycbcr.plane_view.image_view.g16_b16_r16_3plane_444_unorm_disjoint_plane_2_compatible_format_r16_sint,Fail dEQP-VK.ycbcr.query.levels.fragment.r10x6g10x6_unorm_2pack16,Fail + +# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/3672 +dEQP-VK.synchronization2.none_stage.transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.general_to_general,Fail +dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.old_access_general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.old_access_general_to_general,Fail +dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_general,Fail +dEQP-VK.synchronization2.none_stage.legacy_general_to_transfer_src,Fail +dEQP-VK.synchronization2.none_stage.legacy_general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.old_access_general_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_transfer_dst_to_general,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_general_to_transfer_src,Fail +gmem-dEQP-VK.synchronization2.none_stage.legacy_general_to_general,Fail diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c index ee7f730f975..e2edc972907 100644 --- a/src/freedreno/vulkan/tu_device.c +++ b/src/freedreno/vulkan/tu_device.c @@ -176,6 +176,7 @@ get_device_extensions(const struct tu_physical_device *device, .KHR_shader_integer_dot_product = true, .KHR_zero_initialize_workgroup_memory = true, .KHR_shader_non_semantic_info = true, + .KHR_synchronization2 = true, #ifndef TU_USE_KGSL .KHR_timeline_semaphore = true, #endif @@ -626,7 +627,7 @@ tu_get_physical_device_features_1_3(struct tu_physical_device *pdevice, features->shaderTerminateInvocation = true; features->subgroupSizeControl = true; features->computeFullSubgroups = true; - features->synchronization2 = false; + features->synchronization2 = true; features->textureCompressionASTC_HDR = false; features->shaderZeroInitializeWorkgroupMemory = true; features->dynamicRendering = false;