renderer_vulkan: Fix flipped screenshot

This commit is contained in:
GPUCode
2023-09-13 01:27:51 +03:00
parent 164d85709c
commit dcc51d5526

View File

@@ -1021,11 +1021,16 @@ void RendererVulkan::RenderScreenshot() {
.dstAccessMask = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eMemoryWrite, .dstAccessMask = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eMemoryWrite,
}; };
const std::array offsets = { const std::array src_offsets = {
vk::Offset3D{0, 0, 0}, vk::Offset3D{0, 0, 0},
vk::Offset3D{static_cast<s32>(width), static_cast<s32>(height), 1}, vk::Offset3D{static_cast<s32>(width), static_cast<s32>(height), 1},
}; };
const std::array dst_offsets = {
vk::Offset3D{0, static_cast<s32>(height), 0},
vk::Offset3D{static_cast<s32>(width), 0, 1},
};
const vk::ImageBlit blit_area = { const vk::ImageBlit blit_area = {
.srcSubresource{ .srcSubresource{
.aspectMask = vk::ImageAspectFlagBits::eColor, .aspectMask = vk::ImageAspectFlagBits::eColor,
@@ -1033,14 +1038,14 @@ void RendererVulkan::RenderScreenshot() {
.baseArrayLayer = 0, .baseArrayLayer = 0,
.layerCount = 1, .layerCount = 1,
}, },
.srcOffsets = offsets, .srcOffsets = src_offsets,
.dstSubresource{ .dstSubresource{
.aspectMask = vk::ImageAspectFlagBits::eColor, .aspectMask = vk::ImageAspectFlagBits::eColor,
.mipLevel = 0, .mipLevel = 0,
.baseArrayLayer = 0, .baseArrayLayer = 0,
.layerCount = 1, .layerCount = 1,
}, },
.dstOffsets = offsets, .dstOffsets = dst_offsets,
}; };
cmdbuf.pipelineBarrier(vk::PipelineStageFlagBits::eAllCommands, cmdbuf.pipelineBarrier(vk::PipelineStageFlagBits::eAllCommands,