From bd06680b61de0aff8a1d31235ac373db7953eecd Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 16 Mar 2022 13:59:52 -0400 Subject: [PATCH] lavapipe: KHR_synchronization2 Reviewed-by: Jason Ekstrand Reviewed-by: Dave Airlie Part-of: --- src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt | 4 ++++ src/gallium/frontends/lavapipe/lvp_device.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt b/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt index 3d6224e8202..954ef49c6f2 100644 --- a/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt +++ b/src/gallium/frontends/lavapipe/ci/lvp-asan-fails.txt @@ -15,6 +15,10 @@ dEQP-VK.renderpass2.suballocation.formats.r16g16b16a16_unorm.input.dont_care.don dEQP-VK.renderpass2.suballocation.formats.r8g8b8a8_sint.input.load.dont_care.clear_draw,Fail dEQP-VK.memory_model.message_passing.ext.u32.noncoherent.atomic_atomic.atomicwrite.device.payload_local.image.guard_local.image.vert,Fail dEQP-VK.memory_model.write_after_read.ext.u32.noncoherent.fence_fence.atomicwrite.device.payload_local.buffer.guard_local.image.vert,Fail +dEQP-VK.synchronization2.op.single_queue.timeline_semaphore.write_image_geometry_read_copy_image.image_128x128_r8g8b8a8_unorm,Fail +dEQP-VK.synchronization2.timeline_semaphore.device_host.write_image_vertex_read_image_compute.image_128x128_r32g32b32a32_sfloat,Fail +dEQP-VK.synchronization2.timeline_semaphore.one_to_n.write_image_tess_control_read_image_tess_eval.image_128_r32_uint,Fail +dEQP-VK.synchronization2.timeline_semaphore.wait_before_signal.write_image_tess_eval_read_copy_image.image_128x128_r8g8b8a8_unorm,Fail # Direct leak of 24 byte(s) in 1 object(s) allocated from: # #0 0x7f29a36d1e8f in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145 diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c index 5d2dd47b120..5ad3c8c21f3 100644 --- a/src/gallium/frontends/lavapipe/lvp_device.c +++ b/src/gallium/frontends/lavapipe/lvp_device.c @@ -129,6 +129,7 @@ static const struct vk_device_extension_table lvp_device_extensions_supported = #ifdef LVP_USE_WSI_PLATFORM .KHR_swapchain = true, #endif + .KHR_synchronization2 = true, .KHR_timeline_semaphore = true, .KHR_uniform_buffer_standard_layout = true, .KHR_variable_pointers = true, @@ -732,6 +733,12 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures2( features->privateData = true; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: { + VkPhysicalDeviceSynchronization2Features *features = + (VkPhysicalDeviceSynchronization2Features *)ext; + features->synchronization2 = true; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: { VkPhysicalDevicePipelineCreationCacheControlFeatures *features = (VkPhysicalDevicePipelineCreationCacheControlFeatures *)ext;