gpu: implement CommandEncoder.resolveQuerySet
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
6cd03e5a0a
commit
48dcfad65c
2 changed files with 32 additions and 2 deletions
|
|
@ -29,8 +29,7 @@ pub const VTable = struct {
|
||||||
insertDebugMarker: fn (ptr: *anyopaque, marker_label: [*:0]const u8) void,
|
insertDebugMarker: fn (ptr: *anyopaque, marker_label: [*:0]const u8) void,
|
||||||
popDebugGroup: fn (ptr: *anyopaque) void,
|
popDebugGroup: fn (ptr: *anyopaque) void,
|
||||||
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
|
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
|
||||||
// resolveQuerySet: fn (ptr: *anyopaque, query_set: QuerySet, first_query: u32, query_count: u32, destination: Buffer, destination_offset: u64) void,
|
resolveQuerySet: fn (ptr: *anyopaque, query_set: QuerySet, first_query: u32, query_count: u32, destination: Buffer, destination_offset: u64) void,
|
||||||
// WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset);
|
|
||||||
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
|
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
|
||||||
// TODO: typed buffer pointer?
|
// TODO: typed buffer pointer?
|
||||||
// WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size);
|
// WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size);
|
||||||
|
|
@ -115,6 +114,17 @@ pub inline fn pushDebugGroup(enc: CommandEncoder, group_label: [*:0]const u8) vo
|
||||||
enc.vtable.pushDebugGroup(enc.ptr, group_label);
|
enc.vtable.pushDebugGroup(enc.ptr, group_label);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub inline fn resolveQuerySet(
|
||||||
|
enc: CommandEncoder,
|
||||||
|
query_set: QuerySet,
|
||||||
|
first_query: u32,
|
||||||
|
query_count: u32,
|
||||||
|
destination: Buffer,
|
||||||
|
destination_offset: u64,
|
||||||
|
) void {
|
||||||
|
enc.vtable.resolveQuerySet(enc.ptr, query_set, first_query, query_count, destination, destination_offset);
|
||||||
|
}
|
||||||
|
|
||||||
pub inline fn setLabel(enc: CommandEncoder, label: [:0]const u8) void {
|
pub inline fn setLabel(enc: CommandEncoder, label: [:0]const u8) void {
|
||||||
enc.vtable.setLabel(enc.ptr, label);
|
enc.vtable.setLabel(enc.ptr, label);
|
||||||
}
|
}
|
||||||
|
|
@ -143,6 +153,7 @@ test {
|
||||||
_ = insertDebugMarker;
|
_ = insertDebugMarker;
|
||||||
_ = popDebugGroup;
|
_ = popDebugGroup;
|
||||||
_ = pushDebugGroup;
|
_ = pushDebugGroup;
|
||||||
|
_ = resolveQuerySet;
|
||||||
_ = setLabel;
|
_ = setLabel;
|
||||||
_ = writeTimestamp;
|
_ = writeTimestamp;
|
||||||
_ = Descriptor;
|
_ = Descriptor;
|
||||||
|
|
|
||||||
|
|
@ -1508,6 +1508,25 @@ const command_encoder_vtable = CommandEncoder.VTable{
|
||||||
c.wgpuCommandEncoderInsertDebugMarker(@ptrCast(c.WGPUCommandEncoder, ptr), marker_label);
|
c.wgpuCommandEncoderInsertDebugMarker(@ptrCast(c.WGPUCommandEncoder, ptr), marker_label);
|
||||||
}
|
}
|
||||||
}).insertDebugMarker,
|
}).insertDebugMarker,
|
||||||
|
.resolveQuerySet = (struct {
|
||||||
|
pub fn resolveQuerySet(
|
||||||
|
ptr: *anyopaque,
|
||||||
|
query_set: QuerySet,
|
||||||
|
first_query: u32,
|
||||||
|
query_count: u32,
|
||||||
|
destination: Buffer,
|
||||||
|
destination_offset: u64,
|
||||||
|
) void {
|
||||||
|
c.wgpuCommandEncoderResolveQuerySet(
|
||||||
|
@ptrCast(c.WGPUCommandEncoder, ptr),
|
||||||
|
@ptrCast(c.WGPUQuerySet, query_set.ptr),
|
||||||
|
first_query,
|
||||||
|
query_count,
|
||||||
|
@ptrCast(c.WGPUBuffer, destination.ptr),
|
||||||
|
destination_offset,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}).resolveQuerySet,
|
||||||
.setLabel = (struct {
|
.setLabel = (struct {
|
||||||
pub fn setLabel(ptr: *anyopaque, label: [:0]const u8) void {
|
pub fn setLabel(ptr: *anyopaque, label: [:0]const u8) void {
|
||||||
c.wgpuCommandEncoderSetLabel(@ptrCast(c.WGPUCommandEncoder, ptr), label);
|
c.wgpuCommandEncoderSetLabel(@ptrCast(c.WGPUCommandEncoder, ptr), label);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue