Commit ecccf643 authored by Dave Airlie's avatar Dave Airlie
Browse files

nvk: turn on timeline semaphores

parent 4712af27
Pipeline #726981 waiting for manual action with stages
......@@ -80,6 +80,7 @@ nvk_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
.imagelessFramebuffer = true,
.separateDepthStencilLayouts = true,
.hostQueryReset = true,
.timelineSemaphore = true,
.bufferDeviceAddress = true,
.bufferDeviceAddressCaptureReplay = false,
.bufferDeviceAddressMultiDevice = false,
......@@ -317,6 +318,7 @@ nvk_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,
VK_RESOLVE_MODE_MAX_BIT,
.independentResolveNone = true,
.independentResolve = true,
.maxTimelineSemaphoreValueDifference = UINT64_MAX,
};
VkPhysicalDeviceVulkan13Properties core_1_3 = {
......@@ -387,6 +389,7 @@ nvk_get_device_extensions(const struct nvk_physical_device *pdev,
.KHR_separate_depth_stencil_layouts = true,
.KHR_shader_non_semantic_info = true,
.KHR_storage_buffer_storage_class = true,
.KHR_timeline_semaphore = true,
#ifdef NVK_USE_WSI_PLATFORM
.KHR_swapchain = true,
.KHR_swapchain_mutable_format = true,
......
......@@ -103,8 +103,9 @@ push_add_sync_wait(struct push_builder *pb,
assert(sync);
assert(pb->req.wait_count + 1 < NVK_PUSH_MAX_SYNCS);
pb->req_wait[pb->req.wait_count++] = (struct drm_nouveau_sync) {
.flags = DRM_NOUVEAU_SYNC_SYNCOBJ,
.flags = wait->wait_value ? DRM_NOUVEAU_SYNC_TIMELINE_SYNCOBJ : DRM_NOUVEAU_SYNC_SYNCOBJ,
.handle = sync->syncobj,
.timeline_value = wait->wait_value,
};
#endif
}
......@@ -123,8 +124,9 @@ push_add_sync_signal(struct push_builder *pb,
assert(sync);
assert(pb->req.sig_count + 1 < NVK_PUSH_MAX_SYNCS);
pb->req_sig[pb->req.sig_count++] = (struct drm_nouveau_sync) {
.flags = DRM_NOUVEAU_SYNC_SYNCOBJ,
.flags = sig->signal_value ? DRM_NOUVEAU_SYNC_TIMELINE_SYNCOBJ : DRM_NOUVEAU_SYNC_SYNCOBJ,
.handle = sync->syncobj,
.timeline_value = sig->signal_value,
};
#endif
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment