diff --git a/gpu/README.md b/gpu/README.md index 555bee45..94a5a869 100644 --- a/gpu/README.md +++ b/gpu/README.md @@ -157,6 +157,7 @@ The slice helpers are: * `CommandEncoder.writeBuffer` * `Queue.writeTexture` * `Queue.writeBuffer` +* `RenderPassEncoder.executeBundles` ### Typed callbacks @@ -221,6 +222,5 @@ The following are definitive candidates for helpers we haven't implemented yet: * `gpu.ComputePassEncoder.setBindGroup` (slice param) * `gpu.Device.enumerateFeatures` (owned slice) * `gpu.RenderBundleEncoder.setBindGroup` (slice param) -* `gpu.RenderPassEncoder.executeBundles` (slice param) * `gpu.RenderPassEncoder.setBindGroup` (slice param) * Other `next_in_chain` extensions (look at dawn.json after the bug to get this documented was fixed) diff --git a/gpu/src/render_pass_encoder.zig b/gpu/src/render_pass_encoder.zig index 331f2531..416d677d 100644 --- a/gpu/src/render_pass_encoder.zig +++ b/gpu/src/render_pass_encoder.zig @@ -43,8 +43,15 @@ pub const RenderPassEncoder = opaque { Impl.renderPassEncoderEndOcclusionQuery(render_pass_encoder); } - pub inline fn executeBundles(render_pass_encoder: *RenderPassEncoder, bundles_count: u32, bundles: [*]const *const RenderBundle) void { - Impl.renderPassEncoderExecuteBundles(render_pass_encoder, bundles_count, bundles); + pub inline fn executeBundles( + render_pass_encoder: *RenderPassEncoder, + bundles: []*const RenderBundle, + ) void { + Impl.renderPassEncoderExecuteBundles( + render_pass_encoder, + @intCast(u32, bundles.len), + bundles.ptr, + ); } pub inline fn insertDebugMarker(render_pass_encoder: *RenderPassEncoder, marker_label: [*:0]const u8) void {