gpu: implement Device.createQuerySet
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
acb3049739
commit
8c48c3a436
2 changed files with 19 additions and 13 deletions
|
|
@ -21,6 +21,7 @@ const BindGroupLayout = @import("BindGroupLayout.zig");
|
|||
const Buffer = @import("Buffer.zig");
|
||||
const ExternalTexture = @import("ExternalTexture.zig");
|
||||
const PipelineLayout = @import("PipelineLayout.zig");
|
||||
const QuerySet = @import("QuerySet.zig");
|
||||
|
||||
const Device = @This();
|
||||
|
||||
|
|
@ -45,7 +46,7 @@ pub const VTable = struct {
|
|||
createErrorBuffer: fn (ptr: *anyopaque) Buffer,
|
||||
createExternalTexture: fn (ptr: *anyopaque, descriptor: *const ExternalTexture.Descriptor) ExternalTexture,
|
||||
createPipelineLayout: fn (ptr: *anyopaque, descriptor: *const PipelineLayout.Descriptor) PipelineLayout,
|
||||
// createQuerySet: fn (ptr: *anyopaque, descriptor: *const QuerySet.Descriptor) QuerySet,
|
||||
createQuerySet: fn (ptr: *anyopaque, descriptor: *const QuerySet.Descriptor) QuerySet,
|
||||
// createRenderBundleEncoder: fn (ptr: *anyopaque, descriptor: *const RenderBundleEncoder.Descriptor) RenderBundleEncoder,
|
||||
createRenderPipeline: fn (ptr: *anyopaque, descriptor: *const RenderPipeline.Descriptor) RenderPipeline,
|
||||
createRenderPipelineAsync: fn (
|
||||
|
|
@ -158,11 +159,9 @@ pub inline fn createPipelineLayout(device: Device, descriptor: *const PipelineLa
|
|||
return device.vtable.createPipelineLayout(device.ptr, descriptor);
|
||||
}
|
||||
|
||||
// pub inline fn createQuerySet(device: Device, descriptor: *const QuerySet.Descriptor) QuerySet {
|
||||
// return device.vtable.createQuerySet(device.ptr, descriptor);
|
||||
// }
|
||||
// createQuerySet: fn (ptr: *anyopaque, descriptor: *const QuerySet.Descriptor) QuerySet,
|
||||
// WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor);
|
||||
pub inline fn createQuerySet(device: Device, descriptor: *const QuerySet.Descriptor) QuerySet {
|
||||
return device.vtable.createQuerySet(device.ptr, descriptor);
|
||||
}
|
||||
|
||||
// pub inline fn createRenderBundleEncoder(device: Device, descriptor: *const RenderBundleEncoder.Descriptor) RenderBundleEncoder {
|
||||
// return device.vtable.createRenderBundleEncoder(device.ptr, descriptor);
|
||||
|
|
@ -215,7 +214,7 @@ test {
|
|||
_ = createErrorBuffer;
|
||||
_ = createExternalTexture;
|
||||
_ = createPipelineLayout;
|
||||
// _ = createQuerySet;
|
||||
_ = createQuerySet;
|
||||
// _ = createRenderBundleEncoder;
|
||||
_ = createRenderPipeline;
|
||||
_ = createRenderPipelineAsync;
|
||||
|
|
|
|||
|
|
@ -549,12 +549,19 @@ const device_vtable = Device.VTable{
|
|||
return wrapPipelineLayout(c.wgpuDeviceCreatePipelineLayout(@ptrCast(c.WGPUDevice, ptr), &desc));
|
||||
}
|
||||
}).createPipelineLayout,
|
||||
|
||||
// pub inline fn createQuerySet(device: Device, descriptor: *const QuerySet.Descriptor) QuerySet {
|
||||
// return device.vtable.createQuerySet(device.ptr);
|
||||
// }
|
||||
// createQuerySet: fn (ptr: *anyopaque, descriptor: *const QuerySet.Descriptor) QuerySet,
|
||||
// WGPU_EXPORT WGPUQuerySet wgpuDeviceCreateQuerySet(WGPUDevice device, WGPUQuerySetDescriptor const * descriptor);
|
||||
.createQuerySet = (struct {
|
||||
pub fn createQuerySet(ptr: *anyopaque, descriptor: *const QuerySet.Descriptor) QuerySet {
|
||||
const desc = c.WGPUQuerySetDescriptor{
|
||||
.nextInChain = null,
|
||||
.label = if (descriptor.label) |l| l else null,
|
||||
.type = @enumToInt(descriptor.type),
|
||||
.count = descriptor.count,
|
||||
.pipelineStatistics = @ptrCast(*const c.WGPUPipelineStatisticName, &descriptor.pipeline_statistics[0]),
|
||||
.pipelineStatisticsCount = @intCast(u32, descriptor.pipeline_statistics.len),
|
||||
};
|
||||
return wrapQuerySet(c.wgpuDeviceCreateQuerySet(@ptrCast(c.WGPUDevice, ptr), &desc));
|
||||
}
|
||||
}).createQuerySet,
|
||||
|
||||
// pub inline fn createRenderBundleEncoder(device: Device, descriptor: *const RenderBundleEncoder.Descriptor) RenderBundleEncoder {
|
||||
// return device.vtable.createRenderBundleEncoder(device.ptr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue