gpu: implement RenderBundleEncoder.setPipeline
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
d42d6f7e60
commit
a2d7e983f3
2 changed files with 12 additions and 10 deletions
|
|
@ -1117,11 +1117,11 @@ const render_bundle_encoder_vtable = RenderBundleEncoder.VTable{
|
||||||
c.wgpuRenderBundleEncoderSetLabel(@ptrCast(c.WGPURenderBundleEncoder, ptr), label);
|
c.wgpuRenderBundleEncoderSetLabel(@ptrCast(c.WGPURenderBundleEncoder, ptr), label);
|
||||||
}
|
}
|
||||||
}).setLabel,
|
}).setLabel,
|
||||||
// .setPipeline = (struct {
|
.setPipeline = (struct {
|
||||||
// pub fn setPipeline(ptr: *anyopaque, pipeline: RenderPipeline) void {
|
pub fn setPipeline(ptr: *anyopaque, pipeline: RenderPipeline) void {
|
||||||
// c.wgpuRenderBundleEncoderSetPipeline(@ptrCast(c.WGPURenderBundleEncoder, ptr), @ptrCast(c.WGPURenderPipeline, pipeline.ptr));
|
c.wgpuRenderBundleEncoderSetPipeline(@ptrCast(c.WGPURenderBundleEncoder, ptr), @ptrCast(c.WGPURenderPipeline, pipeline.ptr));
|
||||||
// }
|
}
|
||||||
// }).setPipeline,
|
}).setPipeline,
|
||||||
.draw = (struct {
|
.draw = (struct {
|
||||||
pub fn draw(ptr: *anyopaque, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void {
|
pub fn draw(ptr: *anyopaque, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32) void {
|
||||||
c.wgpuRenderBundleEncoderDraw(@ptrCast(c.WGPURenderBundleEncoder, ptr), vertex_count, instance_count, first_vertex, first_instance);
|
c.wgpuRenderBundleEncoderDraw(@ptrCast(c.WGPURenderBundleEncoder, ptr), vertex_count, instance_count, first_vertex, first_instance);
|
||||||
|
|
|
||||||
|
|
@ -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 RenderPipeline = @import("RenderPipeline.zig");
|
||||||
const IndexFormat = @import("enums.zig").IndexFormat;
|
const IndexFormat = @import("enums.zig").IndexFormat;
|
||||||
|
|
||||||
const RenderBundleEncoder = @This();
|
const RenderBundleEncoder = @This();
|
||||||
|
|
@ -38,8 +39,7 @@ pub const VTable = struct {
|
||||||
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,
|
||||||
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);
|
|
||||||
// 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,
|
||||||
// WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size);
|
// WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPUBuffer buffer, uint64_t offset, uint64_t size);
|
||||||
};
|
};
|
||||||
|
|
@ -136,9 +136,9 @@ pub inline fn setLabel(enc: RenderBundleEncoder, label: [:0]const u8) void {
|
||||||
enc.vtable.setLabel(enc.ptr, label);
|
enc.vtable.setLabel(enc.ptr, label);
|
||||||
}
|
}
|
||||||
|
|
||||||
// pub inline fn setPipeline(enc: RenderBundleEncoder, pipeline: RenderPipeline) void {
|
pub inline fn setPipeline(enc: RenderBundleEncoder, pipeline: RenderPipeline) void {
|
||||||
// enc.vtable.setPipeline(enc.ptr, pipeline);
|
enc.vtable.setPipeline(enc.ptr, pipeline);
|
||||||
// }
|
}
|
||||||
|
|
||||||
// pub inline fn setScissorRect(enc: RenderBundleEncoder, x: u32, y: u32, width: u32, height: u32) void {
|
// pub inline fn setScissorRect(enc: RenderBundleEncoder, x: u32, y: u32, width: u32, height: u32) void {
|
||||||
// enc.vtable.setScissorRect(enc.ptr, x, y, width, height);
|
// enc.vtable.setScissorRect(enc.ptr, x, y, width, height);
|
||||||
|
|
@ -197,5 +197,7 @@ test {
|
||||||
_ = pushDebugGroup;
|
_ = pushDebugGroup;
|
||||||
_ = setBindGroup;
|
_ = setBindGroup;
|
||||||
_ = setIndexBuffer;
|
_ = setIndexBuffer;
|
||||||
|
_ = setLabel;
|
||||||
|
_ = setPipeline;
|
||||||
_ = Descriptor;
|
_ = Descriptor;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue