command_encoder.zig (1235B)
1 const c = @import("c.zig").c; 2 const ChainedStruct = @import("common.zig").ChainedStruct; 3 const CommandBuffer = @import("command_buffer.zig").CommandBuffer; 4 const RenderPass = @import("render_pass.zig").RenderPass; 5 const RenderPassEncoder = @import("render_pass.zig").RenderPassEncoder; 6 const StringView = @import("common.zig").StringView; 7 8 pub const CommandEncoder = opaque { 9 pub const Descriptor = extern struct { 10 next: ?*const ChainedStruct = null, 11 label: StringView, 12 }; 13 14 pub fn release(encoder: *CommandEncoder) void { 15 c.wgpuCommandEncoderRelease(@ptrCast(encoder)); 16 } 17 18 pub fn beginRenderPass( 19 encoder: *CommandEncoder, 20 descriptor: *const RenderPass.Descriptor, 21 ) *RenderPassEncoder { 22 return @ptrCast( 23 c.wgpuCommandEncoderBeginRenderPass( 24 @ptrCast(encoder), 25 @ptrCast(descriptor), 26 ), 27 ); 28 } 29 30 pub fn finish( 31 encoder: *CommandEncoder, 32 descriptor: *const CommandBuffer.Descriptor, 33 ) ?*CommandBuffer { 34 return @ptrCast( 35 c.wgpuCommandEncoderFinish( 36 @ptrCast(encoder), 37 @ptrCast(descriptor), 38 ), 39 ); 40 } 41 };