gpu: implement Dawn queueCopyTextureForBrowser

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-30 17:56:19 -07:00 committed by Stephen Gutekanst
parent 4411d6b535
commit fee505dee2

View file

@ -648,17 +648,19 @@ pub const Interface = gpu.Interface(struct {
} }
pub inline fn instanceCreateSurface(instance: *gpu.Instance, descriptor: *const gpu.Surface.Descriptor) *gpu.Surface { pub inline fn instanceCreateSurface(instance: *gpu.Instance, descriptor: *const gpu.Surface.Descriptor) *gpu.Surface {
_ = instance; return @ptrCast(*gpu.Surface, procs.instanceCreateSurface.?(
_ = descriptor; @ptrCast(c.WGPUInstance, instance),
unreachable; @ptrCast(*const c.WGPUSurfaceDescriptor, descriptor),
));
} }
pub inline fn instanceRequestAdapter(instance: *gpu.Instance, options: *const gpu.RequestAdapterOptions, callback: gpu.RequestAdapterCallback, userdata: *anyopaque) void { pub inline fn instanceRequestAdapter(instance: *gpu.Instance, options: *const gpu.RequestAdapterOptions, callback: gpu.RequestAdapterCallback, userdata: *anyopaque) void {
_ = instance; procs.instanceRequestAdapter.?(
_ = options; @ptrCast(c.WGPUInstance, instance),
_ = callback; @ptrCast(*const c.WGPURequestAdapterOptions, options),
_ = userdata; @ptrCast(c.WGPURequestAdapterCallback, callback),
unreachable; userdata,
);
} }
pub inline fn instanceReference(instance: *gpu.Instance) void { pub inline fn instanceReference(instance: *gpu.Instance) void {
@ -706,12 +708,13 @@ pub const Interface = gpu.Interface(struct {
} }
pub inline fn queueCopyTextureForBrowser(queue: *gpu.Queue, source: *const gpu.ImageCopyTexture, destination: *const gpu.ImageCopyTexture, copy_size: *const gpu.Extent3D, options: *const gpu.CopyTextureForBrowserOptions) void { pub inline fn queueCopyTextureForBrowser(queue: *gpu.Queue, source: *const gpu.ImageCopyTexture, destination: *const gpu.ImageCopyTexture, copy_size: *const gpu.Extent3D, options: *const gpu.CopyTextureForBrowserOptions) void {
_ = queue; procs.queueCopyTextureForBrowser.?(
_ = source; @ptrCast(c.WGPUQueue, queue),
_ = destination; @ptrCast(*const c.WGPUImageCopyTexture, source),
_ = copy_size; @ptrCast(*const c.WGPUImageCopyTexture, destination),
_ = options; @ptrCast(*const c.WGPUExtent3D, copy_size),
unreachable; @ptrCast(*const c.WGPUCopyTextureForBrowserOptions, options),
);
} }
pub inline fn queueOnSubmittedWorkDone(queue: *gpu.Queue, signal_value: u64, callback: gpu.Queue.WorkDoneCallback, userdata: *anyopaque) void { pub inline fn queueOnSubmittedWorkDone(queue: *gpu.Queue, signal_value: u64, callback: gpu.Queue.WorkDoneCallback, userdata: *anyopaque) void {