gpu: implement Device.createErrorBuffer

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-18 16:04:16 -07:00 committed by Stephen Gutekanst
parent 155c291c8e
commit 1bff7e5f3c
2 changed files with 13 additions and 2 deletions

View file

@ -40,8 +40,7 @@ pub const VTable = struct {
descriptor: *const ComputePipeline.Descriptor,
callback: *ComputePipeline.CreateCallback,
) void,
// createErrorBuffer: fn (ptr: *anyopaque) Buffer,
// WGPU_EXPORT WGPUBuffer wgpuDeviceCreateErrorBuffer(WGPUDevice device);
createErrorBuffer: fn (ptr: *anyopaque) Buffer,
// createExternalTexture: fn (ptr: *anyopaque, descriptor: *const ExternalTexture.Descriptor) ExternalTexture,
// WGPU_EXPORT WGPUExternalTexture wgpuDeviceCreateExternalTexture(WGPUDevice device, WGPUExternalTextureDescriptor const * externalTextureDescriptor);
// createPipelineLayout: fn (ptr: *anyopaque, descriptor: *const PipelineLayout.Descriptor) PipelineLayout,
@ -149,6 +148,10 @@ pub inline fn createComputePipelineAsync(
device.vtable.createComputePipelineAsync(device.ptr, descriptor, callback);
}
pub inline fn createErrorBuffer(device: Device) Buffer {
return device.vtable.createErrorBuffer(device.ptr);
}
pub inline fn createRenderPipeline(device: Device, descriptor: *const RenderPipeline.Descriptor) RenderPipeline {
return device.vtable.createRenderPipeline(device.ptr, descriptor);
}
@ -191,6 +194,7 @@ test {
_ = createCommandEncoder;
_ = createComputePipeline;
_ = createComputePipelineAsync;
_ = createErrorBuffer;
_ = createRenderPipeline;
_ = createRenderPipelineAsync;
_ = tick;

View file

@ -504,6 +504,13 @@ const device_vtable = Device.VTable{
);
}
}).createComputePipelineAsync,
.createErrorBuffer = (struct {
pub fn createErrorBuffer(ptr: *anyopaque) Buffer {
return wrapBuffer(c.wgpuDeviceCreateErrorBuffer(
@ptrCast(c.WGPUDevice, ptr),
));
}
}).createErrorBuffer,
.createRenderPipeline = (struct {
pub fn createRenderPipeline(ptr: *anyopaque, descriptor: *const RenderPipeline.Descriptor) RenderPipeline {
var tmp_depth_stencil: c.WGPUDepthStencilState = undefined;