gpu: implement RenderBundleEncoder.setBindGroup
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
2c44f5c45e
commit
d11e912e36
2 changed files with 28 additions and 27 deletions
|
|
@ -1188,6 +1188,22 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
|||
c.wgpuRenderBundleEncoderPushDebugGroup(@ptrCast(c.WGPURenderBundleEncoder, ptr), group_label);
|
||||
}
|
||||
}).pushDebugGroup,
|
||||
.setBindGroup = (struct {
|
||||
pub fn setBindGroup(
|
||||
ptr: *anyopaque,
|
||||
group_index: u32,
|
||||
group: BindGroup,
|
||||
dynamic_offsets: []u32,
|
||||
) void {
|
||||
c.wgpuRenderBundleEncoderSetBindGroup(
|
||||
@ptrCast(c.WGPURenderBundleEncoder, ptr),
|
||||
group_index,
|
||||
@ptrCast(c.WGPUBindGroup, group.ptr),
|
||||
@intCast(u32, dynamic_offsets.len),
|
||||
&dynamic_offsets[0],
|
||||
);
|
||||
}
|
||||
}).setBindGroup,
|
||||
// .beginOcclusionQuery = (struct {
|
||||
// pub fn beginOcclusionQuery(ptr: *anyopaque, query_index: u32) void {
|
||||
// c.wgpuRenderBundleEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderBundleEncoder, ptr), query_index);
|
||||
|
|
@ -1222,22 +1238,6 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
|||
// );
|
||||
// }
|
||||
// }).executeBundles,
|
||||
// .setBindGroup = (struct {
|
||||
// pub fn setBindGroup(
|
||||
// ptr: *anyopaque,
|
||||
// group_index: u32,
|
||||
// group: BindGroup,
|
||||
// dynamic_offsets: []u32,
|
||||
// ) void {
|
||||
// c.wgpuRenderBundleEncoderSetBindGroup(
|
||||
// @ptrCast(c.WGPURenderBundleEncoder, ptr),
|
||||
// group_index,
|
||||
// @ptrCast(c.WGPUBindGroup, group.ptr),
|
||||
// @intCast(u32, dynamic_offsets.len),
|
||||
// &dynamic_offsets[0],
|
||||
// );
|
||||
// }
|
||||
// }).setBindGroup,
|
||||
// .setBlendConstant = (struct {
|
||||
// pub fn setBlendConstant(ptr: *anyopaque, color: *const Color) void {
|
||||
// c.wgpuRenderBundleEncoderSetBlendConstant(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
const Texture = @import("Texture.zig");
|
||||
const Buffer = @import("Buffer.zig");
|
||||
const RenderBundle = @import("RenderBundle.zig");
|
||||
const BindGroup = @import("BindGroup.zig");
|
||||
|
||||
const RenderBundleEncoder = @This();
|
||||
|
||||
|
|
@ -33,8 +34,7 @@ pub const VTable = struct {
|
|||
insertDebugMarker: fn (ptr: *anyopaque, marker_label: [*:0]const u8) void,
|
||||
popDebugGroup: fn (ptr: *anyopaque) void,
|
||||
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
|
||||
// setBindGroup: fn (ptr: *anyopaque, group_index: u32, group: BindGroup, dynamic_offsets: []u32) void,
|
||||
// WGPU_EXPORT void wgpuRenderBundleEncoderSetBindGroup(WGPURenderBundleEncoder renderBundleEncoder, uint32_t groupIndex, WGPUBindGroup group, uint32_t dynamicOffsetCount, uint32_t const * dynamicOffsets);
|
||||
setBindGroup: fn (ptr: *anyopaque, group_index: u32, group: BindGroup, dynamic_offsets: []u32) void,
|
||||
// setIndexBuffer: fn (ptr: *anyopaque, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void,
|
||||
// WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size);
|
||||
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
|
||||
|
|
@ -97,6 +97,15 @@ pub inline fn pushDebugGroup(enc: RenderBundleEncoder, group_label: [*:0]const u
|
|||
enc.vtable.pushDebugGroup(enc.ptr, group_label);
|
||||
}
|
||||
|
||||
pub inline fn setBindGroup(
|
||||
enc: RenderBundleEncoder,
|
||||
group_index: u32,
|
||||
group: BindGroup,
|
||||
dynamic_offsets: []u32,
|
||||
) void {
|
||||
enc.vtable.setBindGroup(enc.ptr, group_index, group, dynamic_offsets);
|
||||
}
|
||||
|
||||
// pub inline fn beginOcclusionQuery(enc: RenderBundleEncoder, query_index: u32) void {
|
||||
// enc.vtable.beginOcclusionQuery(enc.ptr, query_index);
|
||||
// }
|
||||
|
|
@ -109,15 +118,6 @@ pub inline fn pushDebugGroup(enc: RenderBundleEncoder, group_label: [*:0]const u
|
|||
// enc.vtable.executeBundles(enc.ptr, bundles);
|
||||
// }
|
||||
|
||||
// pub inline fn setBindGroup(
|
||||
// enc: RenderBundleEncoder,
|
||||
// group_index: u32,
|
||||
// group: BindGroup,
|
||||
// dynamic_offsets: []u32,
|
||||
// ) void {
|
||||
// enc.vtable.setBindGroup(enc.ptr, group_index, group, dynamic_offsets);
|
||||
// }
|
||||
|
||||
// pub inline fn setBlendConstant(enc: RenderBundleEncoder, color: *const Color) void {
|
||||
// enc.vtable.setBlendConstant(enc.ptr, color);
|
||||
// }
|
||||
|
|
@ -195,5 +195,6 @@ test {
|
|||
_ = insertDebugMarker;
|
||||
_ = popDebugGroup;
|
||||
_ = pushDebugGroup;
|
||||
_ = setBindGroup;
|
||||
_ = Descriptor;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue