mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-08-23 18:59:19 +00:00
Vulkan: Use a separate queue for presenting.
Before this change, we simply fail if the device does not expose one queue family that supports both graphics and present. Currently this is fine, since devices tend to lay out their queues in this way. NV, for instance, tends to have one queue family for all graphics operations and one more for transfer only. However, it's not a hard requirement, and it is cheap to use a separate queue, so we might as well.
This commit is contained in:
parent
3e47baa40c
commit
a5be5a3a76
4 changed files with 79 additions and 34 deletions
|
@ -57,6 +57,8 @@ public:
|
|||
VkDevice GetDevice() const { return m_device; }
|
||||
VkQueue GetGraphicsQueue() const { return m_graphics_queue; }
|
||||
u32 GetGraphicsQueueFamilyIndex() const { return m_graphics_queue_family_index; }
|
||||
VkQueue GetPresentQueue() const { return m_present_queue; }
|
||||
u32 GetPresentQueueFamilyIndex() const { return m_present_queue_family_index; }
|
||||
const VkQueueFamilyProperties& GetGraphicsQueueProperties() const
|
||||
{
|
||||
return m_graphics_queue_properties;
|
||||
|
@ -119,6 +121,8 @@ private:
|
|||
|
||||
VkQueue m_graphics_queue = VK_NULL_HANDLE;
|
||||
u32 m_graphics_queue_family_index = 0;
|
||||
VkQueue m_present_queue = VK_NULL_HANDLE;
|
||||
u32 m_present_queue_family_index = 0;
|
||||
VkQueueFamilyProperties m_graphics_queue_properties = {};
|
||||
|
||||
VkDebugReportCallbackEXT m_debug_report_callback = VK_NULL_HANDLE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue