gpu: implement RenderPassEncoder.setVertexBuffer

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-16 10:50:24 -07:00 committed by Stephen Gutekanst
parent ec59227eb8
commit 1db208d2df
2 changed files with 22 additions and 24 deletions

View file

@ -1051,17 +1051,17 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{
);
}
}).setStencilReference,
// .setVertexBuffer = (struct {
// pub fn setVertexBuffer(ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void {
// c.wgpuRenderPassEncoderSetVertexBuffer(
// @ptrCast(c.WGPURenderPassEncoder, ptr),
// slot,
// @ptrCast(c.WGPUBuffer, buffer.ptr),
// offset,
// size,
// );
// }
// }).setVertexBuffer,
.setVertexBuffer = (struct {
pub fn setVertexBuffer(ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void {
c.wgpuRenderPassEncoderSetVertexBuffer(
@ptrCast(c.WGPURenderPassEncoder, ptr),
slot,
@ptrCast(c.WGPUBuffer, buffer.ptr),
offset,
size,
);
}
}).setVertexBuffer,
// .setViewport = (struct {
// pub fn setViewport(
// ptr: *anyopaque,

View file

@ -44,7 +44,7 @@ pub const VTable = struct {
setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
setScissorRect: fn (ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void,
setStencilReference: fn (ptr: *anyopaque, reference: u32) void,
// setVertexBuffer: fn (ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void,
setVertexBuffer: fn (ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void,
// setViewport: fn (ptr: *anyopaque, x: f32, y: f32, width: f32, height: f32, min_depth: f32, max_depth: f32) void,
// writeTimestamp: fn (ptr: *anyopaque, query_set: QuerySet, query_index: u32) void,
};
@ -153,17 +153,15 @@ pub inline fn setStencilReference(pass: RenderPassEncoder, ref: u32) void {
pass.vtable.setStencilReference(pass.ptr, ref);
}
// pub inline fn setVertexBuffer(
// pass: RenderPassEncoder,
// slot: u32,
// buffer: Buffer,
// offset: u64,
// size: u64,
// ) void {
// pass.vtable.setVertexBuffer(pass.ptr, slot, buffer, offset, size);
// }
// // setVertexBuffer: fn (ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void,
// // WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size);
pub inline fn setVertexBuffer(
pass: RenderPassEncoder,
slot: u32,
buffer: Buffer,
offset: u64,
size: u64,
) void {
pass.vtable.setVertexBuffer(pass.ptr, slot, buffer, offset, size);
}
// pub inline fn setViewport(
// pass: RenderPassEncoder,
@ -215,7 +213,7 @@ test {
_ = setPipeline;
_ = setPipeline;
_ = setStencilReference;
// _ = setVertexBuffer;
_ = setVertexBuffer;
// _ = setViewport;
// _ = writeTimestamp;
_ = Descriptor;