/** Ċ Ġ* Ġ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 . enums Ċ Ċ import Ġcom . k gl . v ulkan . utils . Vk Flag Ċ import Ġorg . lwjgl . v ulkan .* Ċ Ċ actual Ġenum Ġclass ĠAccess ( override Ġval Ġvalue : ĠInt ) Ġ: ĠVk Flag < Access > Ġ{ Ċ ĉ IN DIRECT _ COMMAND _ READ ( VK 1 1 . VK _ ACCESS _ IN DIRECT _ COMMAND _ READ _ BIT ), ĊĊ ĉ INDEX _ READ ( VK 1 1 . VK _ ACCESS _ INDEX _ READ _ BIT ), ĊĊ ĉ VERTEX _ ATTRIBUTE _ READ ( VK 1 1 . VK _ ACCESS _ VERTEX _ ATTRIBUTE _ READ _ BIT ), ĊĊ ĉ UNIFORM _ READ ( VK 1 1 . VK _ ACCESS _ UNIFORM _ READ _ BIT ), ĊĊ ĉ INPUT _ ATTACHMENT _ READ ( VK 1 1 . VK _ ACCESS _ INPUT _ ATTACHMENT _ READ _ BIT ), ĊĊ ĉ SHADER _ READ ( VK 1 1 . VK _ ACCESS _ SHADER _ READ _ BIT ), ĊĊ ĉ SHADER _ WRITE ( VK 1 1 . VK _ ACCESS _ SHADER _ WRITE _ BIT ), ĊĊ ĉ COLOR _ ATTACHMENT _ READ ( VK 1 1 . VK _ ACCESS _ COLOR _ ATTACHMENT _ READ _ BIT ), ĊĊ ĉ COLOR _ ATTACHMENT _ WRITE ( VK 1 1 . VK _ ACCESS _ COLOR _ ATTACHMENT _ WRITE _ BIT ), ĊĊ ĉ DEPTH _ STENCIL _ ATTACHMENT _ READ ( VK 1 1 . VK _ ACCESS _ DEPTH _ STENCIL _ ATTACHMENT _ READ _ BIT ), ĊĊ ĉ DEPTH _ STENCIL _ ATTACHMENT _ WRITE ( VK 1 1 . VK _ ACCESS _ DEPTH _ STENCIL _ ATTACHMENT _ WRITE _ BIT ), ĊĊ ĉ TRANSFER _ READ ( VK 1 1 . VK _ ACCESS _ TRANSFER _ READ _ BIT ), ĊĊ ĉ TRANSFER _ WRITE ( VK 1 1 . VK _ ACCESS _ TRANSFER _ WRITE _ BIT ), ĊĊ ĉ HOST _ READ ( VK 1 1 . VK _ ACCESS _ HOST _ READ _ BIT ), ĊĊ ĉ HOST _ WRITE ( VK 1 1 . VK _ ACCESS _ HOST _ WRITE _ BIT ), ĊĊ ĉ MEMORY _ READ ( VK 1 1 . VK _ ACCESS _ MEMORY _ READ _ BIT ), ĊĊ ĉ MEMORY _ WRITE ( VK 1 1 . VK _ ACCESS _ MEMORY _ WRITE _ BIT ), ĊĊ ĉ COMMAND _ PROCESS _ READ _ NV X ( NV X Device Generated Commands . VK _ ACCESS _ COMMAND _ PROCESS _ READ _ BIT _ NV X ), ĊĊ ĉ COMMAND _ PROCESS _ WRITE _ NV X ( NV X Device Generated Commands . VK _ ACCESS _ COMMAND _ PROCESS _ WRITE _ BIT _ NV X ), ĊĊ ĉ COLOR _ ATTACHMENT _ READ _ NON CO HER ENT _ EXT ( EXT Blend Operation Advanced . VK _ ACCESS _ COLOR _ ATTACHMENT _ READ _ NON CO HER ENT _ BIT _ EXT ), ĊĊ ĉ CONDITION AL _ RENDER ING _ READ _ EXT ( EXT Conditional Rendering . VK _ ACCESS _ CONDITION AL _ RENDER ING _ READ _ BIT _ EXT ), ĊĊ ĉ AC CELER ATION _ STRUCTURE _ READ _ NV ( NV Ray Tracing . VK _ ACCESS _ AC CELER ATION _ STRUCTURE _ READ _ BIT _ NV ), ĊĊ ĉ AC CELER ATION _ STRUCTURE _ WRITE _ NV ( NV Ray Tracing . VK _ ACCESS _ AC CELER ATION _ STRUCTURE _ WRITE _ BIT _ NV ), ĊĊ ĉ SH ADING _ RATE _ IMAGE _ READ _ NV ( NV Shading Rate Image . VK _ ACCESS _ SH ADING _ RATE _ IMAGE _ READ _ BIT _ NV ), ĊĊ ĉ TRANSFORM _ FEED BACK _ WRITE _ EXT ( EXT Transform Feedback . VK _ ACCESS _ TRANSFORM _ FEED BACK _ WRITE _ BIT _ EXT ), ĊĊ ĉ TRANSFORM _ FEED BACK _ COUNTER _ READ _ EXT ( EXT Transform Feedback . VK _ ACCESS _ TRANSFORM _ FEED BACK _ COUNTER _ READ _ BIT _ EXT ), ĊĊ ĉ TRANSFORM _ FEED BACK _ COUNTER _ WRITE _ EXT ( EXT Transform Feedback . VK _ ACCESS _ TRANSFORM _ FEED BACK _ COUNTER _ WRITE _ BIT _ EXT ); ĊĊ ĉ comp anion Ġobject Ġ{ Ċĉ ĉ private Ġval Ġenum Look Up Map : ĠMap < Int , ĠAccess > Ġ= Ġenum Values < Access >(). associate By ({ Ċĉĉ ĉ it . value Ċĉ ĉ }) ĊĊĉ ĉ fun Ġfrom Multiple ( value : ĠInt ): ĠVk Flag < Access > Ġ= ĠVk Flag ( value ) ĊĊĉ ĉ fun Ġfrom ( value : ĠInt ): ĠAccess Ġ= Ġenum Look Up Map [ value ] !! Ċ ĉ } Ċ } ĊĊ