From 8e2fc44a65432dc62b21e2084eb7ed7eb018185b Mon Sep 17 00:00:00 2001 From: Sasha Szpakowski Date: Tue, 13 Aug 2024 18:02:30 -0300 Subject: [PATCH] vulkan: fix texture<->buffer copying when there's an offset into the texture --- src/modules/graphics/vulkan/Texture.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/modules/graphics/vulkan/Texture.cpp b/src/modules/graphics/vulkan/Texture.cpp index 4f113af0f..bd61566c9 100644 --- a/src/modules/graphics/vulkan/Texture.cpp +++ b/src/modules/graphics/vulkan/Texture.cpp @@ -618,6 +618,8 @@ void Texture::copyFromBuffer(graphics::Buffer *source, size_t sourceoffset, int region.bufferRowLength = sourcewidth; region.bufferImageHeight = 1; region.imageSubresource = layers; + region.imageOffset.x = rect.x; + region.imageOffset.y = rect.y; region.imageExtent.width = static_cast(rect.w); region.imageExtent.height = static_cast(rect.h); @@ -648,6 +650,8 @@ void Texture::copyToBuffer(graphics::Buffer *dest, int slice, int mipmap, const region.bufferRowLength = destwidth; region.bufferImageHeight = 0; region.imageSubresource = layers; + region.imageOffset.x = rect.x; + region.imageOffset.y = rect.y; region.imageExtent.width = static_cast(rect.w); region.imageExtent.height = static_cast(rect.h); region.imageExtent.depth = 1;