Skip to content

Add exact Dawn Vulkan instance query - #650

Merged
wieslawsoltes merged 1 commit into
mainfrom
feature/dawn-vulkan-instance-query-649
Sep 19, 2026
Merged

wieslawsoltes merged 1 commit into
mainfrom
feature/dawn-vulkan-instance-query-649

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

The exact Dawn Vulkan query exposed the physical device, device, and queue but omitted the owning VkInstance and instance resolver. AppScene therefore could not construct an Xlib surface or Skia Graphite context in the same Vulkan instance. The v1 live-device registry also used exception handling inside Dawn's -fno-exceptions build.

Change

  • add a v2 ABI that preserves v1 and exposes the exact borrowed VkInstance and vkGetInstanceProcAddr
  • report Dawn's enabled Surface/XlibSurface and required presentation-procedure capability state
  • retain live-device, foreign/stale/lost-token, tuple, and UUID validation before private dereference
  • consume v2 through the public Linux provider lifetime without exposing Dawn private headers
  • replace the exception-dependent map with a no-throw intrusive live-device registry
  • update exports, installed SDK CMake, cache/hash inputs, contracts, and validation docs

Closes #649.

Validation

git diff --check passed. This also addresses the deterministic -fno-exceptions failure from Graphics SDK run 35434033766. Per the current fast integration policy, builds and physical Linux qualification are deferred to CI and the AppScene host-backend lane.

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 Dawn's exact Vulkan instance for Linux presentation

1 participant