Fix build

This commit is contained in:
CamilleLaVey
2026-08-21 22:41:03 -04:00
parent 33ae95f4ae
commit 9510516e68
@@ -818,14 +818,23 @@ void BlockLinearUnswizzle3DPass::UnswizzleChunk(
.size = barrier_size, .size = barrier_size,
}; };
VkAccessFlags pre_barrier_src_access = VK_ACCESS_SHADER_READ_BIT;
VkImageLayout pre_barrier_old_layout = VK_IMAGE_LAYOUT_GENERAL;
VkPipelineStageFlags pre_barrier_src_stages = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
if (use_undefined_layout) {
pre_barrier_src_access = VkAccessFlags{};
pre_barrier_old_layout = VK_IMAGE_LAYOUT_UNDEFINED;
pre_barrier_src_stages |= VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
} else {
pre_barrier_src_stages |= vk::PIPELINE_STAGE_GRAPHICS_COMPUTE;
}
const VkImageMemoryBarrier pre_barrier{ const VkImageMemoryBarrier pre_barrier{
.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
.pNext = nullptr, .pNext = nullptr,
.srcAccessMask = use_undefined_layout ? VkAccessFlags{} : .srcAccessMask = pre_barrier_src_access,
static_cast<VkAccessFlags>(VK_ACCESS_SHADER_READ_BIT),
.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT, .dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT,
.oldLayout = use_undefined_layout ? VK_IMAGE_LAYOUT_UNDEFINED : .oldLayout = pre_barrier_old_layout,
VK_IMAGE_LAYOUT_GENERAL,
.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, .newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL,
.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
@@ -833,10 +842,6 @@ void BlockLinearUnswizzle3DPass::UnswizzleChunk(
.subresourceRange = {aspect, 0, 1, 0, 1}, .subresourceRange = {aspect, 0, 1, 0, 1},
}; };
VkPipelineStageFlags pre_barrier_src_stages = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT;
pre_barrier_src_stages |= use_undefined_layout ? VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT
: vk::PIPELINE_STAGE_GRAPHICS_COMPUTE;
// Single barrier handles both buffer and image // Single barrier handles both buffer and image
cmdbuf.PipelineBarrier( cmdbuf.PipelineBarrier(
pre_barrier_src_stages, pre_barrier_src_stages,