mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-08 01:54:15 +01:00
[dxvk] Fix nonsensical pipeline stages when relocating resources
This commit is contained in:
parent
640379e54b
commit
662cfd49f5
@ -6326,9 +6326,8 @@ namespace dxvk {
|
|||||||
if (info.image->isInitialized(subresourceRange)) {
|
if (info.image->isInitialized(subresourceRange)) {
|
||||||
VkImageMemoryBarrier2 dstBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
VkImageMemoryBarrier2 dstBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
||||||
dstBarrier.srcStageMask = info.image->info().stages;
|
dstBarrier.srcStageMask = info.image->info().stages;
|
||||||
dstBarrier.srcAccessMask = info.image->info().access;
|
dstBarrier.dstStageMask = VK_PIPELINE_STAGE_2_TRANSFER_BIT;
|
||||||
dstBarrier.dstStageMask = info.image->info().stages;
|
dstBarrier.dstAccessMask = VK_ACCESS_2_TRANSFER_WRITE_BIT;
|
||||||
dstBarrier.dstAccessMask = info.image->info().access;
|
|
||||||
dstBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
dstBarrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED;
|
||||||
dstBarrier.newLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
dstBarrier.newLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
||||||
dstBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
|
dstBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
|
||||||
@ -6339,8 +6338,8 @@ namespace dxvk {
|
|||||||
VkImageMemoryBarrier2 srcBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
VkImageMemoryBarrier2 srcBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
||||||
srcBarrier.srcStageMask = info.image->info().stages;
|
srcBarrier.srcStageMask = info.image->info().stages;
|
||||||
srcBarrier.srcAccessMask = info.image->info().access;
|
srcBarrier.srcAccessMask = info.image->info().access;
|
||||||
srcBarrier.dstStageMask = info.image->info().stages;
|
srcBarrier.dstStageMask = VK_PIPELINE_STAGE_2_TRANSFER_BIT;
|
||||||
srcBarrier.dstAccessMask = info.image->info().access;
|
srcBarrier.dstAccessMask = VK_ACCESS_2_TRANSFER_READ_BIT;
|
||||||
srcBarrier.oldLayout = info.image->info().layout;
|
srcBarrier.oldLayout = info.image->info().layout;
|
||||||
srcBarrier.newLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
|
srcBarrier.newLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL);
|
||||||
srcBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
|
srcBarrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
|
||||||
@ -6455,8 +6454,8 @@ namespace dxvk {
|
|||||||
// entire image in one go as long as all subresources are initialized,
|
// entire image in one go as long as all subresources are initialized,
|
||||||
// but there is usually no reason to do so.
|
// but there is usually no reason to do so.
|
||||||
VkImageMemoryBarrier2 dstBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
VkImageMemoryBarrier2 dstBarrier = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2 };
|
||||||
dstBarrier.srcStageMask = info.image->info().stages;
|
dstBarrier.srcStageMask = VK_PIPELINE_STAGE_2_TRANSFER_BIT;
|
||||||
dstBarrier.srcAccessMask = info.image->info().access;
|
dstBarrier.srcAccessMask = VK_ACCESS_2_TRANSFER_WRITE_BIT;
|
||||||
dstBarrier.dstStageMask = info.image->info().stages;
|
dstBarrier.dstStageMask = info.image->info().stages;
|
||||||
dstBarrier.dstAccessMask = info.image->info().access;
|
dstBarrier.dstAccessMask = info.image->info().access;
|
||||||
dstBarrier.oldLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
dstBarrier.oldLayout = info.image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user