gpu: implement RenderBundleEncoder.setIndexBuffer
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
d11e912e36
commit
d42d6f7e60
2 changed files with 30 additions and 29 deletions
|
|
@ -1204,6 +1204,23 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
|||
);
|
||||
}
|
||||
}).setBindGroup,
|
||||
.setIndexBuffer = (struct {
|
||||
pub fn setIndexBuffer(
|
||||
ptr: *anyopaque,
|
||||
buffer: Buffer,
|
||||
format: IndexFormat,
|
||||
offset: u64,
|
||||
size: u64,
|
||||
) void {
|
||||
c.wgpuRenderBundleEncoderSetIndexBuffer(
|
||||
@ptrCast(c.WGPURenderBundleEncoder, ptr),
|
||||
@ptrCast(c.WGPUBuffer, buffer.ptr),
|
||||
@enumToInt(format),
|
||||
offset,
|
||||
size,
|
||||
);
|
||||
}
|
||||
}).setIndexBuffer,
|
||||
// .beginOcclusionQuery = (struct {
|
||||
// pub fn beginOcclusionQuery(ptr: *anyopaque, query_index: u32) void {
|
||||
// c.wgpuRenderBundleEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderBundleEncoder, ptr), query_index);
|
||||
|
|
@ -1246,23 +1263,6 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
|||
// );
|
||||
// }
|
||||
// }).setBlendConstant,
|
||||
// .setIndexBuffer = (struct {
|
||||
// pub fn setIndexBuffer(
|
||||
// ptr: *anyopaque,
|
||||
// buffer: Buffer,
|
||||
// format: IndexFormat,
|
||||
// offset: u64,
|
||||
// size: u64,
|
||||
// ) void {
|
||||
// c.wgpuRenderBundleEncoderSetIndexBuffer(
|
||||
// @ptrCast(c.WGPURenderBundleEncoder, ptr),
|
||||
// @ptrCast(c.WGPUBuffer, buffer.ptr),
|
||||
// @enumToInt(format),
|
||||
// offset,
|
||||
// size,
|
||||
// );
|
||||
// }
|
||||
// }).setIndexBuffer,
|
||||
// .setScissorRect = (struct {
|
||||
// pub fn setScissorRect(ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void {
|
||||
// c.wgpuRenderBundleEncoderSetScissorRect(
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ const Texture = @import("Texture.zig");
|
|||
const Buffer = @import("Buffer.zig");
|
||||
const RenderBundle = @import("RenderBundle.zig");
|
||||
const BindGroup = @import("BindGroup.zig");
|
||||
const IndexFormat = @import("enums.zig").IndexFormat;
|
||||
|
||||
const RenderBundleEncoder = @This();
|
||||
|
||||
|
|
@ -35,8 +36,7 @@ pub const VTable = struct {
|
|||
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,
|
||||
// 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);
|
||||
setIndexBuffer: fn (ptr: *anyopaque, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void,
|
||||
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
|
||||
// setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
|
||||
// WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline);
|
||||
|
|
@ -106,6 +106,16 @@ pub inline fn setBindGroup(
|
|||
enc.vtable.setBindGroup(enc.ptr, group_index, group, dynamic_offsets);
|
||||
}
|
||||
|
||||
pub inline fn setIndexBuffer(
|
||||
enc: RenderBundleEncoder,
|
||||
buffer: Buffer,
|
||||
format: IndexFormat,
|
||||
offset: u64,
|
||||
size: u64,
|
||||
) void {
|
||||
enc.vtable.setIndexBuffer(enc.ptr, buffer, format, offset, size);
|
||||
}
|
||||
|
||||
// pub inline fn beginOcclusionQuery(enc: RenderBundleEncoder, query_index: u32) void {
|
||||
// enc.vtable.beginOcclusionQuery(enc.ptr, query_index);
|
||||
// }
|
||||
|
|
@ -122,16 +132,6 @@ pub inline fn setBindGroup(
|
|||
// enc.vtable.setBlendConstant(enc.ptr, color);
|
||||
// }
|
||||
|
||||
// pub inline fn setIndexBuffer(
|
||||
// enc: RenderBundleEncoder,
|
||||
// buffer: Buffer,
|
||||
// format: IndexFormat,
|
||||
// offset: u64,
|
||||
// size: u64,
|
||||
// ) void {
|
||||
// enc.vtable.setIndexBuffer(enc.ptr, buffer, format, offset, size);
|
||||
// }
|
||||
|
||||
pub inline fn setLabel(enc: RenderBundleEncoder, label: [:0]const u8) void {
|
||||
enc.vtable.setLabel(enc.ptr, label);
|
||||
}
|
||||
|
|
@ -196,5 +196,6 @@ test {
|
|||
_ = popDebugGroup;
|
||||
_ = pushDebugGroup;
|
||||
_ = setBindGroup;
|
||||
_ = setIndexBuffer;
|
||||
_ = Descriptor;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue