From af4a6be85cef7456d65f541f7e43d6fa7d0ca1cc Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Tue, 15 Mar 2022 22:08:46 -0700 Subject: [PATCH] gpu: implement RenderPassEncoder.endOcclusionQuery 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 8c387916..3341b8aa 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -940,6 +940,11 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{ c.wgpuRenderPassEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr), query_index); } }).beginOcclusionQuery, + .endOcclusionQuery = (struct { + pub fn endOcclusionQuery(ptr: *anyopaque) void { + c.wgpuRenderPassEncoderEndOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr)); + } + }).endOcclusionQuery, .end = (struct { pub fn end(ptr: *anyopaque) void { c.wgpuRenderPassEncoderEnd(@ptrCast(c.WGPURenderPassEncoder, ptr)); diff --git a/gpu/src/RenderPassEncoder.zig b/gpu/src/RenderPassEncoder.zig index 030dde5e..4ed6404a 100644 --- a/gpu/src/RenderPassEncoder.zig +++ b/gpu/src/RenderPassEncoder.zig @@ -27,8 +27,8 @@ pub const VTable = struct { drawIndexedIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void, drawIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void, beginOcclusionQuery: fn (ptr: *anyopaque, query_index: u32) void, + endOcclusionQuery: fn (ptr: *anyopaque) void, end: fn (ptr: *anyopaque) void, - // WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder); // WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder); // WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, uint32_t bundlesCount, WGPURenderBundle const * bundles); // WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel); @@ -88,6 +88,10 @@ 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 end(pass: RenderPassEncoder) void { pass.vtable.end(pass.ptr); }