Module: Mesa
Branch: main
Commit: bd06680b61de0aff8a1d31235ac373db7953eecd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd06680b61de0aff8a1d31235ac373db7953eecd

Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Mar 16 13:59:52 2022 -0400

lavapipe: KHR_synchronization2

Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15413>

---

 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;

Reply via email to