[dawn][emscripten] Fix buffer passing entry points.
- Some of the entry points were not dereferencing the buffer object
properly after the initial table changes. With the current changes,
the .object needs to be added in order to get the GPUBuffer,
otherwise you only get the wrapper.
Change-Id: I2dabda01d22aff1ffab26a4b920feceb36749cc2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/207616
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
diff --git a/third_party/emdawnwebgpu/library_webgpu.js b/third_party/emdawnwebgpu/library_webgpu.js
index 2fc6219..2aa72d7 100644
--- a/third_party/emdawnwebgpu/library_webgpu.js
+++ b/third_party/emdawnwebgpu/library_webgpu.js
@@ -1121,7 +1121,7 @@
wgpuCommandEncoderResolveQuerySet: (encoderPtr, querySetPtr, firstQuery, queryCount, destinationPtr, destinationOffset) => {
var commandEncoder = WebGPU._tableGet(encoderPtr);
var querySet = WebGPU._tableGet(querySetPtr);
- var destination = WebGPU._tableGet(destinationPtr);
+ var destination = WebGPU._tableGet(destinationPtr).object;
commandEncoder.resolveQuerySet(querySet, firstQuery, queryCount, destination, destinationOffset);
},
@@ -1147,7 +1147,7 @@
},
wgpuComputePassEncoderDispatchWorkgroupsIndirect: (passPtr, indirectBufferPtr, indirectOffset) => {
- var indirectBuffer = WebGPU._tableGet(indirectBufferPtr);
+ var indirectBuffer = WebGPU._tableGet(indirectBufferPtr).object;
var pass = WebGPU._tableGet(passPtr);
pass.dispatchWorkgroupsIndirect(indirectBuffer, indirectOffset);
},
@@ -2030,13 +2030,13 @@
},
wgpuRenderBundleEncoderDrawIndexedIndirect: (passPtr, indirectBufferPtr, indirectOffset) => {
- var indirectBuffer = WebGPU._tableGet(indirectBufferPtr);
+ var indirectBuffer = WebGPU._tableGet(indirectBufferPtr).object;
var pass = WebGPU._tableGet(passPtr);
pass.drawIndexedIndirect(indirectBuffer, indirectOffset);
},
wgpuRenderBundleEncoderDrawIndirect: (passPtr, indirectBufferPtr, indirectOffset) => {
- var indirectBuffer = WebGPU._tableGet(indirectBufferPtr);
+ var indirectBuffer = WebGPU._tableGet(indirectBufferPtr).object;
var pass = WebGPU._tableGet(passPtr);
pass.drawIndirect(indirectBuffer, indirectOffset);
},
@@ -2130,13 +2130,13 @@
},
wgpuRenderPassEncoderDrawIndexedIndirect: (passPtr, indirectBufferPtr, indirectOffset) => {
- var indirectBuffer = WebGPU._tableGet(indirectBufferPtr);
+ var indirectBuffer = WebGPU._tableGet(indirectBufferPtr).object;
var pass = WebGPU._tableGet(passPtr);
pass.drawIndexedIndirect(indirectBuffer, indirectOffset);
},
wgpuRenderPassEncoderDrawIndirect: (passPtr, indirectBufferPtr, indirectOffset) => {
- var indirectBuffer = WebGPU._tableGet(indirectBufferPtr);
+ var indirectBuffer = WebGPU._tableGet(indirectBufferPtr).object;
var pass = WebGPU._tableGet(passPtr);
pass.drawIndirect(indirectBuffer, indirectOffset);
},