From c8af27fc07e650e38f07bba6733c97429a08b1c4 Mon Sep 17 00:00:00 2001 From: Kai Ninomiya Date: Tue, 30 Jan 2024 20:13:03 -0800 Subject: [PATCH] WebGPU: use wasm-friendly overload of setBindGroup --- src/library_webgpu.js | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/library_webgpu.js b/src/library_webgpu.js index 50e440834100e..051f3042a7a03 100644 --- a/src/library_webgpu.js +++ b/src/library_webgpu.js @@ -2149,11 +2149,7 @@ var LibraryWebGPU = { if (dynamicOffsetCount == 0) { pass["setBindGroup"](groupIndex, group); } else { - var offsets = []; - for (var i = 0; i < dynamicOffsetCount; i++, dynamicOffsetsPtr += 4) { - offsets.push({{{ gpu.makeGetU32('dynamicOffsetsPtr', 0) }}}); - } - pass["setBindGroup"](groupIndex, group, offsets); + pass["setBindGroup"](groupIndex, group, HEAPU32, {{{ getHeapOffset('dynamicOffsetsPtr', 'u32') }}}, dynamicOffsetCount); } }, wgpuComputePassEncoderSetLabel: (passId, labelPtr) => { @@ -2213,11 +2209,7 @@ var LibraryWebGPU = { if (dynamicOffsetCount == 0) { pass["setBindGroup"](groupIndex, group); } else { - var offsets = []; - for (var i = 0; i < dynamicOffsetCount; i++, dynamicOffsetsPtr += 4) { - offsets.push({{{ gpu.makeGetU32('dynamicOffsetsPtr', 0) }}}); - } - pass["setBindGroup"](groupIndex, group, offsets); + pass["setBindGroup"](groupIndex, group, HEAPU32, {{{ getHeapOffset('dynamicOffsetsPtr', 'u32') }}}, dynamicOffsetCount); } }, wgpuRenderPassEncoderSetBlendConstant: (passId, colorPtr) => { @@ -2338,11 +2330,7 @@ var LibraryWebGPU = { if (dynamicOffsetCount == 0) { pass["setBindGroup"](groupIndex, group); } else { - var offsets = []; - for (var i = 0; i < dynamicOffsetCount; i++, dynamicOffsetsPtr += 4) { - offsets.push({{{ gpu.makeGetU32('dynamicOffsetsPtr', 0) }}}); - } - pass["setBindGroup"](groupIndex, group, offsets); + pass["setBindGroup"](groupIndex, group, HEAPU32, {{{ getHeapOffset('dynamicOffsetsPtr', 'u32') }}}, dynamicOffsetCount); } }, wgpuRenderBundleEncoderSetIndexBuffer: (bundleId, bufferId, format, offset, size) => {