Fix set layout to be used from transfer queue

This commit is contained in:
Georg Hagen
2024-07-07 23:51:09 +02:00
parent f947204ae2
commit 92b77e46f5

View File

@@ -8,7 +8,6 @@
namespace OpenVulkano::Vulkan
{
void Image::Init(const Device* device, const vk::ImageCreateInfo& imageCreateInfo, vk::ImageViewCreateInfo imageViewCreateInfo, const vk::MemoryPropertyFlags& memoryPropertyFlags)
{
this->device = device->device;
@@ -29,10 +28,8 @@ namespace OpenVulkano::Vulkan
void Image::SetLayout(vk::CommandBuffer& cmdBuffer, const vk::ImageSubresourceRange& subResourceRange, vk::ImageLayout newLayout, vk::ImageLayout oldLayout) const
{
const vk::ImageMemoryBarrier imgMemBarrier(VulkanUtils::GetAccessFlagsForLayout(oldLayout), VulkanUtils::GetAccessFlagsForLayout(newLayout), oldLayout,
newLayout, 0, 0, image, subResourceRange);
cmdBuffer.pipelineBarrier(VulkanUtils::GetPipelineStageForLayout(oldLayout), VulkanUtils::GetPipelineStageForLayout(newLayout),
{}, nullptr, nullptr, imgMemBarrier);
const vk::ImageMemoryBarrier imgMemBarrier(/*VulkanUtils::GetAccessFlagsForLayout(oldLayout)*/{}, /*VulkanUtils::GetAccessFlagsForLayout(newLayout)*/vk::AccessFlagBits::eTransferWrite, oldLayout, newLayout, 0, 0, image, subResourceRange);
cmdBuffer.pipelineBarrier(/*VulkanUtils::GetPipelineStageForLayout(oldLayout)*/vk::PipelineStageFlagBits::eTopOfPipe, /*VulkanUtils::GetPipelineStageForLayout(newLayout)*/ vk::PipelineStageFlagBits::eTransfer, {}, nullptr, nullptr, imgMemBarrier);
}
void Image::Init(const Device* device, const DataFormat& format, const vk::Extent3D& resolution)