From 18b66b7d424dd30d1ba712bff22f96e79aab5525 Mon Sep 17 00:00:00 2001 From: Spiri0 <69024222+Spiri0@users.noreply.github.com> Date: Mon, 9 Sep 2024 00:02:11 +0200 Subject: [PATCH] Extension of the WebGPU copyTextureToTexture function for array textures (#29364) * Extension of the copyTextureToTexture function to also be able to use array textures * Update WebGPUBackend.js remove empty space --- src/renderers/webgpu/WebGPUBackend.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/renderers/webgpu/WebGPUBackend.js b/src/renderers/webgpu/WebGPUBackend.js index 9576c5b7cb8623..7289ecee7fae1a 100644 --- a/src/renderers/webgpu/WebGPUBackend.js +++ b/src/renderers/webgpu/WebGPUBackend.js @@ -1365,9 +1365,11 @@ class WebGPUBackend extends Backend { let dstX = 0; let dstY = 0; + let dstLayer = 0; let srcX = 0; let srcY = 0; + let srcLayer = 0; let srcWidth = srcTexture.image.width; let srcHeight = srcTexture.image.height; @@ -1376,6 +1378,7 @@ class WebGPUBackend extends Backend { srcX = srcRegion.x; srcY = srcRegion.y; + srcLayer = srcRegion.z || 0; srcWidth = srcRegion.width; srcHeight = srcRegion.height; @@ -1385,6 +1388,7 @@ class WebGPUBackend extends Backend { dstX = dstPosition.x; dstY = dstPosition.y; + dstLayer = dstPosition.z || 0; } @@ -1397,16 +1401,17 @@ class WebGPUBackend extends Backend { { texture: sourceGPU, mipLevel: level, - origin: { x: srcX, y: srcY, z: 0 } + origin: { x: srcX, y: srcY, z: srcLayer } }, { texture: destinationGPU, mipLevel: level, - origin: { x: dstX, y: dstY, z: 0 } + origin: { x: dstX, y: dstY, z: dstLayer } }, [ srcWidth, - srcHeight + srcHeight, + 1 ] );