Skip to content

Commit 6bde7cd

Browse files
committed
VK: add memory barriers to copy_image
1 parent f46a433 commit 6bde7cd

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

rpcs3/Emu/RSX/VK/VKPresent.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -773,9 +773,15 @@ void VKGSRender::flip(const rsx::display_flip_info_t& info)
773773
VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_SAMPLED_BIT,
774774
0, VMM_ALLOCATION_POOL_UNDEFINED);
775775

776+
tmp_tex->change_layout(*m_current_command_buffer, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
777+
image_to_flip->push_layout(*m_current_command_buffer, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
778+
776779
const areai rect = areai(0, 0, buffer_width, buffer_height);
777780
vk::copy_image(*m_current_command_buffer, image_to_flip, tmp_tex.get(), rect, rect, 1);
778781

782+
image_to_flip->pop_layout(*m_current_command_buffer);
783+
tmp_tex->change_layout(*m_current_command_buffer, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
784+
779785
vk::framebuffer_holder* sshot_fbo = vk::get_framebuffer(*m_device, buffer_width, buffer_height, VK_FALSE, single_target_pass, { tmp_tex.get() });
780786
sshot_fbo->add_ref();
781787
render_overlays(sshot_fbo, areau(rect));

0 commit comments

Comments
 (0)