/** Ċ Ġ* ĠCopyright Ġ[ 2 0 1 9 ] Ġ[ Dom in ic ĠF is cher ] Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . k gl . v ulkan . dsl s Ċ Ċ import Ġcom . k gl . v ulkan . enums .* Ċ import Ġcom . k gl . core . utils . Virtual Stack Ċ import Ġcom . k gl . v ulkan . utils . Vk Flag Ċ import Ġcom . k gl . v ulkan . utils . map To Stack Array Ċ import Ġcom . k gl . v ulkan . utils . to Vk Type Ċ import Ġcv ulkan .* Ċ import Ġkotlinx . c interop . alloc Ċ import Ġkotlinx . c interop . ptr Ċ Ċ actual Ġclass ĠAttachment Description Builder ( internal Ġval Ġtarget : ĠVk Attachment Description ) Ġ{ Ċ ĉ actual Ġvar Ġflags : ĠVk Flag < Attachment Description >? Ċĉ ĉ get () Ġ= ĠAttachment Description . from Multiple ( target . flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġformat : ĠFormat ? Ċĉ ĉ get () Ġ= ĠFormat . from ( target . format ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . format Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsamples : ĠSample Count ? Ċĉ ĉ get () Ġ= ĠSample Count . from ( target . samples ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . samples Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġload Op : ĠAttachment Load Op ? Ċĉ ĉ get () Ġ= ĠAttachment Load Op . from ( target . load Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . load Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstore Op : ĠAttachment Store Op ? Ċĉ ĉ get () Ġ= ĠAttachment Store Op . from ( target . store Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . store Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstencil Load Op : ĠAttachment Load Op ? Ċĉ ĉ get () Ġ= ĠAttachment Load Op . from ( target . stencil Load Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . stencil Load Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstencil Store Op : ĠAttachment Store Op ? Ċĉ ĉ get () Ġ= ĠAttachment Store Op . from ( target . stencil Store Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . stencil Store Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġinitial Layout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . initial Layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . initial Layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġfinal Layout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . final Layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . final Layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Descriptions Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Attachment Description ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdescription ( block : ĠAttachment Description Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠAttachment Description Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Reference Builder ( internal Ġval Ġtarget : ĠVk Attachment Reference ) Ġ{ Ċ ĉ actual Ġvar Ġattachment : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . attachment Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . attachment Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġlayout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment References Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Attachment Reference ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġreference ( block : ĠAttachment Reference Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠAttachment Reference Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Description Builder ( internal Ġval Ġtarget : ĠVk Sub pass Description ) Ġ{ Ċ ĉ actual Ġvar Ġflags : ĠVk Flag < Sub pass Description >? Ċĉ ĉ get () Ġ= ĠSub pass Description . from Multiple ( target . flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġpipeline Bind Point : ĠPipeline Bind Point ? Ċĉ ĉ get () Ġ= ĠPipeline Bind Point . from ( target . pipeline Bind Point ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . pipeline Bind Point Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġfun Ġinput Attachments ( block : ĠAttachment References Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment References Builder (). apply ( block ). targets Ċĉ ĉ target . p Input Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . input Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġcolor Attachments ( block : ĠAttachment References Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment References Builder (). apply ( block ). targets Ċĉ ĉ target . p Color Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . color Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġresolve Attachments ( block : ĠAttachment References Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment References Builder (). apply ( block ). targets Ċĉ ĉ target . p Resolve Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . color Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġdepth Stencil Attachment ( block : ĠAttachment Reference Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġsub Target Ġ= ĠVirtual Stack . alloc < Vk Attachment Reference >() Ċĉ ĉ target . p Depth Stencil Attachment Ġ= Ġsub Target . ptr Ċĉ ĉ val Ġbuilder Ġ= ĠAttachment Reference Builder ( sub Target ) Ċĉ ĉ builder . init () Ċĉ ĉ builder . apply ( block ) Ċ ĉ } ĊĊ ĉ internal Ġfun Ġinit ( preserve Attachments : ĠUInt Array ?) Ġ{ Ċĉ ĉ target . p Preserve Attachments Ġ= Ġpreserve Attachments ?. to Vk Type () Ċĉ ĉ target . preserve Attachment Count Ġ= Ġpreserve Attachments ?. size ?. to UInt () Ġ?: Ġ 0 U Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Descriptions Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Sub pass Description ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdescription ( preserve Attachments : ĠUInt Array ?, Ġblock : ĠSub pass Description Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠSub pass Description Builder ( it ) Ċĉĉ ĉ builder . init ( preserve Attachments ) Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Dependency Builder ( internal Ġval Ġtarget : ĠVk Sub pass Dependency ) Ġ{ Ċ ĉ actual Ġvar Ġsrc Sub pass : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . src Sub pass Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Sub pass Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Sub pass : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . dst Sub pass Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Sub pass Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsrc Stage Mask : ĠVk Flag < Pipeline Stage >? Ċĉ ĉ get () Ġ= ĠPipeline Stage . from Multiple ( target . src Stage Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Stage Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Stage Mask : ĠVk Flag < Pipeline Stage >? Ċĉ ĉ get () Ġ= ĠPipeline Stage . from Multiple ( target . dst Stage Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Stage Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsrc Access Mask : ĠVk Flag < Access >? Ċĉ ĉ get () Ġ= ĠAccess . from Multiple ( target . src Access Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Access Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Access Mask : ĠVk Flag < Access >? Ċĉ ĉ get () Ġ= ĠAccess . from Multiple ( target . dst Access Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Access Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdependency Flags : ĠVk Flag < Dependency >? Ċĉ ĉ get () Ġ= ĠDependency . from Multiple ( target . dependency Flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dependency Flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Depend enc ys Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Sub pass Dependency ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdependency ( block : ĠSub pass Dependency Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠSub pass Dependency Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠRender Pass CreateInfo Builder ( internal Ġval Ġtarget : ĠVk RenderPass CreateInfo ) Ġ{ Ċ ĉ actual Ġfun Ġattachments ( block : ĠAttachment Descriptions Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment Descriptions Builder (). apply ( block ). targets Ċĉ ĉ target . p Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġsub passes ( block : ĠSub pass Descriptions Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠSub pass Descriptions Builder (). apply ( block ). targets Ċĉ ĉ target . p Sub passes Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . sub pass Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġdependencies ( block : ĠSub pass Depend enc ys Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠSub pass Depend enc ys Builder (). apply ( block ). targets Ċĉ ĉ target . p Dependencies Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . dependency Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ RENDER _ PASS _ CREATE _ INFO Ċĉ ĉ target . pNext Ġ= Ġnull Ċĉ ĉ target . flags Ġ= Ġ 0 U Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Description 2 KHR Builder ( internal Ġval Ġtarget : ĠVk Attachment Description 2 KHR ) Ġ{ Ċ ĉ actual Ġvar Ġflags : ĠVk Flag < Attachment Description >? Ċĉ ĉ get () Ġ= ĠAttachment Description . from Multiple ( target . flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġformat : ĠFormat ? Ċĉ ĉ get () Ġ= ĠFormat . from ( target . format ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . format Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsamples : ĠSample Count ? Ċĉ ĉ get () Ġ= ĠSample Count . from ( target . samples ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . samples Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġload Op : ĠAttachment Load Op ? Ċĉ ĉ get () Ġ= ĠAttachment Load Op . from ( target . load Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . load Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstore Op : ĠAttachment Store Op ? Ċĉ ĉ get () Ġ= ĠAttachment Store Op . from ( target . store Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . store Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstencil Load Op : ĠAttachment Load Op ? Ċĉ ĉ get () Ġ= ĠAttachment Load Op . from ( target . stencil Load Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . stencil Load Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġstencil Store Op : ĠAttachment Store Op ? Ċĉ ĉ get () Ġ= ĠAttachment Store Op . from ( target . stencil Store Op ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . stencil Store Op Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġinitial Layout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . initial Layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . initial Layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġfinal Layout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . final Layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . final Layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ ATTACHMENT _ DESCRIPTION _ 2 _ KHR Ċĉ ĉ target . pNext Ġ= Ġnull Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Description 2 KHR s Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Attachment Description 2 KHR ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdescription 2 ( block : ĠAttachment Description 2 KHR Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠAttachment Description 2 KHR Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Reference 2 KHR Builder ( internal Ġval Ġtarget : ĠVk Attachment Reference 2 KHR ) Ġ{ Ċ ĉ actual Ġvar Ġattachment : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . attachment Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . attachment Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġlayout : ĠImage Layout ? Ċĉ ĉ get () Ġ= ĠImage Layout . from ( target . layout ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . layout Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġaspect Mask : ĠVk Flag < Image Aspect >? Ċĉ ĉ get () Ġ= ĠImage Aspect . from Multiple ( target . aspect Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . aspect Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ ATTACHMENT _ REFERENCE _ 2 _ KHR Ċĉ ĉ target . pNext Ġ= Ġnull Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠAttachment Reference 2 KHR s Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Attachment Reference 2 KHR ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġreference 2 ( block : ĠAttachment Reference 2 KHR Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠAttachment Reference 2 KHR Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Description 2 KHR Builder ( internal Ġval Ġtarget : ĠVk Sub pass Description 2 KHR ) Ġ{ Ċ ĉ actual Ġvar Ġflags : ĠVk Flag < Sub pass Description >? Ċĉ ĉ get () Ġ= ĠSub pass Description . from Multiple ( target . flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġpipeline Bind Point : ĠPipeline Bind Point ? Ċĉ ĉ get () Ġ= ĠPipeline Bind Point . from ( target . pipeline Bind Point ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . pipeline Bind Point Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġview Mask : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . view Mask Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . view Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġfun Ġinput Attachments ( block : ĠAttachment Reference 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment Reference 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Input Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . input Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġcolor Attachments ( block : ĠAttachment Reference 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment Reference 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Color Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . color Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġresolve Attachments ( block : ĠAttachment Reference 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment Reference 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Resolve Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . color Attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġdepth Stencil Attachment ( block : ĠAttachment Reference 2 KHR Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġsub Target Ġ= ĠVirtual Stack . alloc < Vk Attachment Reference 2 KHR >() Ċĉ ĉ target . p Depth Stencil Attachment Ġ= Ġsub Target . ptr Ċĉ ĉ val Ġbuilder Ġ= ĠAttachment Reference 2 KHR Builder ( sub Target ) Ċĉ ĉ builder . init () Ċĉ ĉ builder . apply ( block ) Ċ ĉ } ĊĊ ĉ internal Ġfun Ġinit ( preserve Attachments : ĠUInt Array ) Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ SUB PASS _ DESCRIPTION _ 2 _ KHR Ċĉ ĉ target . pNext Ġ= Ġnull Ċĉ ĉ target . p Preserve Attachments Ġ= Ġpreserve Attachments . to Vk Type () Ċĉ ĉ target . preserve Attachment Count Ġ= Ġpreserve Attachments . size . to UInt () Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Description 2 KHR s Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Sub pass Description 2 KHR ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdescription 2 ( preserve Attachments : ĠUInt Array , Ġblock : ĠSub pass Description 2 KHR Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠSub pass Description 2 KHR Builder ( it ) Ċĉĉ ĉ builder . init ( preserve Attachments ) Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Dependency 2 KHR Builder ( internal Ġval Ġtarget : ĠVk Sub pass Dependency 2 KHR ) Ġ{ Ċ ĉ actual Ġvar Ġsrc Sub pass : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . src Sub pass Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Sub pass Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Sub pass : ĠUInt Ċĉ ĉ get () Ġ= Ġtarget . dst Sub pass Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Sub pass Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsrc Stage Mask : ĠVk Flag < Pipeline Stage >? Ċĉ ĉ get () Ġ= ĠPipeline Stage . from Multiple ( target . src Stage Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Stage Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Stage Mask : ĠVk Flag < Pipeline Stage >? Ċĉ ĉ get () Ġ= ĠPipeline Stage . from Multiple ( target . dst Stage Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Stage Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġsrc Access Mask : ĠVk Flag < Access >? Ċĉ ĉ get () Ġ= ĠAccess . from Multiple ( target . src Access Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . src Access Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdst Access Mask : ĠVk Flag < Access >? Ċĉ ĉ get () Ġ= ĠAccess . from Multiple ( target . dst Access Mask ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dst Access Mask Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġdependency Flags : ĠVk Flag < Dependency >? Ċĉ ĉ get () Ġ= ĠDependency . from Multiple ( target . dependency Flags ) Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . dependency Flags Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ actual Ġvar Ġview Offset : ĠInt Ċĉ ĉ get () Ġ= Ġtarget . view Offset Ċĉ ĉ set ( value ) Ġ{ Ċĉĉ ĉ target . view Offset Ġ= Ġvalue . to Vk Type () Ċĉ ĉ } ĊĊ ĉ internal Ġfun Ġinit () Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ SUB PASS _ DEPEND ENCY _ 2 _ KHR Ċĉ ĉ target . pNext Ġ= Ġnull Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠSub pass Dependency 2 KHR s Builder Ġ{ Ċ ĉ val Ġtargets : ĠMutable List <( Vk Sub pass Dependency 2 KHR ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () ĊĊ ĉ actual Ġfun Ġdependency 2 ( block : ĠSub pass Dependency 2 KHR Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ targets Ġ+= Ġ{ Ċĉĉ ĉ val Ġbuilder Ġ= ĠSub pass Dependency 2 KHR Builder ( it ) Ċĉĉ ĉ builder . init () Ċĉĉ ĉ builder . apply ( block ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ actual Ġclass ĠRender Pass CreateInfo 2 KHR Builder ( internal Ġval Ġtarget : ĠVk RenderPass CreateInfo 2 KHR ) Ġ{ Ċ ĉ actual Ġfun Ġattachments ( block : ĠAttachment Description 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠAttachment Description 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Attachments Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . attachment Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġsub passes ( block : ĠSub pass Description 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠSub pass Description 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Sub passes Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . sub pass Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ actual Ġfun Ġdependencies ( block : ĠSub pass Dependency 2 KHR s Builder . () Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ val Ġtargets Ġ= ĠSub pass Dependency 2 KHR s Builder (). apply ( block ). targets Ċĉ ĉ target . p Dependencies Ġ= Ġtargets . map To Stack Array () Ċĉ ĉ target . dependency Count Ġ= Ġtargets . size . to UInt () Ċ ĉ } ĊĊ ĉ internal Ġfun Ġinit ( corre lated View Masks : ĠUInt Array ) Ġ{ Ċĉ ĉ target . sType Ġ= Ġcv ulkan . VK _ STRUCTURE _ TYPE _ RENDER _ PASS _ CREATE _ INFO _ 2 _ KHR Ċĉ ĉ target . pNext Ġ= Ġnull Ċĉ ĉ target . flags Ġ= Ġ 0 U Ċĉ ĉ target . p Corre lated View Masks Ġ= Ġcorre lated View Masks . to Vk Type () Ċĉ ĉ target . corre lated View Mask Count Ġ= Ġcorre lated View Masks . size . to UInt () Ċ ĉ } Ċ } ĊĊ