Update dawn patch

This commit is contained in:
Yulong Wang 2025-01-15 23:48:32 -08:00
parent 89508c4d50
commit e842314187
2 changed files with 365 additions and 50 deletions

View file

@ -631,6 +631,33 @@ if (onnxruntime_USE_WEBGPU)
URL_HASH SHA1=${DEP_SHA1_dawn}
# All previous patches are merged into the upstream dawn project. We don't need to apply any patches right now.
# if we need to apply patches in the future, we can uncomment the following line.
#
# Currently, the patch contains the following changes:
# git reset --hard 12a3b24c456cebd9fd11f23ac0164f78129b00c6 (The current dawn version in deps.txt)
# HEAD is now at 12a3b24c45 [tint][ir][val] Enforce rules around scope for function vars
# git cherry-pick 28258a5769a4212fec19a467f1dd4afa886b8179
# [emscripten] Fix handling of errors in MapAsync
# git cherry-pick d7727b4aaa8fe9e3005a7217fc36fe2e9baacc6f
# [emscripten] Fix cleanup steps in emwgpuWaitAny
# git cherry-pick 63cbc06bd56d57488b5234269eee41414e2583fd
# [emscripten] Use handleAsync correctly in WaitAny
# git cherry-pick 6e3c037b70a095b726164aeb2e6ff6e436662371
# [emscripten] Revise return value several webgpu APIs
# git cherry-pick 96973ac4bf79f321910a5ad0ed46847205408d02
# [emscripten] Fix convertSentinelToUndefined when heap size > 2GB
# git cherry-pick 617d042d4bb243a36930b020ab6f5c14cd89f824
# [emscripten] Make some things work with WASM_BIGINT or MEMORY64
# git cherry-pick b7143cc4f3bf86a78ffff816dec53d9e40ce9518
# fix webgpu_gen_struct_info in Windows
PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/dawn/dawn.patch
)
endif()

View file

@ -11,40 +11,119 @@ index de673537d3..c98dc46de7 100644
-q
"${EM_BUILD_GEN_DIR}/struct_info_webgpu.json"
diff --git a/third_party/emdawnwebgpu/library_webgpu.js b/third_party/emdawnwebgpu/library_webgpu.js
index d1835cb090..df03ea2f94 100644
index d1835cb090..facc3a08c8 100644
--- a/third_party/emdawnwebgpu/library_webgpu.js
+++ b/third_party/emdawnwebgpu/library_webgpu.js
@@ -16,10 +16,19 @@
throw new Error("To use Dawn's library_webgpu.js, disable -sUSE_WEBGPU and first include Dawn's library_webgpu_struct_info.js and library_webgpu_enum_tables.js (before library_webgpu.js)");
}
@@ -18,10 +18,20 @@
+ if (MEMORY64) {
+ throw new Error("The current implementation of Dawn's library_webgpu.js does not support MEMORY64 yet");
+ }
+
// Helper functions for code generation
globalThis.gpu = {
- convertSentinelToUndefined: function(name) {
- return `if (${name} == -1) ${name} = undefined;`;
+ convertSentinelToUndefined: function(name, isPtr = false) {
+ convertSentinelToUndefined: function(name, argIsPassedAsPointerType) {
+ // When `CAN_ADDRESS_2GB` is true, value `-1` is normalized to `0xFFFFFFFF` for pointer.
+ if (CAN_ADDRESS_2GB && isPtr) {
+ if (CAN_ADDRESS_2GB && argIsPassedAsPointerType) {
+ return `if (${name} == 0xFFFFFFFF) ${name} = undefined;`;
+ } else {
+ return `if (${name} == -1) ${name} = undefined;`;
+ }
},
+ NULLPTR: MEMORY64 ? '0n' : '0',
+ passAsI64: value => WASM_BIGINT ? `BigInt(${value})` : value,
+ passAsPointer: value => MEMORY64 ? `BigInt(${value})` : value,
+ convertToPassAsPointer: variable => MEMORY64 ? `${variable} = BigInt(${variable});` : '',
+
makeGetBool: function(struct, offset) {
@@ -700,6 +709,7 @@ var LibraryWebGPU = {
return `!!(${makeGetValue(struct, offset, 'u32')})`;
},
@@ -105,7 +115,6 @@ var LibraryWebGPU = {
new Promise((resolve) => promise.finally(() => resolve(futureId)));
#endif
},
- waitAnyPromisesList: [],
},
// Public utility functions useful for translating between WASM/JS. Most of
@@ -580,14 +589,12 @@ var LibraryWebGPU = {
},
// Returns a FutureID that was resolved, or kNullFutureId if timed out.
-#if ASYNCIFY
- emwgpuWaitAny__async: true,
-#endif
emwgpuWaitAny__i53abi: false,
emwgpuWaitAny__sig: 'jppp',
- emwgpuWaitAny: (futurePtr, futureCount, timeoutNSPtr) => {
#if ASYNCIFY
- var promises = WebGPU.Internals.waitAnyPromisesList;
+ emwgpuWaitAny__async: true,
+ emwgpuWaitAny: (futurePtr, futureCount, timeoutNSPtr) => Asyncify.handleAsync(async () => {
+ var promises = [];
if (timeoutNSPtr) {
var timeoutMS = {{{ gpu.makeGetU64('timeoutNSPtr', 0) }}} / 1000000;
promises.length = futureCount + 1;
@@ -605,18 +612,15 @@ var LibraryWebGPU = {
promises[i] = WebGPU.Internals.futures[futureId];
}
- var result = Asyncify.handleAsync(async () => {
- return await Promise.race(promises);
- });
-
- // Clean up internal futures state.
- delete WebGPU.Internals.futures[result];
- WebGPU.Internals.waitAnyPromisesList.length = 0;
- return result;
+ const firstResolvedFuture = await Promise.race(promises);
+ delete WebGPU.Internals.futures[firstResolvedFuture];
+ return {{{ gpu.passAsI64('firstResolvedFuture') }}};
+ }),
#else
- assert(false);
-#endif
+ emwgpuWaitAny: () => {
+ abort('TODO: Implement asyncify-free WaitAny for timeout=0');
},
+#endif
emwgpuGetPreferredFormat__sig: 'i',
emwgpuGetPreferredFormat: () => {
@@ -700,12 +704,13 @@ var LibraryWebGPU = {
{{{ makeSetValue('info', C_STRUCTS.WGPUAdapterInfo.adapterType, 'adapterType', 'i32') }}};
{{{ makeSetValue('info', C_STRUCTS.WGPUAdapterInfo.vendorID, '0', 'i32') }}};
{{{ makeSetValue('info', C_STRUCTS.WGPUAdapterInfo.deviceID, '0', 'i32') }}};
+ return 1;
+ return {{{ gpu.Status.Success }}};
},
wgpuAdapterGetLimits: (adapterPtr, limitsOutPtr) => {
@@ -882,7 +892,7 @@ var LibraryWebGPU = {
var adapter = WebGPU.getJsObject(adapterPtr);
WebGPU.fillLimitStruct(adapter.limits, limitsOutPtr);
- return 1;
+ return {{{ gpu.Status.Success }}};
},
wgpuAdapterHasFeature: (adapterPtr, featureEnumValue) => {
@@ -803,6 +808,8 @@ var LibraryWebGPU = {
WebGPU.Internals.jsObjectInsert(queuePtr, device.queue);
WebGPU.Internals.jsObjectInsert(devicePtr, device);
+ {{{ gpu.convertToPassAsPointer('devicePtr') }}}
+
// Set up device lost promise resolution.
if (deviceLostFutureId) {
{{{ runtimeKeepalivePush() }}}
@@ -834,7 +841,8 @@ var LibraryWebGPU = {
stackRestore(sp);
};
- _emwgpuOnRequestDeviceCompleted(futureId, {{{ gpu.RequestDeviceStatus.Success }}}, devicePtr, 0);
+ _emwgpuOnRequestDeviceCompleted(futureId, {{{ gpu.RequestDeviceStatus.Success }}},
+ devicePtr, {{{ gpu.NULLPTR }}});
}, (ex) => {
{{{ runtimeKeepalivePop() }}}
var sp = stackSave();
@@ -882,7 +890,7 @@ var LibraryWebGPU = {
if (size === 0) warnOnce('getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE');
@ -53,7 +132,7 @@ index d1835cb090..df03ea2f94 100644
var mapped;
try {
@@ -909,7 +919,7 @@ var LibraryWebGPU = {
@@ -909,7 +917,7 @@ var LibraryWebGPU = {
if (size === 0) warnOnce('getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE');
@ -62,7 +141,7 @@ index d1835cb090..df03ea2f94 100644
var mapped;
try {
@@ -950,7 +960,7 @@ var LibraryWebGPU = {
@@ -950,19 +958,20 @@ var LibraryWebGPU = {
var buffer = WebGPU.getJsObject(bufferPtr);
WebGPU.Internals.bufferOnUnmaps[bufferPtr] = [];
@ -71,48 +150,257 @@ index d1835cb090..df03ea2f94 100644
{{{ runtimeKeepalivePush() }}}
WebGPU.Internals.futureInsert(futureId, buffer.mapAsync(mode, offset, size).then(() => {
@@ -1145,7 +1155,7 @@ var LibraryWebGPU = {
{{{ runtimeKeepalivePop() }}}
- _emwgpuOnMapAsyncCompleted(futureId, {{{ gpu.MapAsyncStatus.Success }}}, 0);
+ _emwgpuOnMapAsyncCompleted(futureId, {{{ gpu.MapAsyncStatus.Success }}},
+ {{{ gpu.NULLPTR }}});
}, (ex) => {
{{{ runtimeKeepalivePop() }}}
var sp = stackSave();
var messagePtr = stringToUTF8OnStack(ex.message);
var status =
- ex instanceof AbortError ? {{{ gpu.MapAsyncStatus.Aborted }}} :
- ex instanceof OperationError ? {{{ gpu.MapAsyncStatus.Error }}} :
+ ex.name === 'AbortError' ? {{{ gpu.MapAsyncStatus.Aborted }}} :
+ ex.name === 'OperationError' ? {{{ gpu.MapAsyncStatus.Error }}} :
{{{ gpu.MapAsyncStatus.Unknown }}};
_emwgpuOnMapAsyncCompleted(futureId, status, messagePtr);
delete WebGPU.Internals.bufferOnUnmaps[bufferPtr];
@@ -1138,7 +1147,7 @@ var LibraryWebGPU = {
var desc = makeRenderPassDescriptor(descriptor);
wgpuCommandEncoderClearBuffer: (encoderPtr, bufferPtr, offset, size) => {
var commandEncoder = WebGPU.getJsObject(encoderPtr);
- {{{ gpu.convertSentinelToUndefined('size') }}}
+ {{{ gpu.convertSentinelToUndefined('size', true) }}}
- var ptr = _emwgpuCreateRenderPassEncoder();
+ var ptr = _emwgpuCreateRenderPassEncoder({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, commandEncoder.beginRenderPass(desc));
return ptr;
},
@@ -1183,7 +1192,7 @@ var LibraryWebGPU = {
wgpuCommandEncoderFinish: (encoderPtr, descriptor) => {
// TODO: Use the descriptor.
var commandEncoder = WebGPU.getJsObject(encoderPtr);
- var ptr = _emwgpuCreateCommandBuffer();
+ var ptr = _emwgpuCreateCommandBuffer({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, commandEncoder.finish());
return ptr;
},
@@ -1285,7 +1294,7 @@ var LibraryWebGPU = {
wgpuComputePipelineGetBindGroupLayout__deps: ['emwgpuCreateBindGroupLayout'],
wgpuComputePipelineGetBindGroupLayout: (pipelinePtr, groupIndex) => {
var pipeline = WebGPU.getJsObject(pipelinePtr);
- var ptr = _emwgpuCreateBindGroupLayout();
+ var ptr = _emwgpuCreateBindGroupLayout({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, pipeline.getBindGroupLayout(groupIndex));
return ptr;
},
@@ -1356,7 +1365,7 @@ var LibraryWebGPU = {
};
var buffer = WebGPU.getJsObject(bufferPtr);
commandEncoder.clearBuffer(buffer, offset, size);
@@ -2103,7 +2113,7 @@ var LibraryWebGPU = {
wgpuRenderBundleEncoderSetIndexBuffer: (passPtr, bufferPtr, format, offset, size) => {
var pass = WebGPU.getJsObject(passPtr);
var buffer = WebGPU.getJsObject(bufferPtr);
- {{{ gpu.convertSentinelToUndefined('size') }}}
+ {{{ gpu.convertSentinelToUndefined('size', true) }}}
pass.setIndexBuffer(buffer, WebGPU.IndexFormat[format], offset, size);
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateBindGroup();
+ var ptr = _emwgpuCreateBindGroup({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createBindGroup(desc));
return ptr;
},
@@ -1459,7 +1468,7 @@ var LibraryWebGPU = {
};
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateBindGroupLayout();
+ var ptr = _emwgpuCreateBindGroupLayout({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createBindGroupLayout(desc));
return ptr;
},
@@ -1496,7 +1505,7 @@ var LibraryWebGPU = {
};
}
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateCommandEncoder();
+ var ptr = _emwgpuCreateCommandEncoder({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createCommandEncoder(desc));
return ptr;
},
@@ -1505,7 +1514,7 @@ var LibraryWebGPU = {
wgpuDeviceCreateComputePipeline: (devicePtr, descriptor) => {
var desc = WebGPU.makeComputePipelineDesc(descriptor);
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateComputePipeline();
+ var ptr = _emwgpuCreateComputePipeline({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createComputePipeline(desc));
return ptr;
},
@@ -1518,7 +1527,7 @@ var LibraryWebGPU = {
{{{ runtimeKeepalivePush() }}}
WebGPU.Internals.futureInsert(futureId, device.createComputePipelineAsync(desc).then((pipeline) => {
{{{ runtimeKeepalivePop() }}}
- var pipelinePtr = _emwgpuCreateComputePipeline();
+ var pipelinePtr = _emwgpuCreateComputePipeline({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(pipelinePtr, pipeline);
_emwgpuOnCreateComputePipelineCompleted(futureId, {{{ gpu.CreatePipelineAsyncStatus.Success }}}, pipelinePtr, 0);
}, (pipelineError) => {
@@ -1551,7 +1560,7 @@ var LibraryWebGPU = {
};
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreatePipelineLayout();
+ var ptr = _emwgpuCreatePipelineLayout({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createPipelineLayout(desc));
return ptr;
},
@@ -1567,7 +1576,7 @@ var LibraryWebGPU = {
};
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateQuerySet();
+ var ptr = _emwgpuCreateQuerySet({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createQuerySet(desc));
return ptr;
},
@@ -1604,7 +1613,7 @@ var LibraryWebGPU = {
var desc = makeRenderBundleEncoderDescriptor(descriptor);
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateRenderBundleEncoder();
+ var ptr = _emwgpuCreateRenderBundleEncoder({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createRenderBundleEncoder(desc));
return ptr;
},
@@ -1613,7 +1622,7 @@ var LibraryWebGPU = {
wgpuDeviceCreateRenderPipeline: (devicePtr, descriptor) => {
var desc = WebGPU.makeRenderPipelineDesc(descriptor);
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateRenderPipeline();
+ var ptr = _emwgpuCreateRenderPipeline({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createRenderPipeline(desc));
return ptr;
},
@@ -1626,7 +1635,7 @@ var LibraryWebGPU = {
{{{ runtimeKeepalivePush() }}}
WebGPU.Internals.futureInsert(futureId, device.createRenderPipelineAsync(desc).then((pipeline) => {
{{{ runtimeKeepalivePop() }}}
- var pipelinePtr = _emwgpuCreateRenderPipeline();
+ var pipelinePtr = _emwgpuCreateRenderPipeline({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(pipelinePtr, pipeline);
_emwgpuOnCreateRenderPipelineCompleted(futureId, {{{ gpu.CreatePipelineAsyncStatus.Success }}}, pipelinePtr, 0);
}, (pipelineError) => {
@@ -1671,7 +1680,7 @@ var LibraryWebGPU = {
}
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateSampler();
+ var ptr = _emwgpuCreateSampler({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createSampler(desc));
return ptr;
},
@@ -1733,7 +1742,7 @@ var LibraryWebGPU = {
}
var device = WebGPU.getJsObject(devicePtr);
- var ptr = _emwgpuCreateTexture();
+ var ptr = _emwgpuCreateTexture({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, device.createTexture(desc));
return ptr;
},
@@ -1765,7 +1774,7 @@ var LibraryWebGPU = {
wgpuDeviceGetLimits: (devicePtr, limitsOutPtr) => {
var device = WebGPU.getJsObject(devicePtr);
WebGPU.fillLimitStruct(device.limits, limitsOutPtr);
- return 1;
+ return {{{ gpu.Status.Success }}};
},
@@ -2116,7 +2126,7 @@ var LibraryWebGPU = {
wgpuRenderBundleEncoderSetVertexBuffer: (passPtr, slot, bufferPtr, offset, size) => {
var pass = WebGPU.getJsObject(passPtr);
var buffer = WebGPU.getJsObject(bufferPtr);
- {{{ gpu.convertSentinelToUndefined('size') }}}
+ {{{ gpu.convertSentinelToUndefined('size', true) }}}
pass.setVertexBuffer(slot, buffer, offset, size);
wgpuDeviceHasFeature: (devicePtr, featureEnumValue) => {
@@ -1806,6 +1815,7 @@ var LibraryWebGPU = {
{{{ makeSetValue('adapterInfo', C_STRUCTS.WGPUAdapterInfo.adapterType, 'adapterType', 'i32') }}};
{{{ makeSetValue('adapterInfo', C_STRUCTS.WGPUAdapterInfo.vendorID, '0', 'i32') }}};
{{{ makeSetValue('adapterInfo', C_STRUCTS.WGPUAdapterInfo.deviceID, '0', 'i32') }}};
+ return {{{ gpu.Status.Success }}};
},
@@ -2211,7 +2221,7 @@ var LibraryWebGPU = {
wgpuRenderPassEncoderSetIndexBuffer: (passPtr, bufferPtr, format, offset, size) => {
var pass = WebGPU.getJsObject(passPtr);
var buffer = WebGPU.getJsObject(bufferPtr);
- {{{ gpu.convertSentinelToUndefined('size') }}}
+ {{{ gpu.convertSentinelToUndefined('size', true) }}}
pass.setIndexBuffer(buffer, WebGPU.IndexFormat[format], offset, size);
},
emwgpuDevicePopErrorScope__deps: ['emwgpuOnPopErrorScopeCompleted'],
@@ -1897,7 +1907,7 @@ var LibraryWebGPU = {
descriptor + {{{ C_STRUCTS.WGPUSurfaceDescriptor.label }}}
);
@@ -2234,7 +2244,7 @@ var LibraryWebGPU = {
wgpuRenderPassEncoderSetVertexBuffer: (passPtr, slot, bufferPtr, offset, size) => {
var pass = WebGPU.getJsObject(passPtr);
var buffer = WebGPU.getJsObject(bufferPtr);
- {{{ gpu.convertSentinelToUndefined('size') }}}
+ {{{ gpu.convertSentinelToUndefined('size', true) }}}
pass.setVertexBuffer(slot, buffer, offset, size);
- var ptr = _emwgpuCreateSurface();
+ var ptr = _emwgpuCreateSurface({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, context);
return ptr;
},
@@ -1935,9 +1945,10 @@ var LibraryWebGPU = {
WebGPU.Internals.futureInsert(futureId, navigator["gpu"]["requestAdapter"](opts).then((adapter) => {
{{{ runtimeKeepalivePop() }}}
if (adapter) {
- var adapterPtr = _emwgpuCreateAdapter(instancePtr);
+ var adapterPtr = _emwgpuCreateAdapter({{{ gpu.passAsPointer('instancePtr') }}});
WebGPU.Internals.jsObjectInsert(adapterPtr, adapter);
- _emwgpuOnRequestAdapterCompleted(futureId, {{{ gpu.RequestAdapterStatus.Success }}}, adapterPtr, 0);
+ _emwgpuOnRequestAdapterCompleted(futureId, {{{ gpu.RequestAdapterStatus.Success }}},
+ adapterPtr, {{{ gpu.NULLPTR }}});
} else {
var sp = stackSave();
var messagePtr = stringToUTF8OnStack('WebGPU not available on this browser (requestAdapter returned null)');
@@ -2066,7 +2077,7 @@ var LibraryWebGPU = {
};
}
var encoder = WebGPU.getJsObject(encoderPtr);
- var ptr = _emwgpuCreateRenderBundle();
+ var ptr = _emwgpuCreateRenderBundle({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, encoder.finish(desc));
return ptr;
},
@@ -2256,7 +2267,7 @@ var LibraryWebGPU = {
wgpuRenderPipelineGetBindGroupLayout__deps: ['emwgpuCreateBindGroupLayout'],
wgpuRenderPipelineGetBindGroupLayout: (pipelinePtr, groupIndex) => {
var pipeline = WebGPU.getJsObject(pipelinePtr);
- var ptr = _emwgpuCreateBindGroupLayout();
+ var ptr = _emwgpuCreateBindGroupLayout({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, pipeline.getBindGroupLayout(groupIndex));
return ptr;
},
@@ -2379,7 +2390,7 @@ var LibraryWebGPU = {
var context = WebGPU.getJsObject(surfacePtr);
try {
- var texturePtr = _emwgpuCreateTexture();
+ var texturePtr = _emwgpuCreateTexture({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(texturePtr, context.getCurrentTexture());
{{{ makeSetValue('surfaceTexturePtr', C_STRUCTS.WGPUSurfaceTexture.texture, 'texturePtr', '*') }}};
{{{ makeSetValue('surfaceTexturePtr', C_STRUCTS.WGPUSurfaceTexture.suboptimal, '0', 'i32') }}};
@@ -2435,7 +2446,7 @@ var LibraryWebGPU = {
}
var texture = WebGPU.getJsObject(texturePtr);
- var ptr = _emwgpuCreateTextureView();
+ var ptr = _emwgpuCreateTextureView({{{ gpu.NULLPTR }}});
WebGPU.Internals.jsObjectInsert(ptr, texture.createView(desc));
return ptr;
},
diff --git a/third_party/emdawnwebgpu/webgpu.cpp b/third_party/emdawnwebgpu/webgpu.cpp
index 5ed457c35a..686d012dd8 100644
--- a/third_party/emdawnwebgpu/webgpu.cpp
+++ b/third_party/emdawnwebgpu/webgpu.cpp
@@ -618,9 +618,9 @@ static EventManager& GetEventManager() {
// ----------------------------------------------------------------------------
// Default struct declarations.
-#define DEFINE_WGPU_DEFAULT_STRUCT(Name) \
- struct WGPU##Name##Impl final : public RefCounted { \
- WGPU##Name##Impl(const EventSource* source = nullptr) {} \
+#define DEFINE_WGPU_DEFAULT_STRUCT(Name) \
+ struct WGPU##Name##Impl final : public RefCounted { \
+ WGPU##Name##Impl(const EventSource* = nullptr) {} \
};
WGPU_PASSTHROUGH_OBJECTS(DEFINE_WGPU_DEFAULT_STRUCT)
@@ -1860,8 +1860,8 @@ WGPUFuture wgpuShaderModuleGetCompilationInfo2(
// Methods of Surface
// ----------------------------------------------------------------------------
-WGPUStatus wgpuSurfaceGetCapabilities(WGPUSurface surface,
- WGPUAdapter adapter,
+WGPUStatus wgpuSurfaceGetCapabilities(WGPUSurface,
+ WGPUAdapter,
WGPUSurfaceCapabilities* capabilities) {
assert(capabilities->nextInChain == nullptr); // TODO: Return WGPUStatus_Error