Skip to content

Commit 607a455

Browse files
committed
Remove all parts of the KHR_vulkan_enable extensions. They weren't technically being used as we do ONLY use KHR_vulkan_enable2, but they were loading the older extensions which is not necessary.
1 parent b65d0e5 commit 607a455

3 files changed

Lines changed: 0 additions & 72 deletions

File tree

attachments/openxr_engine/renderer_core.cpp

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -613,12 +613,6 @@ bool Renderer::createInstance(const std::string& appName, bool enableValidationL
613613
extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME);
614614
}
615615

616-
// NEW: Add OpenXR mandatory extensions
617-
if (xrMode) {
618-
auto xrExtensions = xrContext.getVulkanInstanceExtensions();
619-
extensions.insert(extensions.end(), xrExtensions.begin(), xrExtensions.end());
620-
}
621-
622616
// Create instance info
623617
vk::InstanceCreateInfo createInfo{
624618
.pApplicationInfo = &appInfo,
@@ -892,16 +886,6 @@ void Renderer::addSupportedOptionalExtensions() {
892886
}
893887
}
894888

895-
// NEW: Add OpenXR mandatory device extensions
896-
if (xrMode) {
897-
auto xrDevExtensions = xrContext.getVulkanDeviceExtensions(*physicalDevice);
898-
for (const auto& ext : xrDevExtensions) {
899-
// Ensure we don't duplicate
900-
if (std::find(deviceExtensions.begin(), deviceExtensions.end(), std::string(ext)) == deviceExtensions.end()) {
901-
deviceExtensions.push_back(ext);
902-
}
903-
}
904-
}
905889
} catch (const std::exception& e) {
906890
std::cerr << "Warning: Failed to add optional extensions: " << e.what() << std::endl;
907891
}

attachments/openxr_engine/xr_context.cpp

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,7 @@ bool XrContext::createInstance(const std::string& appName) {
105105
}
106106

107107
// Load Vulkan extension functions
108-
xrGetInstanceProcAddr(instance, "xrGetVulkanInstanceExtensionsKHR", (PFN_xrVoidFunction*)&pfnGetVulkanInstanceExtensionsKHR);
109-
xrGetInstanceProcAddr(instance, "xrGetVulkanDeviceExtensionsKHR", (PFN_xrVoidFunction*)&pfnGetVulkanDeviceExtensionsKHR);
110-
xrGetInstanceProcAddr(instance, "xrGetVulkanGraphicsRequirementsKHR", (PFN_xrVoidFunction*)&pfnGetVulkanGraphicsRequirementsKHR);
111108
xrGetInstanceProcAddr(instance, "xrGetVulkanGraphicsRequirements2KHR", (PFN_xrVoidFunction*)&pfnGetVulkanGraphicsRequirements2KHR);
112-
xrGetInstanceProcAddr(instance, "xrGetVulkanGraphicsDeviceKHR", (PFN_xrVoidFunction*)&pfnGetVulkanGraphicsDeviceKHR);
113109
xrGetInstanceProcAddr(instance, "xrGetVulkanGraphicsDevice2KHR", (PFN_xrVoidFunction*)&pfnGetVulkanGraphicsDevice2KHR);
114110

115111
XrSystemGetInfo systemGetInfo{XR_TYPE_SYSTEM_GET_INFO};
@@ -306,56 +302,12 @@ void XrContext::cleanup() {
306302
}
307303
}
308304

309-
std::vector<const char*> XrContext::getVulkanInstanceExtensions() {
310-
if (instance == XR_NULL_HANDLE) return { "XR_KHR_vulkan_enable2" };
311-
uint32_t size = 0;
312-
if (!pfnGetVulkanInstanceExtensionsKHR) return {};
313-
pfnGetVulkanInstanceExtensionsKHR(instance, systemId, 0, &size, nullptr);
314-
std::vector<char> buffer(size);
315-
pfnGetVulkanInstanceExtensionsKHR(instance, systemId, size, &size, buffer.data());
316-
317-
static std::vector<std::string> extStrings;
318-
extStrings.clear();
319-
std::string extensions(buffer.data());
320-
std::istringstream iss(extensions);
321-
std::string ext;
322-
while (iss >> ext) extStrings.push_back(ext);
323-
324-
static std::vector<const char*> extPtrs;
325-
extPtrs.clear();
326-
for (const auto& s : extStrings) extPtrs.push_back(s.c_str());
327-
return extPtrs;
328-
}
329-
330-
std::vector<const char*> XrContext::getVulkanDeviceExtensions(vk::PhysicalDevice physicalDevice) {
331-
if (instance == XR_NULL_HANDLE) return { "VK_KHR_external_memory", "VK_KHR_external_semaphore" };
332-
uint32_t size = 0;
333-
if (!pfnGetVulkanDeviceExtensionsKHR) return {};
334-
pfnGetVulkanDeviceExtensionsKHR(instance, systemId, 0, &size, nullptr);
335-
std::vector<char> buffer(size);
336-
pfnGetVulkanDeviceExtensionsKHR(instance, systemId, size, &size, buffer.data());
337-
338-
static std::vector<std::string> devExtStrings;
339-
devExtStrings.clear();
340-
std::string extensions(buffer.data());
341-
std::istringstream iss(extensions);
342-
std::string ext;
343-
while (iss >> ext) devExtStrings.push_back(ext);
344-
345-
static std::vector<const char*> devExtPtrs;
346-
devExtPtrs.clear();
347-
for (const auto& s : devExtStrings) devExtPtrs.push_back(s.c_str());
348-
return devExtPtrs;
349-
}
350-
351305
const uint8_t* XrContext::getRequiredLUID() {
352306
if (!luidValid && vkInstance && instance != XR_NULL_HANDLE && systemId != XR_NULL_SYSTEM_ID) {
353307
// Step 1: Call graphics requirements as mandated by spec before getting graphics device
354308
XrGraphicsRequirementsVulkanKHR graphicsRequirements{XR_TYPE_GRAPHICS_REQUIREMENTS_VULKAN_KHR};
355309
if (pfnGetVulkanGraphicsRequirements2KHR) {
356310
pfnGetVulkanGraphicsRequirements2KHR(instance, systemId, &graphicsRequirements);
357-
} else if (pfnGetVulkanGraphicsRequirementsKHR) {
358-
pfnGetVulkanGraphicsRequirementsKHR(instance, systemId, &graphicsRequirements);
359311
}
360312

361313
// Step 2: Get the physical device from OpenXR
@@ -367,8 +319,6 @@ const uint8_t* XrContext::getRequiredLUID() {
367319
getInfo.systemId = systemId;
368320
getInfo.vulkanInstance = (VkInstance)vkInstance;
369321
result = pfnGetVulkanGraphicsDevice2KHR(instance, &getInfo, &vkPhysicalDevice);
370-
} else if (pfnGetVulkanGraphicsDeviceKHR) {
371-
result = pfnGetVulkanGraphicsDeviceKHR(instance, systemId, (VkInstance)vkInstance, &vkPhysicalDevice);
372322
}
373323

374324
if (result == XR_SUCCESS && vkPhysicalDevice != VK_NULL_HANDLE) {

attachments/openxr_engine/xr_context.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ class XrContext {
4848
#endif
4949

5050
// Core Handshake (Chapter 2)
51-
std::vector<const char*> getVulkanInstanceExtensions();
52-
std::vector<const char*> getVulkanDeviceExtensions(vk::PhysicalDevice physicalDevice);
5351
const uint8_t* getRequiredLUID();
5452

5553
// Swapchain Management (Chapter 3 & 8)
@@ -118,11 +116,7 @@ class XrContext {
118116
static bool checkRuntimeAvailable();
119117

120118
private:
121-
PFN_xrGetVulkanInstanceExtensionsKHR pfnGetVulkanInstanceExtensionsKHR = nullptr;
122-
PFN_xrGetVulkanDeviceExtensionsKHR pfnGetVulkanDeviceExtensionsKHR = nullptr;
123-
PFN_xrGetVulkanGraphicsRequirementsKHR pfnGetVulkanGraphicsRequirementsKHR = nullptr;
124119
PFN_xrGetVulkanGraphicsRequirements2KHR pfnGetVulkanGraphicsRequirements2KHR = nullptr;
125-
PFN_xrGetVulkanGraphicsDeviceKHR pfnGetVulkanGraphicsDeviceKHR = nullptr;
126120
PFN_xrGetVulkanGraphicsDevice2KHR pfnGetVulkanGraphicsDevice2KHR = nullptr;
127121

128122
XrInstance instance;

0 commit comments

Comments
 (0)