Skip to content

[3.0] Add multi-platform generation and finish initial OpenXR bindings - #2628

Draft
Exanite wants to merge 93 commits into
develop/3.0from
feature/openxr-multiplatform-generation
Draft

Exanite wants to merge 93 commits into
develop/3.0from
feature/openxr-multiplatform-generation

Conversation

@Exanite

@Exanite Exanite commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Summary of the PR

(TODO)

A short summary of this PR and what it adds/removes/fixes.

Related issues, Discord discussions, or proposals

Links go here.

Further Comments

Tasks from tracker

  • OpenXR/CL/Vulkan: Add CurrentInstance/Device/Platform properties to interface partial.

Platform interop / additional headers:

Most Khronos APIs have additional headers that interop with platform-specific/other Khronos/other graphics APIs.
OpenXR notably will not work without these additional headers, but generating bindings for these headers requires additional work. See this to understand the planned solution: https://discord.com/channels/521092042781229087/587346162802229298/1529139068288503900

  • Note down what headers are not being scraped for each Khronos API
    • Eg: Vulkan:
      • header.h
  • Add aforementioned headers to each bindings generation process
  • Investigate OpenCL empty enums
    • Most of these should be populated once the other headers are included
    • cl_command_buffer_info_khr
    • cl_command_buffer_properties_khr
    • cl_command_buffer_state_khr
    • cl_command_buffer_update_type_khr
    • cl_command_properties_khr
    • cl_compiler_mode_altera
    • cl_d3d10_device_set_khr
    • cl_d3d10_device_source_khr
    • cl_d3d11_device_set_khr
    • cl_d3d11_device_source_khr
    • cl_dx9_device_set_intel
    • cl_dx9_device_source_intel
    • cl_gl_context_info
    • cl_gl_object_type
    • cl_gl_texture_info
    • cl_layer_properties
    • cl_media_adapter_set_khr
    • cl_media_adapter_type_khr
    • cl_mutable_command_info_khr
    • cl_mutable_dispatch_asserts_khr (Flags so by default 1 None member)
    • cl_mutable_dispatch_fields_khr (Flags)
    • cl_platform_command_buffer_capabilities_khr (flags)
    • cl_queue_properties_khr
    • cl_semaphore_reimport_properties_khr
    • cl_svm_alloc_properties_khr
    • cl_svm_capabilities_khr (Flags)
    • cl_svm_free_flags_khr (Flags)
    • cl_svm_free_properties_khr
    • cl_svm_pointer_info_khr
    • cl_va_api_device_set_intel
    • cl_va_api_device_source_intel
  • Also investigate any other empty enums, if there are any. Make sure to check for [Flags] enums as well, since these will not be empty and instead have a single None member.

…od instead of registering it separately

Mods shouldn't peek into other mod configs and this lets us register multiple of the same mod more easily.
@github-actions

Copy link
Copy Markdown
Contributor

File Coverage
All files 20% ✅

Minimum allowed coverage is 0%

Generated by 🐒 cobertura-action against 2b08755

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant