gpu: correctly allow unsetting Device.setUncapturedErrorCallback

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-08-16 21:29:06 -07:00
parent 612c4420d6
commit 2007542231
4 changed files with 18 additions and 14 deletions

View file

@ -112,7 +112,7 @@ pub fn Interface(comptime T: type) type {
assertDecl(T, "deviceSetDeviceLostCallback", fn (device: *gpu.Device, callback: ?gpu.Device.LostCallback, userdata: ?*anyopaque) callconv(.Inline) void);
assertDecl(T, "deviceSetLabel", fn (device: *gpu.Device, label: [*:0]const u8) callconv(.Inline) void);
assertDecl(T, "deviceSetLoggingCallback", fn (device: *gpu.Device, callback: gpu.LoggingCallback, userdata: ?*anyopaque) callconv(.Inline) void);
assertDecl(T, "deviceSetUncapturedErrorCallback", fn (device: *gpu.Device, callback: gpu.ErrorCallback, userdata: ?*anyopaque) callconv(.Inline) void);
assertDecl(T, "deviceSetUncapturedErrorCallback", fn (device: *gpu.Device, callback: ?gpu.ErrorCallback, userdata: ?*anyopaque) callconv(.Inline) void);
assertDecl(T, "deviceTick", fn (device: *gpu.Device) callconv(.Inline) void);
assertDecl(T, "deviceReference", fn (device: *gpu.Device) callconv(.Inline) void);
assertDecl(T, "deviceRelease", fn (device: *gpu.Device) callconv(.Inline) void);
@ -704,8 +704,9 @@ pub fn Export(comptime T: type) type {
T.deviceSetLoggingCallback(device, callback, userdata);
}
// TODO: dawn: callback not marked as nullable in dawn.json but in fact is.
// WGPU_EXPORT void wgpuDeviceSetUncapturedErrorCallback(WGPUDevice device, WGPUErrorCallback callback, void * userdata);
export fn wgpuDeviceSetUncapturedErrorCallback(device: *gpu.Device, callback: gpu.ErrorCallback, userdata: ?*anyopaque) void {
export fn wgpuDeviceSetUncapturedErrorCallback(device: *gpu.Device, callback: ?gpu.ErrorCallback, userdata: ?*anyopaque) void {
T.deviceSetUncapturedErrorCallback(device, callback, userdata);
}
@ -1812,7 +1813,7 @@ pub const StubInterface = Interface(struct {
unreachable;
}
pub inline fn deviceSetUncapturedErrorCallback(device: *gpu.Device, callback: gpu.ErrorCallback, userdata: ?*anyopaque) void {
pub inline fn deviceSetUncapturedErrorCallback(device: *gpu.Device, callback: ?gpu.ErrorCallback, userdata: ?*anyopaque) void {
_ = device;
_ = callback;
_ = userdata;