gpu: implement Dawn renderPassEncoderDraw*

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-07-30 19:00:53 -07:00 committed by Stephen Gutekanst
parent 6ac2f9f669
commit 72ec40e8d1

View file

@ -881,35 +881,39 @@ pub const Interface = gpu.Interface(struct {
} }
pub inline fn renderPassEncoderBeginOcclusionQuery(render_pass_encoder: *gpu.RenderPassEncoder, query_index: u32) void { pub inline fn renderPassEncoderBeginOcclusionQuery(render_pass_encoder: *gpu.RenderPassEncoder, query_index: u32) void {
_ = render_pass_encoder; procs.renderPassEncoderBeginOcclusionQuery.?(
_ = query_index; @ptrCast(c.WGPURenderPassEncoder, render_pass_encoder),
unreachable; query_index,
);
} }
pub inline fn renderPassEncoderDraw(render_pass_encoder: *gpu.RenderPassEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void { pub inline fn renderPassEncoderDraw(render_pass_encoder: *gpu.RenderPassEncoder, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void {
_ = render_pass_encoder; procs.renderPassEncoderDraw.?(
_ = vertex_count; @ptrCast(c.WGPURenderPassEncoder, render_pass_encoder),
_ = instance_count; vertex_count,
_ = first_vertex; instance_count,
_ = first_instance; first_vertex,
unreachable; first_instance,
);
} }
pub inline fn renderPassEncoderDrawIndexed(render_pass_encoder: *gpu.RenderPassEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void { pub inline fn renderPassEncoderDrawIndexed(render_pass_encoder: *gpu.RenderPassEncoder, index_count: u32, instance_count: u32, first_index: u32, base_vertex: u32, first_instance: u32) void {
_ = render_pass_encoder; procs.renderPassEncoderDrawIndexed.?(
_ = index_count; @ptrCast(c.WGPURenderPassEncoder, render_pass_encoder),
_ = instance_count; index_count,
_ = first_index; instance_count,
_ = base_vertex; first_index,
_ = first_instance; @bitCast(i32, base_vertex), // TODO: wrong signature?
unreachable; first_instance,
);
} }
pub inline fn renderPassEncoderDrawIndexedIndirect(render_pass_encoder: *gpu.RenderPassEncoder, indirect_buffer: *gpu.Buffer, indirect_offset: u64) void { pub inline fn renderPassEncoderDrawIndexedIndirect(render_pass_encoder: *gpu.RenderPassEncoder, indirect_buffer: *gpu.Buffer, indirect_offset: u64) void {
_ = render_pass_encoder; procs.renderPassEncoderDrawIndexedIndirect.?(
_ = indirect_buffer; @ptrCast(c.WGPURenderPassEncoder, render_pass_encoder),
_ = indirect_offset; @ptrCast(c.WGPUBuffer, indirect_buffer),
unreachable; indirect_offset,
);
} }
pub inline fn renderPassEncoderDrawIndirect(render_pass_encoder: *gpu.RenderPassEncoder, indirect_buffer: *gpu.Buffer, indirect_offset: u64) void { pub inline fn renderPassEncoderDrawIndirect(render_pass_encoder: *gpu.RenderPassEncoder, indirect_buffer: *gpu.Buffer, indirect_offset: u64) void {