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, }).setStencilReference,
// .setVertexBuffer = (struct { .setVertexBuffer = (struct {
// pub fn setVertexBuffer(ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void { pub fn setVertexBuffer(ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void {
// c.wgpuRenderPassEncoderSetVertexBuffer( c.wgpuRenderPassEncoderSetVertexBuffer(
// @ptrCast(c.WGPURenderPassEncoder, ptr), @ptrCast(c.WGPURenderPassEncoder, ptr),
// slot, slot,
// @ptrCast(c.WGPUBuffer, buffer.ptr), @ptrCast(c.WGPUBuffer, buffer.ptr),
// offset, offset,
// size, size,
// ); );
// } }
// }).setVertexBuffer, }).setVertexBuffer,
// .setViewport = (struct { // .setViewport = (struct {
// pub fn setViewport( // pub fn setViewport(
// ptr: *anyopaque, // ptr: *anyopaque,

View file

@ -44,7 +44,7 @@ pub const VTable = struct {
setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void, setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
setScissorRect: fn (ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void, setScissorRect: fn (ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void,
setStencilReference: fn (ptr: *anyopaque, reference: 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, // 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, // 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); pass.vtable.setStencilReference(pass.ptr, ref);
} }
// pub inline fn setVertexBuffer( pub inline fn setVertexBuffer(
// pass: RenderPassEncoder, pass: RenderPassEncoder,
// slot: u32, slot: u32,
// buffer: Buffer, buffer: Buffer,
// offset: u64, offset: u64,
// size: u64, size: u64,
// ) void { ) void {
// pass.vtable.setVertexBuffer(pass.ptr, slot, buffer, offset, size); 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 setViewport( // pub inline fn setViewport(
// pass: RenderPassEncoder, // pass: RenderPassEncoder,
@ -215,7 +213,7 @@ test {
_ = setPipeline; _ = setPipeline;
_ = setPipeline; _ = setPipeline;
_ = setStencilReference; _ = setStencilReference;
// _ = setVertexBuffer; _ = setVertexBuffer;
// _ = setViewport; // _ = setViewport;
// _ = writeTimestamp; // _ = writeTimestamp;
_ = Descriptor; _ = Descriptor;