gpu: implement RenderPassEncoder.setScissorRect

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2022-03-16 10:41:07 -07:00 committed by Stephen Gutekanst
parent 2c319d628a
commit 67f77d5a8c
2 changed files with 17 additions and 2 deletions

View file

@ -1032,6 +1032,17 @@ const render_pass_encoder_vtable = RenderPassEncoder.VTable{
);
}
}).setIndexBuffer,
.setScissorRect = (struct {
pub fn setScissorRect(ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void {
c.wgpuRenderPassEncoderSetScissorRect(
@ptrCast(c.WGPURenderPassEncoder, ptr),
x,
y,
width,
height,
);
}
}).setScissorRect,
};
fn wrapRenderBundleEncoder(enc: c.WGPURenderBundleEncoder) RenderBundleEncoder {

View file

@ -42,8 +42,7 @@ pub const VTable = struct {
setIndexBuffer: fn (ptr: *anyopaque, buffer: Buffer, format: IndexFormat, offset: u64, size: u64) void,
setLabel: fn (ptr: *anyopaque, label: [:0]const u8) void,
setPipeline: fn (ptr: *anyopaque, pipeline: RenderPipeline) void,
// setScissorRect: fn (ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void,
// WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height);
setScissorRect: fn (ptr: *anyopaque, x: u32, y: u32, width: u32, height: u32) void,
// setStencilReference: fn (ptr: *anyopaque, reference: u32) void,
// WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference);
// setVertexBuffer: fn (ptr: *anyopaque, slot: u32, buffer: Buffer, offset: u64, size: u64) void,
@ -150,6 +149,10 @@ pub inline fn setPipeline(pass: RenderPassEncoder, pipeline: RenderPipeline) voi
pass.vtable.setPipeline(pass.ptr, pipeline);
}
pub inline fn setScissorRect(pass: RenderPassEncoder, x: u32, y: u32, width: u32, height: u32) void {
pass.vtable.setScissorRect(pass.ptr, x, y, width, height);
}
pub const Descriptor = struct {
label: ?[*:0]const u8 = null,
color_attachments: []const RenderPassColorAttachment,
@ -178,5 +181,6 @@ test {
_ = setIndexBuffer;
_ = setLabel;
_ = setPipeline;
_ = setPipeline;
_ = Descriptor;
}