@@ -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-
351305const 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 ) {
0 commit comments