Skip to content

fix: preserve C names for opaque Vulkan basetypes - #29

Merged
antono3 merged 1 commit into
masterfrom
maintenance/preserve-opaque-basetype-c-names-20261106
Nov 6, 2026
Merged

antono3 merged 1 commit into
masterfrom
maintenance/preserve-opaque-basetype-c-names-20261106

Conversation

@antono3

@antono3 antono3 commented Nov 6, 2026

Copy link
Copy Markdown
Collaborator

Vulkan-Docs v1.4.368 adds the opaque pointer typedef VkInternalHandleNV. The emitter strips Vk from the V alias and incorrectly also strips it from the C typedef name, producing C.InternalHandleNV, which the header does not define. Preserve the registry name on the C side while retaining the existing public V alias.

Add a V ABI probe that compiles and checks the handle is pointer-sized against generated v1.4.368 bindings and matching headers. Extend the historical-registry CI matrix to cover this registry; committed-snapshot, historical, pinned-V3, and Windows generation checks remain applicable.

Reproduction: the ABI probe fails locally against the unmodified generated update with GCC's unknown type name InternalHandleNV, matching Vulkan PR #86's current-V failure. CI will regenerate through the canonical emitter and compile the regression probe. Existing generated snapshots are not hand-edited. No published API/ABI, dependency pins, release tags, or upstream repositories change.

@antono3
antono3 merged commit ba86d5e into master Nov 6, 2026
15 checks passed
@antono3
antono3 deleted the maintenance/preserve-opaque-basetype-c-names-20261106 branch November 6, 2026 21:22
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.

1 participant