gpu: implement RenderPassEncoder.pushDebugGroup

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-15 23:47:18 -07:00 committed by Stephen Gutekanst
parent 9c5cd8b006
commit b24512b6cf
2 changed files with 27 additions and 4 deletions

View file

@ -979,6 +979,16 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{
c.wgpuRenderPassEncoderInsertDebugMarker(@ptrCast(c.WGPURenderPassEncoder, ptr), marker_label);
}
}).insertDebugMarker,
.popDebugGroup = (struct {
pub fn popDebugGroup(ptr: *anyopaque) void {
c.wgpuRenderPassEncoderPopDebugGroup(@ptrCast(c.WGPURenderPassEncoder, ptr));
}
}).popDebugGroup,
.pushDebugGroup = (struct {
pub fn pushDebugGroup(ptr: *anyopaque, group_label: [*:0]const u8) void {
c.wgpuRenderPassEncoderPushDebugGroup(@ptrCast(c.WGPURenderPassEncoder, ptr), group_label);
}
}).pushDebugGroup,
};
fn wrapRenderBundleEncoder(enc: c.WGPURenderBundleEncoder) RenderBundleEncoder {

View file

@ -32,8 +32,8 @@ pub const VTable = struct {
end: fn (ptr: *anyopaque) void,
executeBundles: fn (ptr: *anyopaque, bundles: []RenderBundle) void,
insertDebugMarker: fn (ptr: *anyopaque, marker_label: [*:0]const u8) void,
// WGPU_EXPORT void wgpuRenderPassEncoderPopDebugGroup(WGPURenderPassEncoder renderPassEncoder);
// WGPU_EXPORT void wgpuRenderPassEncoderPushDebugGroup(WGPURenderPassEncoder renderPassEncoder, char const * groupLabel);
popDebugGroup: fn (ptr: *anyopaque) void,
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
// WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets);
// WGPU_EXPORT void wgpuRenderPassEncoderSetBlendConstant(WGPURenderPassEncoder renderPassEncoder, WGPUColor const * color);
// WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size);
@ -87,8 +87,8 @@ pub inline fn beginOcclusionQuery(pass: RenderPassEncoder, query_index: u32) voi
pass.vtable.beginOcclusionQuery(pass.ptr, query_index);
}
pub inline fn endOcclusionQuery(pass: RenderPassEncoder, query_index: u32) void {
pass.vtable.endOcclusionQuery(pass.ptr, query_index);
pub inline fn endOcclusionQuery(pass: RenderPassEncoder) void {
pass.vtable.endOcclusionQuery(pass.ptr);
}
pub inline fn end(pass: RenderPassEncoder) void {
@ -103,6 +103,14 @@ pub inline fn insertDebugMarker(pass: RenderPassEncoder, marker_label: [*:0]cons
pass.vtable.insertDebugMarker(pass.ptr, marker_label);
}
pub inline fn popDebugGroup(pass: RenderPassEncoder) void {
pass.vtable.popDebugGroup(pass.ptr);
}
pub inline fn pushDebugGroup(pass: RenderPassEncoder, group_label: [*:0]const u8) void {
pass.vtable.pushDebugGroup(pass.ptr, group_label);
}
pub inline fn setLabel(pass: RenderPassEncoder, label: [:0]const u8) void {
pass.vtable.setLabel(pass.ptr, label);
}
@ -128,7 +136,12 @@ test {
_ = drawIndexedIndirect;
_ = drawIndirect;
_ = beginOcclusionQuery;
_ = endOcclusionQuery;
_ = end;
_ = executeBundles;
_ = insertDebugMarker;
_ = popDebugGroup;
_ = pushDebugGroup;
_ = setLabel;
_ = setPipeline;
_ = Descriptor;