From 198b6420783682ed0b8f525153c7321085bd88bc Mon Sep 17 00:00:00 2001 From: Stephen Gutekanst Date: Fri, 11 Mar 2022 22:22:10 -0700 Subject: [PATCH] gpu: implement RenderPassEncoder.end 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 ea0d095f..3796ccd2 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -731,6 +731,11 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{ c.wgpuRenderPassEncoderRelease(@ptrCast(c.WGPURenderPassEncoder, ptr)); } }).release, + .end = (struct { + pub fn end(ptr: *anyopaque) void { + c.wgpuRenderPassEncoderEnd(@ptrCast(c.WGPURenderPassEncoder, ptr)); + } + }).end, .setLabel = (struct { pub fn setLabel(ptr: *anyopaque, label: [:0]const u8) void { c.wgpuRenderPassEncoderSetLabel(@ptrCast(c.WGPURenderPassEncoder, ptr), label); diff --git a/gpu/src/RenderPassEncoder.zig b/gpu/src/RenderPassEncoder.zig index da87603b..247f586c 100644 --- a/gpu/src/RenderPassEncoder.zig +++ b/gpu/src/RenderPassEncoder.zig @@ -20,7 +20,7 @@ pub const VTable = struct { // WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexed(WGPURenderPassEncoder renderPassEncoder, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance); // WGPU_EXPORT void wgpuRenderPassEncoderDrawIndexedIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); // WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); - // WGPU_EXPORT void wgpuRenderPassEncoderEnd(WGPURenderPassEncoder renderPassEncoder); + 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); @@ -58,6 +58,10 @@ pub inline fn draw( pass.vtable.draw(pass.ptr, vertex_count, instance_count, first_vertex, first_instance); } +pub inline fn end(pass: RenderPassEncoder) void { + pass.vtable.end(pass.ptr); +} + pub inline fn setLabel(pass: RenderPassEncoder, label: [:0]const u8) void { pass.vtable.setLabel(pass.ptr, label); }