diff --git a/gpu/src/NativeInstance.zig b/gpu/src/NativeInstance.zig index 168de84b..aa23f9c9 100644 --- a/gpu/src/NativeInstance.zig +++ b/gpu/src/NativeInstance.zig @@ -931,6 +931,15 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{ ); } }).drawIndexedIndirect, + .drawIndirect = (struct { + pub fn drawIndirect(ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void { + c.wgpuRenderPassEncoderDrawIndexedIndirect( + @ptrCast(c.WGPURenderPassEncoder, ptr), + @ptrCast(c.WGPUBuffer, indirect_buffer.ptr), + indirect_offset, + ); + } + }).drawIndirect, .beginOcclusionQuery = (struct { pub fn beginOcclusionQuery(ptr: *anyopaque, query_index: u32) void { c.wgpuRenderPassEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderPassEncoder, ptr), query_index); diff --git a/gpu/src/RenderPassEncoder.zig b/gpu/src/RenderPassEncoder.zig index aa60f6a5..2efce173 100644 --- a/gpu/src/RenderPassEncoder.zig +++ b/gpu/src/RenderPassEncoder.zig @@ -26,7 +26,7 @@ pub const VTable = struct { first_instance: u32, ) void, drawIndexedIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void, - // WGPU_EXPORT void wgpuRenderPassEncoderDrawIndirect(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer indirectBuffer, uint64_t indirectOffset); + drawIndirect: fn (ptr: *anyopaque, indirect_buffer: Buffer, indirect_offset: u64) void, end: fn (ptr: *anyopaque) void, // WGPU_EXPORT void wgpuRenderPassEncoderEndOcclusionQuery(WGPURenderPassEncoder renderPassEncoder); // WGPU_EXPORT void wgpuRenderPassEncoderEndPass(WGPURenderPassEncoder renderPassEncoder); @@ -80,6 +80,10 @@ pub inline fn drawIndexedIndirect(pass: RenderPassEncoder, indirect_buffer: Buff pass.vtable.drawIndexedIndirect(pass.ptr, indirect_buffer, indirect_offset); } +pub inline fn drawIndirect(pass: RenderPassEncoder, indirect_buffer: Buffer, indirect_offset: u64) void { + pass.vtable.drawIndirect(pass.ptr, indirect_buffer, indirect_offset); +} + pub inline fn beginOcclusionQuery(pass: RenderPassEncoder, query_index: u32) void { pass.vtable.beginOcclusionQuery(pass.ptr, query_index); }