Vulkan: Set graphics queue on swapchain creation.
This commit is contained in:
parent
5314bc8db0
commit
02cb6dc319
@ -126,6 +126,17 @@ bool Swapchain::create(unsigned int desired_num_swapchain_images, int new_width,
|
|||||||
|
|
||||||
extents = surface_capabilities.currentExtent;
|
extents = surface_capabilities.currentExtent;
|
||||||
|
|
||||||
|
uint32_t graphics_queue_index = 0;
|
||||||
|
auto queue_properties = physical_device.getQueueFamilyProperties();
|
||||||
|
for (size_t i = 0; i < queue_properties.size(); i++)
|
||||||
|
{
|
||||||
|
if (queue_properties[i].queueFlags & vk::QueueFlagBits::eGraphics)
|
||||||
|
{
|
||||||
|
graphics_queue_index = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (new_width > 0 && new_height > 0)
|
if (new_width > 0 && new_height > 0)
|
||||||
{
|
{
|
||||||
// No buffer is allocated for surface yet
|
// No buffer is allocated for surface yet
|
||||||
@ -168,7 +179,8 @@ bool Swapchain::create(unsigned int desired_num_swapchain_images, int new_width,
|
|||||||
.setPresentMode(vsync ? vk::PresentModeKHR::eFifo : vk::PresentModeKHR::eImmediate)
|
.setPresentMode(vsync ? vk::PresentModeKHR::eFifo : vk::PresentModeKHR::eImmediate)
|
||||||
.setSurface(surface)
|
.setSurface(surface)
|
||||||
.setPreTransform(vk::SurfaceTransformFlagBitsKHR::eIdentity)
|
.setPreTransform(vk::SurfaceTransformFlagBitsKHR::eIdentity)
|
||||||
.setImageArrayLayers(1);
|
.setImageArrayLayers(1)
|
||||||
|
.setQueueFamilyIndices(graphics_queue_index);
|
||||||
|
|
||||||
if (swapchain_object)
|
if (swapchain_object)
|
||||||
swapchain_create_info.setOldSwapchain(swapchain_object.get());
|
swapchain_create_info.setOldSwapchain(swapchain_object.get());
|
||||||
|
Loading…
Reference in New Issue
Block a user