From 9c5cd8b006eb3c4d0c8d6bbb521f85ea0587d495 Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Tue, 15 Mar 2022 23:36:01 -0700 Subject: [PATCH] gpu: implement RenderPassEncoder.insertDebugMarker Signed-off-by: Stephen Gutekanst --- gpu/src/NativeInstance.zig | 5 +++++ gpu/src/RenderPassEncoder.zig | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gpu/src/NativeInstance.zig b/gpu/src/NativeInstance.zig index 6a75c568..dc36dade 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -974,6 +974,11 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{ ); } }).executeBundles, + .insertDebugMarker = (struct { + pub fn insertDebugMarker(ptr: *anyopaque, marker_label: [*:0]const u8) void { + c.wgpuRenderPassEncoderInsertDebugMarker(@ptrCast(c.WGPURenderPassEncoder, ptr), marker_label); + } + }).insertDebugMarker, }; fn wrapRenderBundleEncoder(enc: c.WGPURenderBundleEncoder) RenderBundleEncoder { diff --git a/gpu/src/RenderPassEncoder.zig b/gpu/src/RenderPassEncoder.zig index cfbd2ac1..c0cea981 100644 --- a/gpu/src/RenderPassEncoder.zig +++ b/gpu/src/RenderPassEncoder.zig @@ -31,7 +31,7 @@ pub const VTable = struct { endOcclusionQuery: fn (ptr: *anyopaque) void, end: fn (ptr: *anyopaque) void, executeBundles: fn (ptr: *anyopaque, bundles: []RenderBundle) void, - // WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel); + 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); // WGPU_EXPORT void wgpuRenderPassEncoderSetBindGroup(WGPURenderPassEncoder renderPassEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets); @@ -99,6 +99,10 @@ pub inline fn executeBundles(pass: RenderPassEncoder, bundles: []RenderBundle) v pass.vtable.executeBundles(pass.ptr, bundles); } +pub inline fn insertDebugMarker(pass: RenderPassEncoder, marker_label: [*:0]const u8) void { + pass.vtable.insertDebugMarker(pass.ptr, marker_label); +} + pub inline fn setLabel(pass: RenderPassEncoder, label: [:0]const u8) void { pass.vtable.setLabel(pass.ptr, label); }