mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-06-02 04:36:57 -06:00
vk: Insert transfer->transfer barriers before creating aggregates
This commit is contained in:
parent
34c26eff68
commit
cb276f0da7
@ -787,6 +787,14 @@ namespace vk
|
|||||||
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vk::insert_image_memory_barrier(
|
||||||
|
cmd,
|
||||||
|
image->handle(),
|
||||||
|
image->current_layout, image->current_layout,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
|
VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
|
||||||
|
dst_range);
|
||||||
|
|
||||||
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
||||||
|
|
||||||
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
||||||
@ -822,6 +830,14 @@ namespace vk
|
|||||||
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vk::insert_image_memory_barrier(
|
||||||
|
cmd,
|
||||||
|
image->handle(),
|
||||||
|
image->current_layout, image->current_layout,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
|
VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
|
||||||
|
dst_range);
|
||||||
|
|
||||||
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
||||||
|
|
||||||
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
||||||
@ -860,6 +876,14 @@ namespace vk
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vk::insert_image_memory_barrier(
|
||||||
|
cmd,
|
||||||
|
image->handle(),
|
||||||
|
image->current_layout, image->current_layout,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
|
VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
|
||||||
|
dst_range);
|
||||||
|
|
||||||
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
||||||
|
|
||||||
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
||||||
@ -896,6 +920,14 @@ namespace vk
|
|||||||
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &dst_range);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vk::insert_image_memory_barrier(
|
||||||
|
cmd,
|
||||||
|
image->handle(),
|
||||||
|
image->current_layout, image->current_layout,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
|
VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
|
||||||
|
dst_range);
|
||||||
|
|
||||||
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
copy_transfer_regions_impl(cmd, image, sections_to_copy);
|
||||||
|
|
||||||
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
vk::change_image_layout(cmd, image, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, dst_range);
|
||||||
@ -1016,6 +1048,14 @@ namespace vk
|
|||||||
VkClearDepthStencilValue clear{ 1.f, 255 };
|
VkClearDepthStencilValue clear{ 1.f, 255 };
|
||||||
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &range);
|
vkCmdClearDepthStencilImage(cmd, image->value, image->current_layout, &clear, 1, &range);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vk::insert_image_memory_barrier(
|
||||||
|
cmd,
|
||||||
|
image->handle(),
|
||||||
|
image->current_layout, image->current_layout,
|
||||||
|
VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
|
VK_ACCESS_TRANSFER_WRITE_BIT, VK_ACCESS_TRANSFER_WRITE_BIT,
|
||||||
|
range);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user