gpu: implement RenderPassEncoder.endOcclusionQuery

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-15 22:08:46 -07:00 committed by Stephen Gutekanst
parent 2d04fb91bc
commit af4a6be85c
2 changed files with 10 additions and 1 deletions

View file

@ -940,6 +940,11 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{
c.wgpuRenderPassEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr), query_index); c.wgpuRenderPassEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr), query_index);
} }
}).beginOcclusionQuery, }).beginOcclusionQuery,
.endOcclusionQuery = (struct {
pub fn endOcclusionQuery(ptr: *anyopaque) void {
c.wgpuRenderPassEncoderEndOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr));
}
}).endOcclusionQuery,
.end = (struct { .end = (struct {
pub fn end(ptr: *anyopaque) void { pub fn end(ptr: *anyopaque) void {
c.wgpuRenderPassEncoderEnd(@ptrCast(c.WGPURenderPassEncoder, ptr)); c.wgpuRenderPassEncoderEnd(@ptrCast(c.WGPURenderPassEncoder, ptr));

View file

@ -27,8 +27,8 @@ pub const VTable = struct {
drawIndexedIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void, drawIndexedIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void,
drawIndirect: 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, beginOcclusionQuery: fn (ptr: *anyopaque, query_index: u32) void,
endOcclusionQuery: fn (ptr: *anyopaque) void,
end: fn (ptr: *anyopaque) void, end: fn (ptr: *anyopaque) void,
// WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder);
// WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder); // WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder);
// WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, uint32_t bundlesCount, WGPURenderBundle const * bundles); // WGPU_EXPORT void wgpuRenderPassEncoderExecuteBundles(WGPURenderPassEncoder renderPassEncoder, uint32_t bundlesCount, WGPURenderBundle const * bundles);
// WGPU_EXPORT void wgpuRenderPassEncoderInsertDebugMarker(WGPURenderPassEncoder renderPassEncoder, char const * markerLabel); // 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); 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 { pub inline fn end(pass: RenderPassEncoder) void {
pass.vtable.end(pass.ptr); pass.vtable.end(pass.ptr);
} }