Skip to content

vulkan: use external_semaphore_drm_syncobj if available#943

Draft
mahkoh wants to merge 1 commit into
masterfrom
jorth/external_semaphore_drm_syncobj
Draft

vulkan: use external_semaphore_drm_syncobj if available#943
mahkoh wants to merge 1 commit into
masterfrom
jorth/external_semaphore_drm_syncobj

Conversation

@mahkoh
Copy link
Copy Markdown
Owner

@mahkoh mahkoh commented May 14, 2026

Copilot AI review requested due to automatic review settings May 14, 2026 19:09
@mahkoh mahkoh marked this pull request as draft May 14, 2026 19:09
github-actions[bot]
github-actions Bot previously approved these changes May 14, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for using VK_EXT_external_semaphore_drm_syncobj for Vulkan timeline semaphore export when available, falling back to opaque FD export otherwise.

Changes:

  • Detects DRM syncobj semaphore export support and enables the extension/feature during device creation.
  • Adds supports_syncobj_export to Vulkan device abstractions.
  • Updates timeline semaphore creation to prefer DRM_SYNCOBJ_EXT handles.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/vulkan_core/timeline_semaphore.rs Prefers DRM_SYNCOBJ_EXT export for timeline semaphores when supported.
src/vulkan_core/device.rs Extends the Vulkan device trait with syncobj export capability reporting.
src/vulkan_core.rs Adds core capability detection for DRM syncobj semaphore export.
src/gfx_apis/vulkan/device.rs Enables syncobj extension/feature for the main Vulkan renderer.
src/egui_adapter/egui_vulkan.rs Enables syncobj extension/feature for the egui Vulkan renderer.
src/copy_device.rs Enables syncobj extension/feature for copy devices.
Cargo.toml Switches jay-ash to a git branch containing syncobj support.
Cargo.lock Updates locked jay-ash dependency source/version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/gfx_apis/vulkan/device.rs Outdated
Comment thread src/egui_adapter/egui_vulkan.rs Outdated
Comment thread src/copy_device.rs Outdated
Comment thread src/vulkan_core.rs
@mahkoh mahkoh force-pushed the jorth/external_semaphore_drm_syncobj branch from 002ef85 to 4052d97 Compare May 14, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants