diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-12 23:29:32 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-02-12 23:29:32 +0100 |
commit | 3be3d5099cc75a2db544b3a0964a430c3eb00909 (patch) | |
tree | c9741446ca06cfddf7a0861749565d0932ce243a /modules/openxr/extensions/platform/openxr_vulkan_extension.cpp | |
parent | c66f87daa796f4ddea70156f5fec582db6c525f6 (diff) | |
parent | 73eff10c76c201a083193c044de1836217b4d72b (diff) | |
download | redot-engine-3be3d5099cc75a2db544b3a0964a430c3eb00909.tar.gz |
Merge pull request #87340 from DarioSamo/rd_common_context
Finish splitting functionality of the `RenderingDevice` backends into `RenderingDeviceDriver`.
Diffstat (limited to 'modules/openxr/extensions/platform/openxr_vulkan_extension.cpp')
-rw-r--r-- | modules/openxr/extensions/platform/openxr_vulkan_extension.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/modules/openxr/extensions/platform/openxr_vulkan_extension.cpp b/modules/openxr/extensions/platform/openxr_vulkan_extension.cpp index a2f2577959..f5e7fc192c 100644 --- a/modules/openxr/extensions/platform/openxr_vulkan_extension.cpp +++ b/modules/openxr/extensions/platform/openxr_vulkan_extension.cpp @@ -38,14 +38,6 @@ #include "servers/rendering/rendering_server_globals.h" #include "servers/rendering_server.h" -OpenXRVulkanExtension::OpenXRVulkanExtension() { - VulkanContext::set_vulkan_hooks(this); -} - -OpenXRVulkanExtension::~OpenXRVulkanExtension() { - VulkanContext::set_vulkan_hooks(nullptr); -} - HashMap<String, bool *> OpenXRVulkanExtension::get_requested_extensions() { HashMap<String, bool *> request_extensions; @@ -178,10 +170,6 @@ bool OpenXRVulkanExtension::get_physical_device(VkPhysicalDevice *r_device) { bool OpenXRVulkanExtension::create_vulkan_device(const VkDeviceCreateInfo *p_device_create_info, VkDevice *r_device) { ERR_FAIL_NULL_V(OpenXRAPI::get_singleton(), false); - // the first entry in our queue list should be the one we need to remember... - vulkan_queue_family_index = p_device_create_info->pQueueCreateInfos[0].queueFamilyIndex; - vulkan_queue_index = 0; // ?? - XrVulkanDeviceCreateInfoKHR create_info = { XR_TYPE_VULKAN_DEVICE_CREATE_INFO_KHR, // type nullptr, // next @@ -209,9 +197,17 @@ bool OpenXRVulkanExtension::create_vulkan_device(const VkDeviceCreateInfo *p_dev return true; } +void OpenXRVulkanExtension::set_direct_queue_family_and_index(uint32_t p_queue_family_index, uint32_t p_queue_index) { + vulkan_queue_family_index = p_queue_family_index; + vulkan_queue_index = p_queue_index; +} + XrGraphicsBindingVulkanKHR OpenXRVulkanExtension::graphics_binding_vulkan; void *OpenXRVulkanExtension::set_session_create_and_get_next_pointer(void *p_next_pointer) { + DEV_ASSERT(vulkan_queue_family_index < UINT32_MAX && "Direct queue family index was not specified yet."); + DEV_ASSERT(vulkan_queue_index < UINT32_MAX && "Direct queue index was not specified yet."); + graphics_binding_vulkan.type = XR_TYPE_GRAPHICS_BINDING_VULKAN_KHR; graphics_binding_vulkan.next = p_next_pointer; graphics_binding_vulkan.instance = vulkan_instance; |