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,
|
}).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 {
|
// .beginOcclusionQuery = (struct {
|
||||||
// pub fn beginOcclusionQuery(ptr: *anyopaque, query_index: u32) void {
|
// pub fn beginOcclusionQuery(ptr: *anyopaque, query_index: u32) void {
|
||||||
// c.wgpuRenderBundleEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderBundleEncoder, ptr), query_index);
|
// c.wgpuRenderBundleEncoderBeginOcclusionQuery(@ptrCast(c.WGPURenderBundleEncoder, ptr), query_index);
|
||||||
|
|
@ -1246,23 +1263,6 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
||||||
// );
|
// );
|
||||||
// }
|
// }
|
||||||
// }).setBlendConstant,
|
// }).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 {
|
// .setScissorRect = (struct {
|
||||||
// pub fn setScissorRect(ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void {
|
// pub fn setScissorRect(ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void {
|
||||||
// c.wgpuRenderBundleEncoderSetScissorRect(
|
// c.wgpuRenderBundleEncoderSetScissorRect(
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ const Texture = @import("Texture.zig");
|
||||||
const Buffer = @import("Buffer.zig");
|
const Buffer = @import("Buffer.zig");
|
||||||
const RenderBundle = @import("RenderBundle.zig");
|
const RenderBundle = @import("RenderBundle.zig");
|
||||||
const BindGroup = @import("BindGroup.zig");
|
const BindGroup = @import("BindGroup.zig");
|
||||||
|
const IndexFormat = @import("enums.zig").IndexFormat;
|
||||||
|
|
||||||
const RenderBundleEncoder = @This();
|
const RenderBundleEncoder = @This();
|
||||||
|
|
||||||
|
|
@ -35,8 +36,7 @@ pub const VTable = struct {
|
||||||
popDebugGroup: fn (ptr: *anyopaque) void,
|
popDebugGroup: fn (ptr: *anyopaque) void,
|
||||||
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
|
pushDebugGroup: fn (ptr: *anyopaque, group_label: [*:0]const u8) void,
|
||||||
setBindGroup: fn (ptr: *anyopaque, group_index: u32, group: BindGroup, dynamic_offsets: []u32) 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,
|
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,
|
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
|
||||||
// setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
|
// setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
|
||||||
// WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline);
|
// 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);
|
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 {
|
// pub inline fn beginOcclusionQuery(enc: RenderBundleEncoder, query_index: u32) void {
|
||||||
// enc.vtable.beginOcclusionQuery(enc.ptr, query_index);
|
// enc.vtable.beginOcclusionQuery(enc.ptr, query_index);
|
||||||
// }
|
// }
|
||||||
|
|
@ -122,16 +132,6 @@ pub inline fn setBindGroup(
|
||||||
// enc.vtable.setBlendConstant(enc.ptr, color);
|
// 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 {
|
pub inline fn setLabel(enc: RenderBundleEncoder, label: [:0]const u8) void {
|
||||||
enc.vtable.setLabel(enc.ptr, label);
|
enc.vtable.setLabel(enc.ptr, label);
|
||||||
}
|
}
|
||||||
|
|
@ -196,5 +196,6 @@ test {
|
||||||
_ = popDebugGroup;
|
_ = popDebugGroup;
|
||||||
_ = pushDebugGroup;
|
_ = pushDebugGroup;
|
||||||
_ = setBindGroup;
|
_ = setBindGroup;
|
||||||
|
_ = setIndexBuffer;
|
||||||
_ = Descriptor;
|
_ = Descriptor;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue