zgpu

git clone git://git.electrosoup.com/zgpu
Log | Files | Refs | Submodules | README

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 };