From d7637395162d44fb6ba9663e0d9d2e290b48b081 Mon Sep 17 00:00:00 2001 From: Vincent Bousquet Date: Sat, 31 May 2025 02:46:12 +0200 Subject: [PATCH] Fix blitting between texture array layers (#3428) --- src/bgfx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 23af75f45..c66259a35 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -4036,8 +4036,8 @@ namespace bgfx uint32_t dstWidth = bx::max(1, dst.m_width >> _dstMip); uint32_t dstHeight = bx::max(1, dst.m_height >> _dstMip); - uint32_t srcDepth = src.isCubeMap() ? 6 : bx::max(1, src.m_depth >> _srcMip); - uint32_t dstDepth = dst.isCubeMap() ? 6 : bx::max(1, dst.m_depth >> _dstMip); + uint32_t srcDepth = src.isCubeMap() ? 6 * src.m_numLayers : src.m_numLayers > 1 ? src.m_numLayers : bx::max(1, src.m_depth >> _srcMip); + uint32_t dstDepth = dst.isCubeMap() ? 6 * src.m_numLayers : src.m_numLayers > 1 ? src.m_numLayers : bx::max(1, dst.m_depth >> _dstMip); BX_ASSERT(_srcX < srcWidth && _srcY < srcHeight && _srcZ < srcDepth , "Blit src coordinates out of range (%d, %d, %d) >= (%d, %d, %d)"