Skip to content

Expose synchronized Dawn Vulkan queue access - #652

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/dawn-vulkan-queue-access-651
Sep 19, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/dawn-vulkan-queue-access-651

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

AppScene can now construct Skia Graphite on Dawn's exact Vulkan device, but Vulkan queue operations require external synchronization. Dawn and Graphite would otherwise submit/present concurrently through the same raw VkQueue.

Change

  • add an additive v3 exact-device ABI with balanced queue-access acquire/release tokens
  • hold Dawn's existing DeviceGuard, the same recursive device mutex used by its Vulkan submit and present paths
  • retain both public WGPUDevice and internal DeviceBase lifetimes for the token
  • validate the live registry before private dereference and reject foreign, stale, lost, closing, nested, and wrong-thread use
  • provide a lexical public C++ wrapper while preserving v1/v2
  • wire exports, installed SDK macros, cache/hash inputs, source contracts, and validation docs

Closes #651.

Validation

git diff --check passed. No builds or tests were run under the current fast integration policy.

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.

Expose synchronized external access to Dawn's exact Vulkan queue

1 participant