Repository navigation
[3.0] Add multi-platform generation and finish initial OpenXR bindings - #2628
Merged
Merged
Conversation
Contributor
|
Minimum allowed coverage is Generated by 🐒 cobertura-action against dde50e8 |
Exanite
force-pushed
the
feature/openxr-multiplatform-generation
branch
from
October 15, 2026 08:28
2b08755 to
ccaa202
Compare
Exanite
changed the base branch from
develop/3.0
to
feature/silktouch-config-overhaul
October 18, 2026 00:52
21 of 26 tasks
Base automatically changed from
feature/silktouch-config-overhaul
to
develop/3.0
October 25, 2026 20:13
… between scraped/cached results
Not sure why CI is hiding the error. Logger probably isn't getting flushed, but idk why WriteLine wouldn't.
Perksey
approved these changes
Nov 7, 2026
This reverts commit 9191d8c.
11 of 46 tasks
…for AddApiProfiles
Perksey
enabled auto-merge (squash)
November 7, 2026 17:20
* Support wildcard for specifying all jobs (cherry picked from commit ed742c6b585d2bf7e736759c7a08d8f7fe71de08) * Disable bindings/native workflows now that they have been reimplemented on main * Update native build reminder wording * Include required submodules as part of native/workflow-matrix output * Remove submodule init from native build scripts (now handled by CI) * Revert "Remove submodule init from native build scripts (now handled by CI)" This reverts commit 127c3de. * Remove submodules from native/workflow-matrix output since native submodules need more specific handling Their build system might rely on git history, etc. * Add workflow-affected-comment and workflow-dependencies native scripts * Add similar workflow deps/comment scripts for bindings * Add ability to specify additional dependencies per job * Add dependencies to each bindings job * Add script for testing workflow scripts * Add snapshot testing to workflows scripts * Adjust snapshot output, but apparently pwsh iteration order isn't stable * Use ordered sets * Work on check affected workflow * Add artifact upload steps * Only trigger check affected on synchronize * Wrap all job definitions with a jobs object * Add support for shared dependencies * Fix dependency paths format * Remove unnecessary env var * Fix issue where workflow-reminder did not parse JSON (cherry picked from commit 75bada7) * Remove old code * Also output the message to logs for debugging * Fix wrong script Probably explains why it didn't work doesn't it * Always upload an artifact since download artifact fails on missing artifact (cherry picked from commit 9b76580) * Revert "Always upload an artifact since download artifact fails on missing artifact" This reverts commit f69e6bd. * Also upload PR number (cherry picked from commit 8098981) * Use overwrite: true (cherry picked from commit 80fe34c) * Adjust reminder message wording * Adjust formatting to avoid ugly line breaks (cherry picked from commit a9a8743) * Adjust wording again * Format publish site * Format dotnet workflow * Update snapshot * Clarify that push permissions are required to run the command * Edit build-system.md wording/formatting * Update changelog now that OpenXR bindings are complete Still untested though. * Further edit wording in build-system.md * Work on writing the new natives/bindings workflow doc section * Finish updating the build-system docs to explain the new native/bindings workflows * Add also a "Creating new bindings projects" section * Remove "isolated" job that outputs the PR number since it's not actually isolated * Use matrix in check-affected.yml * Use Silk.NET instead of Silk in reminder comment and update snapshot * Shorten workflow script names since the folder name implies that they are workflow scripts * Work on prerequisites scripts and alphabetize test calls * Enable snapshot testing for prerequisites script * Fix duplicate lines in test snapshot * Implement native/prerequisites.ps1 * Remove submodule inits from the individual build scripts since they are handled centrally now * Remove todos since we now validate the PR number given on the workflow_run side * Remove push permission requirement since we decided it was unnecessary * Add step for installing dependencies and update snapshot * cd to repo root to avoid relative path issues * Fix $command not being ran * Reapply "Rename bindings output folders for consistency" This reverts commit 9191d8c.
Contributor
Silk.NET native build reminderSome of the native builds are likely affected by this PR. If you believe this to be in error, then please write a comment explaining why and ignore this reminder. |
Contributor
Silk.NET bindings regeneration reminderSome of the bindings are likely affected by this PR. If you believe this to be in error, then please write a comment explaining why and ignore this reminder. |
Apparently you don't need them for GitHub and Discord doesn't render them properly.
I think literally everything else uses latest instead of a locked version and there's seemingly no reason not to. I'm guessing this was a copy-paste/typo.
Exanite
disabled auto-merge
November 7, 2026 19:13
This was referenced Nov 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of the PR
This PR adds support for multi-platform scraping to ClangScraper and updates the Khronos bindings to include platform-specific APIs. Notably, this means finishing the initial OpenXR bindings and making it so that the OpenXR bindings are functional.
Related issues, Discord discussions, or proposals
Discord thread for this PR: https://discord.com/channels/521092042781229087/1560213833249726474
I started working on the bindings regeneration workflow here since I needed to regenerate bindings on Mac, which I don't have a device for. The work in this PR is functional, but isn't the final design. The final design is implemented in #2635 and #2634.
Further Comments
Original comments from my OpenCL/XR PR (#2590):
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
Tasks
Disable OpenXR DirectX integration since we don't have any Win32/DirectX bindings yet.Reapply OpenXR compile error workaround since ClangSharp hasn't updated yet.9191d8c6fc - Revert "Rename bindings output folders for consistency"and regenerate after code review. It leads to a lot of diff noise due to folder renames.8a0e24bb92 - Temporary: Rename xr folder to OpenXR to avoid diff noiseMoved to later PRs
Platform integrations:
Validation:
Nonemember.