mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-15 03:08:36 +12:00
vulkan: Do not acquireNextImage twice when no rtt is present.
This commit is contained in:
parent
38d57eb02c
commit
f86c079acf
1 changed files with 3 additions and 7 deletions
|
@ -1134,7 +1134,6 @@ void VKGSRender::flip(int buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
VkSwapchainKHR swap_chain = (VkSwapchainKHR)(*m_swap_chain);
|
VkSwapchainKHR swap_chain = (VkSwapchainKHR)(*m_swap_chain);
|
||||||
uint32_t next_image_temp = 0;
|
|
||||||
|
|
||||||
//Prepare surface for new frame
|
//Prepare surface for new frame
|
||||||
CHECK_RESULT(vkAcquireNextImageKHR((*m_device), (*m_swap_chain), 0, m_present_semaphore, VK_NULL_HANDLE, &m_current_present_image));
|
CHECK_RESULT(vkAcquireNextImageKHR((*m_device), (*m_swap_chain), 0, m_present_semaphore, VK_NULL_HANDLE, &m_current_present_image));
|
||||||
|
@ -1157,14 +1156,11 @@ void VKGSRender::flip(int buffer)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//No draw call was issued!
|
//No draw call was issued!
|
||||||
//TODO: Properly clear the background to rsx value
|
|
||||||
m_swap_chain->acquireNextImageKHR((*m_device), (*m_swap_chain), ~0ULL, VK_NULL_HANDLE, VK_NULL_HANDLE, &next_image_temp);
|
|
||||||
|
|
||||||
VkImageSubresourceRange range = vk::get_image_subresource_range(0, 0, 1, 1, VK_IMAGE_ASPECT_COLOR_BIT);
|
VkImageSubresourceRange range = vk::get_image_subresource_range(0, 0, 1, 1, VK_IMAGE_ASPECT_COLOR_BIT);
|
||||||
VkClearColorValue clear_black = { 0 };
|
VkClearColorValue clear_black = { 0 };
|
||||||
vk::change_image_layout(m_command_buffer, m_swap_chain->get_swap_chain_image(next_image_temp), VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_GENERAL, range);
|
vk::change_image_layout(m_command_buffer, m_swap_chain->get_swap_chain_image(m_current_present_image), VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_GENERAL, range);
|
||||||
vkCmdClearColorImage(m_command_buffer, m_swap_chain->get_swap_chain_image(next_image_temp), VK_IMAGE_LAYOUT_GENERAL, &clear_black, 1, &range);
|
vkCmdClearColorImage(m_command_buffer, m_swap_chain->get_swap_chain_image(m_current_present_image), VK_IMAGE_LAYOUT_GENERAL, &clear_black, 1, &range);
|
||||||
vk::change_image_layout(m_command_buffer, m_swap_chain->get_swap_chain_image(next_image_temp), VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, range);
|
vk::change_image_layout(m_command_buffer, m_swap_chain->get_swap_chain_image(m_current_present_image), VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, range);
|
||||||
}
|
}
|
||||||
|
|
||||||
close_and_submit_command_buffer({ m_present_semaphore }, m_submit_fence);
|
close_and_submit_command_buffer({ m_present_semaphore }, m_submit_fence);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue