-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build broken with latest Vulkan headers #180
Comments
An issue (number 1347) has been filed to correspond to this issue in the internal Khronos GitLab. If you have a Khronos account, you can access that issue at KHR:openxr/openxr#1347. |
NVX is an NVIDIA "experimental" extension and as such, is subject to whatever changes they decide to make at any time (including completely withdrawing the extension). Similarly for Khronos "provisional" extensions, which status currently includes the entire ray tracing stack of three extensions, although the provisional extensions at least have to be explicitly opted-in via a separate header file. We have struggled with how to expose bleeding-edge functionality and this is the best answer we currently have. While it may not be straightforward for this project, using vk.xml to find out what interfaces are actually supported might be somewhat more future-proof. That won't tell you a lot about how underlying functionality of an experimental / provisional extension may have changed, but at least you could avoid compilation errors. |
N.b. I'm not familiar with the reflection header - is that a string-to-API name mapping? If you're using a generator script for it, we could likely incorporate that without much trouble. The 'vkapi.py' generation target in Vulkan-Docs could probably be used in similar fashion. |
Yeah it's a generation script (actually, mostly in a jinja2 template for ease of maintenance) It creates a bunch of macros that let you do things like make a type/enum to string mapping, etc. I'll look into porting it to vulkan when I get a chance, if nobody beats me to it. Ok, I'll submit a patch for the Debian package |
- Registry - Add an author ID, and reserve a vendor extension for Huawei. (OpenXR-Docs/#46) - Reserve vendor extensions for future LunarG overlay and input focus functionality. (internal MR 1720) - Reserve vendor extensions for Microsoft. (internal MR 1723) - Add XR_EXT_hand_tracking multi-vendor extension. (internal MR 1554, internal issue 1266, internal issue 1267, internal issue 1268, internal issue 1269) - Add XR_HUAWEI_controller_interaction vendor extension. (OpenXR-Docs/#47) - Add XR_MNDX_egl_enable provisional vendor extension. (OpenXR-Docs/#48) - Add XR_MSFT_spatial_graph_bridge vendor extension. (internal MR 1730) - Add XR_MSFT_secondary_view_configuration and XR_MSFT_first_person_observer vendor extensions. (internal MR 1731) - Add XR_MSFT_hand_mesh_tracking vendor extension. (internal MR 1736) - Fix missing space in XML definition of XrSpatialAnchorCreateInfoMSFT. (internal MR 1742, internal issue 1351, OpenXR-SDK-Source/#187) - Update a number of contacts for author/vendor tags. (internal MR 1788, internal issue 1326) - SDK - Replaced usage of the _DEBUG macro with NDEBUG. (internal MR 1756) - Allow disabling of std::filesystem usage via CMake, and detect if it’s available and what its requirements are. (OpenXR-SDK-Source/#192, OpenXR-SDK-Source/#188) - CI: Modifications to Azure DevOps build pipeline. Now builds UWP loader DLLs in addition to Win32 loader DLLs. No longer builds static loader libraries due to linkability concerns. Re-arranged release artifact zip to distinguish architecture from 32-bit or 64-bit. - Loader: Replace global static initializers with functions that return static locals. With this change, code that includes OpenXR doesn’t have to page in this code and initialize these during startup. (OpenXR-SDK-Source/#173) - Loader: Unload runtime when xrCreateInstance fails. (internal MR 1778) - Loader: Add “info”-level debug messages listing all the places that we look for the OpenXR active runtime manifest. (OpenXR-SDK-Source/#190) - Validation Layer: Fix crash in dereferencing a nullptr optional array handle when the count > 0. (internal MR 1709, OpenXR-SDK-Source/#161, internal issue 1322) - Validation Layer: Fix static analysis error and possible loss of validation error. (internal MR 1715, OpenXR-SDK-Source/#160, internal issue 1321) - Validation Layer: Simplify some generated code, and minor performance improvements. (OpenXR-SDK-Source/#176) - API Dump Layer: Fix crash in dereferencing a nullptr while constructing a std::string. (internal MR 1712, OpenXR-SDK-Source/#162, internal issue 1323) - hello_xr: Fix releasing a swapchain image with the incorrect image layout. (internal MR 1755) - hello_xr: Prefer VK_LAYER_KHRONOS_validation over VK_LAYER_LUNARG_standard_validation when available. (internal MR 1755) - hello_xr: Optimizations to D3D12 plugin to avoid GPU pipeline stall. (internal MR 1770) (OpenXR-SDK-Source/#175) - hello_xr: Fix build with Vulkan headers 1.2.136. (OpenXR-SDK-Source/#181, OpenXR-SDK-Source/#180, internal issue 1347) - hello_xr: Fix build with Visual Studio 16.6. (OpenXR-SDK-Source/#186, OpenXR-SDK-Source/#184)
- Registry - Add an author ID, and reserve a vendor extension for Huawei. (OpenXR-Docs/KhronosGroup#46) - Reserve vendor extensions for future LunarG overlay and input focus functionality. (internal MR 1720) - Reserve vendor extensions for Microsoft. (internal MR 1723) - Add XR_EXT_hand_tracking multi-vendor extension. (internal MR 1554, internal issue 1266, internal issue 1267, internal issue 1268, internal issue 1269) - Add XR_HUAWEI_controller_interaction vendor extension. (OpenXR-Docs/KhronosGroup#47) - Add XR_MNDX_egl_enable provisional vendor extension. (OpenXR-Docs/KhronosGroup#48) - Add XR_MSFT_spatial_graph_bridge vendor extension. (internal MR 1730) - Add XR_MSFT_secondary_view_configuration and XR_MSFT_first_person_observer vendor extensions. (internal MR 1731) - Add XR_MSFT_hand_mesh_tracking vendor extension. (internal MR 1736) - Fix missing space in XML definition of XrSpatialAnchorCreateInfoMSFT. (internal MR 1742, internal issue 1351, OpenXR-SDK-Source/KhronosGroup#187) - Update a number of contacts for author/vendor tags. (internal MR 1788, internal issue 1326) - SDK - Replaced usage of the _DEBUG macro with NDEBUG. (internal MR 1756) - Allow disabling of std::filesystem usage via CMake, and detect if it’s available and what its requirements are. (OpenXR-SDK-Source/KhronosGroup#192, OpenXR-SDK-Source/KhronosGroup#188) - CI: Modifications to Azure DevOps build pipeline. Now builds UWP loader DLLs in addition to Win32 loader DLLs. No longer builds static loader libraries due to linkability concerns. Re-arranged release artifact zip to distinguish architecture from 32-bit or 64-bit. - Loader: Replace global static initializers with functions that return static locals. With this change, code that includes OpenXR doesn’t have to page in this code and initialize these during startup. (OpenXR-SDK-Source/KhronosGroup#173) - Loader: Unload runtime when xrCreateInstance fails. (internal MR 1778) - Loader: Add “info”-level debug messages listing all the places that we look for the OpenXR active runtime manifest. (OpenXR-SDK-Source/KhronosGroup#190) - Validation Layer: Fix crash in dereferencing a nullptr optional array handle when the count > 0. (internal MR 1709, OpenXR-SDK-Source/KhronosGroup#161, internal issue 1322) - Validation Layer: Fix static analysis error and possible loss of validation error. (internal MR 1715, OpenXR-SDK-Source/KhronosGroup#160, internal issue 1321) - Validation Layer: Simplify some generated code, and minor performance improvements. (OpenXR-SDK-Source/KhronosGroup#176) - API Dump Layer: Fix crash in dereferencing a nullptr while constructing a std::string. (internal MR 1712, OpenXR-SDK-Source/KhronosGroup#162, internal issue 1323) - hello_xr: Fix releasing a swapchain image with the incorrect image layout. (internal MR 1755) - hello_xr: Prefer VK_LAYER_KHRONOS_validation over VK_LAYER_LUNARG_standard_validation when available. (internal MR 1755) - hello_xr: Optimizations to D3D12 plugin to avoid GPU pipeline stall. (internal MR 1770) (OpenXR-SDK-Source/KhronosGroup#175) - hello_xr: Fix build with Vulkan headers 1.2.136. (OpenXR-SDK-Source/KhronosGroup#181, OpenXR-SDK-Source/KhronosGroup#180, internal issue 1347) - hello_xr: Fix build with Visual Studio 16.6. (OpenXR-SDK-Source/KhronosGroup#186, OpenXR-SDK-Source/KhronosGroup#184)
cc @oddhack
Looks like
VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT
got removed, and while OpenXR didn't use it directly, it was mentioned in an enum list:Not sure if this counts as Vulkan breakage, but I suspect the right solution for now is for us to just remove all X-suffixed entries from those enum lists. (Ideally Vulkan would have something like our openxr_reflection.h header so no app-made list like this would be required.)
See also:
The text was updated successfully, but these errors were encountered: