vulkan.h 175 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481
  1. /**
  2. * Loader generated by glad 2.0.0-beta on Sun Apr 14 17:03:38 2019
  3. *
  4. * Generator: C/C++
  5. * Specification: vk
  6. * Extensions: 3
  7. *
  8. * APIs:
  9. * - vulkan=1.1
  10. *
  11. * Options:
  12. * - MX_GLOBAL = False
  13. * - LOADER = False
  14. * - ALIAS = False
  15. * - HEADER_ONLY = False
  16. * - DEBUG = False
  17. * - MX = False
  18. *
  19. * Commandline:
  20. * --api='vulkan=1.1' --extensions='VK_EXT_debug_report,VK_KHR_surface,VK_KHR_swapchain' c
  21. *
  22. * Online:
  23. * http://glad.sh/#api=vulkan%3D1.1&extensions=VK_EXT_debug_report%2CVK_KHR_surface%2CVK_KHR_swapchain&generator=c&options=
  24. *
  25. */
  26. #ifndef GLAD_VULKAN_H_
  27. #define GLAD_VULKAN_H_
  28. #ifdef VULKAN_H_
  29. #error header already included (API: vulkan), remove previous include!
  30. #endif
  31. #define VULKAN_H_ 1
  32. #ifdef VULKAN_CORE_H_
  33. #error header already included (API: vulkan), remove previous include!
  34. #endif
  35. #define VULKAN_CORE_H_ 1
  36. #define GLAD_VULKAN
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40. #ifndef GLAD_PLATFORM_H_
  41. #define GLAD_PLATFORM_H_
  42. #ifndef GLAD_PLATFORM_WIN32
  43. #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
  44. #define GLAD_PLATFORM_WIN32 1
  45. #else
  46. #define GLAD_PLATFORM_WIN32 0
  47. #endif
  48. #endif
  49. #ifndef GLAD_PLATFORM_APPLE
  50. #ifdef __APPLE__
  51. #define GLAD_PLATFORM_APPLE 1
  52. #else
  53. #define GLAD_PLATFORM_APPLE 0
  54. #endif
  55. #endif
  56. #ifndef GLAD_PLATFORM_EMSCRIPTEN
  57. #ifdef __EMSCRIPTEN__
  58. #define GLAD_PLATFORM_EMSCRIPTEN 1
  59. #else
  60. #define GLAD_PLATFORM_EMSCRIPTEN 0
  61. #endif
  62. #endif
  63. #ifndef GLAD_PLATFORM_UWP
  64. #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
  65. #ifdef __has_include
  66. #if __has_include(<winapifamily.h>)
  67. #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
  68. #endif
  69. #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
  70. #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
  71. #endif
  72. #endif
  73. #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
  74. #include <winapifamily.h>
  75. #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
  76. #define GLAD_PLATFORM_UWP 1
  77. #endif
  78. #endif
  79. #ifndef GLAD_PLATFORM_UWP
  80. #define GLAD_PLATFORM_UWP 0
  81. #endif
  82. #endif
  83. #ifdef __GNUC__
  84. #define GLAD_GNUC_EXTENSION __extension__
  85. #else
  86. #define GLAD_GNUC_EXTENSION
  87. #endif
  88. #ifndef GLAD_API_CALL
  89. #if defined(GLAD_API_CALL_EXPORT)
  90. #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
  91. #if defined(GLAD_API_CALL_EXPORT_BUILD)
  92. #if defined(__GNUC__)
  93. #define GLAD_API_CALL __attribute__ ((dllexport)) extern
  94. #else
  95. #define GLAD_API_CALL __declspec(dllexport) extern
  96. #endif
  97. #else
  98. #if defined(__GNUC__)
  99. #define GLAD_API_CALL __attribute__ ((dllimport)) extern
  100. #else
  101. #define GLAD_API_CALL __declspec(dllimport) extern
  102. #endif
  103. #endif
  104. #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
  105. #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
  106. #else
  107. #define GLAD_API_CALL extern
  108. #endif
  109. #else
  110. #define GLAD_API_CALL extern
  111. #endif
  112. #endif
  113. #ifdef APIENTRY
  114. #define GLAD_API_PTR APIENTRY
  115. #elif GLAD_PLATFORM_WIN32
  116. #define GLAD_API_PTR __stdcall
  117. #else
  118. #define GLAD_API_PTR
  119. #endif
  120. #ifndef GLAPI
  121. #define GLAPI GLAD_API_CALL
  122. #endif
  123. #ifndef GLAPIENTRY
  124. #define GLAPIENTRY GLAD_API_PTR
  125. #endif
  126. #define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
  127. #define GLAD_VERSION_MAJOR(version) (version / 10000)
  128. #define GLAD_VERSION_MINOR(version) (version % 10000)
  129. typedef void (*GLADapiproc)(void);
  130. typedef GLADapiproc (*GLADloadfunc)(const char *name);
  131. typedef GLADapiproc (*GLADuserptrloadfunc)(const char *name, void *userptr);
  132. typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
  133. typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
  134. #endif /* GLAD_PLATFORM_H_ */
  135. #define VK_ATTACHMENT_UNUSED (~0U)
  136. #define VK_EXT_DEBUG_REPORT_EXTENSION_NAME "VK_EXT_debug_report"
  137. #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 9
  138. #define VK_FALSE 0
  139. #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
  140. #define VK_KHR_SURFACE_SPEC_VERSION 25
  141. #define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
  142. #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70
  143. #define VK_LOD_CLAMP_NONE 1000.0f
  144. #define VK_LUID_SIZE 8
  145. #define VK_MAX_DESCRIPTION_SIZE 256
  146. #define VK_MAX_DEVICE_GROUP_SIZE 32
  147. #define VK_MAX_EXTENSION_NAME_SIZE 256
  148. #define VK_MAX_MEMORY_HEAPS 16
  149. #define VK_MAX_MEMORY_TYPES 32
  150. #define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256
  151. #define VK_QUEUE_FAMILY_EXTERNAL (~0U-1)
  152. #define VK_QUEUE_FAMILY_IGNORED (~0U)
  153. #define VK_REMAINING_ARRAY_LAYERS (~0U)
  154. #define VK_REMAINING_MIP_LEVELS (~0U)
  155. #define VK_SUBPASS_EXTERNAL (~0U)
  156. #define VK_TRUE 1
  157. #define VK_UUID_SIZE 16
  158. #define VK_WHOLE_SIZE (~0ULL)
  159. #include <glad/vk_platform.h>
  160. #define VK_MAKE_VERSION(major, minor, patch) \
  161. (((major) << 22) | ((minor) << 12) | (patch))
  162. #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22)
  163. #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
  164. #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
  165. /* DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. */
  166. /*#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 */
  167. /* Vulkan 1.0 version number */
  168. #define VK_API_VERSION_1_0 VK_MAKE_VERSION(1, 0, 0)/* Patch version should always be set to 0 */
  169. /* Vulkan 1.1 version number */
  170. #define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)/* Patch version should always be set to 0 */
  171. /* Version of this file */
  172. #define VK_HEADER_VERSION 106
  173. #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
  174. #if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
  175. #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
  176. #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
  177. #else
  178. #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
  179. #endif
  180. #endif
  181. #define VK_NULL_HANDLE 0
  182. VK_DEFINE_HANDLE(VkInstance)
  183. VK_DEFINE_HANDLE(VkPhysicalDevice)
  184. VK_DEFINE_HANDLE(VkDevice)
  185. VK_DEFINE_HANDLE(VkQueue)
  186. VK_DEFINE_HANDLE(VkCommandBuffer)
  187. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeviceMemory)
  188. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCommandPool)
  189. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBuffer)
  190. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferView)
  191. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImage)
  192. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkImageView)
  193. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderModule)
  194. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipeline)
  195. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
  196. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler)
  197. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet)
  198. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
  199. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
  200. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFence)
  201. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSemaphore)
  202. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkEvent)
  203. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkQueryPool)
  204. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkFramebuffer)
  205. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkRenderPass)
  206. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineCache)
  207. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorUpdateTemplate)
  208. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSamplerYcbcrConversion)
  209. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR)
  210. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR)
  211. VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT)
  212. typedef enum VkAttachmentLoadOp {
  213. VK_ATTACHMENT_LOAD_OP_LOAD = 0,
  214. VK_ATTACHMENT_LOAD_OP_CLEAR = 1,
  215. VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2
  216. } VkAttachmentLoadOp;
  217. typedef enum VkAttachmentStoreOp {
  218. VK_ATTACHMENT_STORE_OP_STORE = 0,
  219. VK_ATTACHMENT_STORE_OP_DONT_CARE = 1
  220. } VkAttachmentStoreOp;
  221. typedef enum VkBlendFactor {
  222. VK_BLEND_FACTOR_ZERO = 0,
  223. VK_BLEND_FACTOR_ONE = 1,
  224. VK_BLEND_FACTOR_SRC_COLOR = 2,
  225. VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR = 3,
  226. VK_BLEND_FACTOR_DST_COLOR = 4,
  227. VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR = 5,
  228. VK_BLEND_FACTOR_SRC_ALPHA = 6,
  229. VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA = 7,
  230. VK_BLEND_FACTOR_DST_ALPHA = 8,
  231. VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA = 9,
  232. VK_BLEND_FACTOR_CONSTANT_COLOR = 10,
  233. VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR = 11,
  234. VK_BLEND_FACTOR_CONSTANT_ALPHA = 12,
  235. VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA = 13,
  236. VK_BLEND_FACTOR_SRC_ALPHA_SATURATE = 14,
  237. VK_BLEND_FACTOR_SRC1_COLOR = 15,
  238. VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR = 16,
  239. VK_BLEND_FACTOR_SRC1_ALPHA = 17,
  240. VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA = 18
  241. } VkBlendFactor;
  242. typedef enum VkBlendOp {
  243. VK_BLEND_OP_ADD = 0,
  244. VK_BLEND_OP_SUBTRACT = 1,
  245. VK_BLEND_OP_REVERSE_SUBTRACT = 2,
  246. VK_BLEND_OP_MIN = 3,
  247. VK_BLEND_OP_MAX = 4
  248. } VkBlendOp;
  249. typedef enum VkBorderColor {
  250. VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK = 0,
  251. VK_BORDER_COLOR_INT_TRANSPARENT_BLACK = 1,
  252. VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK = 2,
  253. VK_BORDER_COLOR_INT_OPAQUE_BLACK = 3,
  254. VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE = 4,
  255. VK_BORDER_COLOR_INT_OPAQUE_WHITE = 5
  256. } VkBorderColor;
  257. typedef enum VkPipelineCacheHeaderVersion {
  258. VK_PIPELINE_CACHE_HEADER_VERSION_ONE = 1
  259. } VkPipelineCacheHeaderVersion;
  260. typedef enum VkDeviceQueueCreateFlagBits {
  261. VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT = 1
  262. } VkDeviceQueueCreateFlagBits;
  263. typedef enum VkBufferCreateFlagBits {
  264. VK_BUFFER_CREATE_SPARSE_BINDING_BIT = 1,
  265. VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT = 2,
  266. VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 4,
  267. VK_BUFFER_CREATE_PROTECTED_BIT = 8
  268. } VkBufferCreateFlagBits;
  269. typedef enum VkBufferUsageFlagBits {
  270. VK_BUFFER_USAGE_TRANSFER_SRC_BIT = 1,
  271. VK_BUFFER_USAGE_TRANSFER_DST_BIT = 2,
  272. VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT = 4,
  273. VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT = 8,
  274. VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT = 16,
  275. VK_BUFFER_USAGE_STORAGE_BUFFER_BIT = 32,
  276. VK_BUFFER_USAGE_INDEX_BUFFER_BIT = 64,
  277. VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 128,
  278. VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 256
  279. } VkBufferUsageFlagBits;
  280. typedef enum VkColorComponentFlagBits {
  281. VK_COLOR_COMPONENT_R_BIT = 1,
  282. VK_COLOR_COMPONENT_G_BIT = 2,
  283. VK_COLOR_COMPONENT_B_BIT = 4,
  284. VK_COLOR_COMPONENT_A_BIT = 8
  285. } VkColorComponentFlagBits;
  286. typedef enum VkComponentSwizzle {
  287. VK_COMPONENT_SWIZZLE_IDENTITY = 0,
  288. VK_COMPONENT_SWIZZLE_ZERO = 1,
  289. VK_COMPONENT_SWIZZLE_ONE = 2,
  290. VK_COMPONENT_SWIZZLE_R = 3,
  291. VK_COMPONENT_SWIZZLE_G = 4,
  292. VK_COMPONENT_SWIZZLE_B = 5,
  293. VK_COMPONENT_SWIZZLE_A = 6
  294. } VkComponentSwizzle;
  295. typedef enum VkCommandPoolCreateFlagBits {
  296. VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 1,
  297. VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 2,
  298. VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 4
  299. } VkCommandPoolCreateFlagBits;
  300. typedef enum VkCommandPoolResetFlagBits {
  301. VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT = 1
  302. } VkCommandPoolResetFlagBits;
  303. typedef enum VkCommandBufferResetFlagBits {
  304. VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT = 1
  305. } VkCommandBufferResetFlagBits;
  306. typedef enum VkCommandBufferLevel {
  307. VK_COMMAND_BUFFER_LEVEL_PRIMARY = 0,
  308. VK_COMMAND_BUFFER_LEVEL_SECONDARY = 1
  309. } VkCommandBufferLevel;
  310. typedef enum VkCommandBufferUsageFlagBits {
  311. VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT = 1,
  312. VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT = 2,
  313. VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = 4
  314. } VkCommandBufferUsageFlagBits;
  315. typedef enum VkCompareOp {
  316. VK_COMPARE_OP_NEVER = 0,
  317. VK_COMPARE_OP_LESS = 1,
  318. VK_COMPARE_OP_EQUAL = 2,
  319. VK_COMPARE_OP_LESS_OR_EQUAL = 3,
  320. VK_COMPARE_OP_GREATER = 4,
  321. VK_COMPARE_OP_NOT_EQUAL = 5,
  322. VK_COMPARE_OP_GREATER_OR_EQUAL = 6,
  323. VK_COMPARE_OP_ALWAYS = 7
  324. } VkCompareOp;
  325. typedef enum VkCullModeFlagBits {
  326. VK_CULL_MODE_NONE = 0,
  327. VK_CULL_MODE_FRONT_BIT = 1,
  328. VK_CULL_MODE_BACK_BIT = 2,
  329. VK_CULL_MODE_FRONT_AND_BACK = 0x00000003
  330. } VkCullModeFlagBits;
  331. typedef enum VkDescriptorType {
  332. VK_DESCRIPTOR_TYPE_SAMPLER = 0,
  333. VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1,
  334. VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2,
  335. VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3,
  336. VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4,
  337. VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5,
  338. VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6,
  339. VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7,
  340. VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8,
  341. VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9,
  342. VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10
  343. } VkDescriptorType;
  344. typedef enum VkDynamicState {
  345. VK_DYNAMIC_STATE_VIEWPORT = 0,
  346. VK_DYNAMIC_STATE_SCISSOR = 1,
  347. VK_DYNAMIC_STATE_LINE_WIDTH = 2,
  348. VK_DYNAMIC_STATE_DEPTH_BIAS = 3,
  349. VK_DYNAMIC_STATE_BLEND_CONSTANTS = 4,
  350. VK_DYNAMIC_STATE_DEPTH_BOUNDS = 5,
  351. VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK = 6,
  352. VK_DYNAMIC_STATE_STENCIL_WRITE_MASK = 7,
  353. VK_DYNAMIC_STATE_STENCIL_REFERENCE = 8,
  354. VK_DYNAMIC_STATE_RANGE_SIZE = (VK_DYNAMIC_STATE_STENCIL_REFERENCE - VK_DYNAMIC_STATE_VIEWPORT + 1)
  355. } VkDynamicState;
  356. typedef enum VkFenceCreateFlagBits {
  357. VK_FENCE_CREATE_SIGNALED_BIT = 1
  358. } VkFenceCreateFlagBits;
  359. typedef enum VkPolygonMode {
  360. VK_POLYGON_MODE_FILL = 0,
  361. VK_POLYGON_MODE_LINE = 1,
  362. VK_POLYGON_MODE_POINT = 2
  363. } VkPolygonMode;
  364. typedef enum VkFormat {
  365. VK_FORMAT_UNDEFINED = 0,
  366. VK_FORMAT_R4G4_UNORM_PACK8 = 1,
  367. VK_FORMAT_R4G4B4A4_UNORM_PACK16 = 2,
  368. VK_FORMAT_B4G4R4A4_UNORM_PACK16 = 3,
  369. VK_FORMAT_R5G6B5_UNORM_PACK16 = 4,
  370. VK_FORMAT_B5G6R5_UNORM_PACK16 = 5,
  371. VK_FORMAT_R5G5B5A1_UNORM_PACK16 = 6,
  372. VK_FORMAT_B5G5R5A1_UNORM_PACK16 = 7,
  373. VK_FORMAT_A1R5G5B5_UNORM_PACK16 = 8,
  374. VK_FORMAT_R8_UNORM = 9,
  375. VK_FORMAT_R8_SNORM = 10,
  376. VK_FORMAT_R8_USCALED = 11,
  377. VK_FORMAT_R8_SSCALED = 12,
  378. VK_FORMAT_R8_UINT = 13,
  379. VK_FORMAT_R8_SINT = 14,
  380. VK_FORMAT_R8_SRGB = 15,
  381. VK_FORMAT_R8G8_UNORM = 16,
  382. VK_FORMAT_R8G8_SNORM = 17,
  383. VK_FORMAT_R8G8_USCALED = 18,
  384. VK_FORMAT_R8G8_SSCALED = 19,
  385. VK_FORMAT_R8G8_UINT = 20,
  386. VK_FORMAT_R8G8_SINT = 21,
  387. VK_FORMAT_R8G8_SRGB = 22,
  388. VK_FORMAT_R8G8B8_UNORM = 23,
  389. VK_FORMAT_R8G8B8_SNORM = 24,
  390. VK_FORMAT_R8G8B8_USCALED = 25,
  391. VK_FORMAT_R8G8B8_SSCALED = 26,
  392. VK_FORMAT_R8G8B8_UINT = 27,
  393. VK_FORMAT_R8G8B8_SINT = 28,
  394. VK_FORMAT_R8G8B8_SRGB = 29,
  395. VK_FORMAT_B8G8R8_UNORM = 30,
  396. VK_FORMAT_B8G8R8_SNORM = 31,
  397. VK_FORMAT_B8G8R8_USCALED = 32,
  398. VK_FORMAT_B8G8R8_SSCALED = 33,
  399. VK_FORMAT_B8G8R8_UINT = 34,
  400. VK_FORMAT_B8G8R8_SINT = 35,
  401. VK_FORMAT_B8G8R8_SRGB = 36,
  402. VK_FORMAT_R8G8B8A8_UNORM = 37,
  403. VK_FORMAT_R8G8B8A8_SNORM = 38,
  404. VK_FORMAT_R8G8B8A8_USCALED = 39,
  405. VK_FORMAT_R8G8B8A8_SSCALED = 40,
  406. VK_FORMAT_R8G8B8A8_UINT = 41,
  407. VK_FORMAT_R8G8B8A8_SINT = 42,
  408. VK_FORMAT_R8G8B8A8_SRGB = 43,
  409. VK_FORMAT_B8G8R8A8_UNORM = 44,
  410. VK_FORMAT_B8G8R8A8_SNORM = 45,
  411. VK_FORMAT_B8G8R8A8_USCALED = 46,
  412. VK_FORMAT_B8G8R8A8_SSCALED = 47,
  413. VK_FORMAT_B8G8R8A8_UINT = 48,
  414. VK_FORMAT_B8G8R8A8_SINT = 49,
  415. VK_FORMAT_B8G8R8A8_SRGB = 50,
  416. VK_FORMAT_A8B8G8R8_UNORM_PACK32 = 51,
  417. VK_FORMAT_A8B8G8R8_SNORM_PACK32 = 52,
  418. VK_FORMAT_A8B8G8R8_USCALED_PACK32 = 53,
  419. VK_FORMAT_A8B8G8R8_SSCALED_PACK32 = 54,
  420. VK_FORMAT_A8B8G8R8_UINT_PACK32 = 55,
  421. VK_FORMAT_A8B8G8R8_SINT_PACK32 = 56,
  422. VK_FORMAT_A8B8G8R8_SRGB_PACK32 = 57,
  423. VK_FORMAT_A2R10G10B10_UNORM_PACK32 = 58,
  424. VK_FORMAT_A2R10G10B10_SNORM_PACK32 = 59,
  425. VK_FORMAT_A2R10G10B10_USCALED_PACK32 = 60,
  426. VK_FORMAT_A2R10G10B10_SSCALED_PACK32 = 61,
  427. VK_FORMAT_A2R10G10B10_UINT_PACK32 = 62,
  428. VK_FORMAT_A2R10G10B10_SINT_PACK32 = 63,
  429. VK_FORMAT_A2B10G10R10_UNORM_PACK32 = 64,
  430. VK_FORMAT_A2B10G10R10_SNORM_PACK32 = 65,
  431. VK_FORMAT_A2B10G10R10_USCALED_PACK32 = 66,
  432. VK_FORMAT_A2B10G10R10_SSCALED_PACK32 = 67,
  433. VK_FORMAT_A2B10G10R10_UINT_PACK32 = 68,
  434. VK_FORMAT_A2B10G10R10_SINT_PACK32 = 69,
  435. VK_FORMAT_R16_UNORM = 70,
  436. VK_FORMAT_R16_SNORM = 71,
  437. VK_FORMAT_R16_USCALED = 72,
  438. VK_FORMAT_R16_SSCALED = 73,
  439. VK_FORMAT_R16_UINT = 74,
  440. VK_FORMAT_R16_SINT = 75,
  441. VK_FORMAT_R16_SFLOAT = 76,
  442. VK_FORMAT_R16G16_UNORM = 77,
  443. VK_FORMAT_R16G16_SNORM = 78,
  444. VK_FORMAT_R16G16_USCALED = 79,
  445. VK_FORMAT_R16G16_SSCALED = 80,
  446. VK_FORMAT_R16G16_UINT = 81,
  447. VK_FORMAT_R16G16_SINT = 82,
  448. VK_FORMAT_R16G16_SFLOAT = 83,
  449. VK_FORMAT_R16G16B16_UNORM = 84,
  450. VK_FORMAT_R16G16B16_SNORM = 85,
  451. VK_FORMAT_R16G16B16_USCALED = 86,
  452. VK_FORMAT_R16G16B16_SSCALED = 87,
  453. VK_FORMAT_R16G16B16_UINT = 88,
  454. VK_FORMAT_R16G16B16_SINT = 89,
  455. VK_FORMAT_R16G16B16_SFLOAT = 90,
  456. VK_FORMAT_R16G16B16A16_UNORM = 91,
  457. VK_FORMAT_R16G16B16A16_SNORM = 92,
  458. VK_FORMAT_R16G16B16A16_USCALED = 93,
  459. VK_FORMAT_R16G16B16A16_SSCALED = 94,
  460. VK_FORMAT_R16G16B16A16_UINT = 95,
  461. VK_FORMAT_R16G16B16A16_SINT = 96,
  462. VK_FORMAT_R16G16B16A16_SFLOAT = 97,
  463. VK_FORMAT_R32_UINT = 98,
  464. VK_FORMAT_R32_SINT = 99,
  465. VK_FORMAT_R32_SFLOAT = 100,
  466. VK_FORMAT_R32G32_UINT = 101,
  467. VK_FORMAT_R32G32_SINT = 102,
  468. VK_FORMAT_R32G32_SFLOAT = 103,
  469. VK_FORMAT_R32G32B32_UINT = 104,
  470. VK_FORMAT_R32G32B32_SINT = 105,
  471. VK_FORMAT_R32G32B32_SFLOAT = 106,
  472. VK_FORMAT_R32G32B32A32_UINT = 107,
  473. VK_FORMAT_R32G32B32A32_SINT = 108,
  474. VK_FORMAT_R32G32B32A32_SFLOAT = 109,
  475. VK_FORMAT_R64_UINT = 110,
  476. VK_FORMAT_R64_SINT = 111,
  477. VK_FORMAT_R64_SFLOAT = 112,
  478. VK_FORMAT_R64G64_UINT = 113,
  479. VK_FORMAT_R64G64_SINT = 114,
  480. VK_FORMAT_R64G64_SFLOAT = 115,
  481. VK_FORMAT_R64G64B64_UINT = 116,
  482. VK_FORMAT_R64G64B64_SINT = 117,
  483. VK_FORMAT_R64G64B64_SFLOAT = 118,
  484. VK_FORMAT_R64G64B64A64_UINT = 119,
  485. VK_FORMAT_R64G64B64A64_SINT = 120,
  486. VK_FORMAT_R64G64B64A64_SFLOAT = 121,
  487. VK_FORMAT_B10G11R11_UFLOAT_PACK32 = 122,
  488. VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 = 123,
  489. VK_FORMAT_D16_UNORM = 124,
  490. VK_FORMAT_X8_D24_UNORM_PACK32 = 125,
  491. VK_FORMAT_D32_SFLOAT = 126,
  492. VK_FORMAT_S8_UINT = 127,
  493. VK_FORMAT_D16_UNORM_S8_UINT = 128,
  494. VK_FORMAT_D24_UNORM_S8_UINT = 129,
  495. VK_FORMAT_D32_SFLOAT_S8_UINT = 130,
  496. VK_FORMAT_BC1_RGB_UNORM_BLOCK = 131,
  497. VK_FORMAT_BC1_RGB_SRGB_BLOCK = 132,
  498. VK_FORMAT_BC1_RGBA_UNORM_BLOCK = 133,
  499. VK_FORMAT_BC1_RGBA_SRGB_BLOCK = 134,
  500. VK_FORMAT_BC2_UNORM_BLOCK = 135,
  501. VK_FORMAT_BC2_SRGB_BLOCK = 136,
  502. VK_FORMAT_BC3_UNORM_BLOCK = 137,
  503. VK_FORMAT_BC3_SRGB_BLOCK = 138,
  504. VK_FORMAT_BC4_UNORM_BLOCK = 139,
  505. VK_FORMAT_BC4_SNORM_BLOCK = 140,
  506. VK_FORMAT_BC5_UNORM_BLOCK = 141,
  507. VK_FORMAT_BC5_SNORM_BLOCK = 142,
  508. VK_FORMAT_BC6H_UFLOAT_BLOCK = 143,
  509. VK_FORMAT_BC6H_SFLOAT_BLOCK = 144,
  510. VK_FORMAT_BC7_UNORM_BLOCK = 145,
  511. VK_FORMAT_BC7_SRGB_BLOCK = 146,
  512. VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK = 147,
  513. VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK = 148,
  514. VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK = 149,
  515. VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK = 150,
  516. VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK = 151,
  517. VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK = 152,
  518. VK_FORMAT_EAC_R11_UNORM_BLOCK = 153,
  519. VK_FORMAT_EAC_R11_SNORM_BLOCK = 154,
  520. VK_FORMAT_EAC_R11G11_UNORM_BLOCK = 155,
  521. VK_FORMAT_EAC_R11G11_SNORM_BLOCK = 156,
  522. VK_FORMAT_ASTC_4x4_UNORM_BLOCK = 157,
  523. VK_FORMAT_ASTC_4x4_SRGB_BLOCK = 158,
  524. VK_FORMAT_ASTC_5x4_UNORM_BLOCK = 159,
  525. VK_FORMAT_ASTC_5x4_SRGB_BLOCK = 160,
  526. VK_FORMAT_ASTC_5x5_UNORM_BLOCK = 161,
  527. VK_FORMAT_ASTC_5x5_SRGB_BLOCK = 162,
  528. VK_FORMAT_ASTC_6x5_UNORM_BLOCK = 163,
  529. VK_FORMAT_ASTC_6x5_SRGB_BLOCK = 164,
  530. VK_FORMAT_ASTC_6x6_UNORM_BLOCK = 165,
  531. VK_FORMAT_ASTC_6x6_SRGB_BLOCK = 166,
  532. VK_FORMAT_ASTC_8x5_UNORM_BLOCK = 167,
  533. VK_FORMAT_ASTC_8x5_SRGB_BLOCK = 168,
  534. VK_FORMAT_ASTC_8x6_UNORM_BLOCK = 169,
  535. VK_FORMAT_ASTC_8x6_SRGB_BLOCK = 170,
  536. VK_FORMAT_ASTC_8x8_UNORM_BLOCK = 171,
  537. VK_FORMAT_ASTC_8x8_SRGB_BLOCK = 172,
  538. VK_FORMAT_ASTC_10x5_UNORM_BLOCK = 173,
  539. VK_FORMAT_ASTC_10x5_SRGB_BLOCK = 174,
  540. VK_FORMAT_ASTC_10x6_UNORM_BLOCK = 175,
  541. VK_FORMAT_ASTC_10x6_SRGB_BLOCK = 176,
  542. VK_FORMAT_ASTC_10x8_UNORM_BLOCK = 177,
  543. VK_FORMAT_ASTC_10x8_SRGB_BLOCK = 178,
  544. VK_FORMAT_ASTC_10x10_UNORM_BLOCK = 179,
  545. VK_FORMAT_ASTC_10x10_SRGB_BLOCK = 180,
  546. VK_FORMAT_ASTC_12x10_UNORM_BLOCK = 181,
  547. VK_FORMAT_ASTC_12x10_SRGB_BLOCK = 182,
  548. VK_FORMAT_ASTC_12x12_UNORM_BLOCK = 183,
  549. VK_FORMAT_ASTC_12x12_SRGB_BLOCK = 184,
  550. VK_FORMAT_G8B8G8R8_422_UNORM = 1000156000,
  551. VK_FORMAT_B8G8R8G8_422_UNORM = 1000156001,
  552. VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM = 1000156002,
  553. VK_FORMAT_G8_B8R8_2PLANE_420_UNORM = 1000156003,
  554. VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM = 1000156004,
  555. VK_FORMAT_G8_B8R8_2PLANE_422_UNORM = 1000156005,
  556. VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM = 1000156006,
  557. VK_FORMAT_R10X6_UNORM_PACK16 = 1000156007,
  558. VK_FORMAT_R10X6G10X6_UNORM_2PACK16 = 1000156008,
  559. VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 = 1000156009,
  560. VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 = 1000156010,
  561. VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 = 1000156011,
  562. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 = 1000156012,
  563. VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 = 1000156013,
  564. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 = 1000156014,
  565. VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 = 1000156015,
  566. VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 = 1000156016,
  567. VK_FORMAT_R12X4_UNORM_PACK16 = 1000156017,
  568. VK_FORMAT_R12X4G12X4_UNORM_2PACK16 = 1000156018,
  569. VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 = 1000156019,
  570. VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 = 1000156020,
  571. VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 = 1000156021,
  572. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 = 1000156022,
  573. VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 = 1000156023,
  574. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 = 1000156024,
  575. VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 = 1000156025,
  576. VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 = 1000156026,
  577. VK_FORMAT_G16B16G16R16_422_UNORM = 1000156027,
  578. VK_FORMAT_B16G16R16G16_422_UNORM = 1000156028,
  579. VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM = 1000156029,
  580. VK_FORMAT_G16_B16R16_2PLANE_420_UNORM = 1000156030,
  581. VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM = 1000156031,
  582. VK_FORMAT_G16_B16R16_2PLANE_422_UNORM = 1000156032,
  583. VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM = 1000156033
  584. } VkFormat;
  585. typedef enum VkFormatFeatureFlagBits {
  586. VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT = 1,
  587. VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT = 2,
  588. VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT = 4,
  589. VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT = 8,
  590. VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT = 16,
  591. VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT = 32,
  592. VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT = 64,
  593. VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT = 128,
  594. VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT = 256,
  595. VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT = 512,
  596. VK_FORMAT_FEATURE_BLIT_SRC_BIT = 1024,
  597. VK_FORMAT_FEATURE_BLIT_DST_BIT = 2048,
  598. VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT = 4096,
  599. VK_FORMAT_FEATURE_TRANSFER_SRC_BIT = 16384,
  600. VK_FORMAT_FEATURE_TRANSFER_DST_BIT = 32768,
  601. VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT = 131072,
  602. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = 262144,
  603. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT = 524288,
  604. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT = 1048576,
  605. VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT = 2097152,
  606. VK_FORMAT_FEATURE_DISJOINT_BIT = 4194304,
  607. VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 8388608
  608. } VkFormatFeatureFlagBits;
  609. typedef enum VkFrontFace {
  610. VK_FRONT_FACE_COUNTER_CLOCKWISE = 0,
  611. VK_FRONT_FACE_CLOCKWISE = 1
  612. } VkFrontFace;
  613. typedef enum VkImageAspectFlagBits {
  614. VK_IMAGE_ASPECT_COLOR_BIT = 1,
  615. VK_IMAGE_ASPECT_DEPTH_BIT = 2,
  616. VK_IMAGE_ASPECT_STENCIL_BIT = 4,
  617. VK_IMAGE_ASPECT_METADATA_BIT = 8,
  618. VK_IMAGE_ASPECT_PLANE_0_BIT = 16,
  619. VK_IMAGE_ASPECT_PLANE_1_BIT = 32,
  620. VK_IMAGE_ASPECT_PLANE_2_BIT = 64
  621. } VkImageAspectFlagBits;
  622. typedef enum VkImageCreateFlagBits {
  623. VK_IMAGE_CREATE_SPARSE_BINDING_BIT = 1,
  624. VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT = 2,
  625. VK_IMAGE_CREATE_SPARSE_ALIASED_BIT = 4,
  626. VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT = 8,
  627. VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 16,
  628. VK_IMAGE_CREATE_ALIAS_BIT = 1024,
  629. VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT = 64,
  630. VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT = 32,
  631. VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT = 128,
  632. VK_IMAGE_CREATE_EXTENDED_USAGE_BIT = 256,
  633. VK_IMAGE_CREATE_PROTECTED_BIT = 2048,
  634. VK_IMAGE_CREATE_DISJOINT_BIT = 512
  635. } VkImageCreateFlagBits;
  636. typedef enum VkImageLayout {
  637. VK_IMAGE_LAYOUT_UNDEFINED = 0,
  638. VK_IMAGE_LAYOUT_GENERAL = 1,
  639. VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL = 2,
  640. VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL = 3,
  641. VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL = 4,
  642. VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL = 5,
  643. VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
  644. VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
  645. VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
  646. VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL = 1000117000,
  647. VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL = 1000117001,
  648. VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002
  649. } VkImageLayout;
  650. typedef enum VkImageTiling {
  651. VK_IMAGE_TILING_OPTIMAL = 0,
  652. VK_IMAGE_TILING_LINEAR = 1
  653. } VkImageTiling;
  654. typedef enum VkImageType {
  655. VK_IMAGE_TYPE_1D = 0,
  656. VK_IMAGE_TYPE_2D = 1,
  657. VK_IMAGE_TYPE_3D = 2
  658. } VkImageType;
  659. typedef enum VkImageUsageFlagBits {
  660. VK_IMAGE_USAGE_TRANSFER_SRC_BIT = 1,
  661. VK_IMAGE_USAGE_TRANSFER_DST_BIT = 2,
  662. VK_IMAGE_USAGE_SAMPLED_BIT = 4,
  663. VK_IMAGE_USAGE_STORAGE_BIT = 8,
  664. VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT = 16,
  665. VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 32,
  666. VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 64,
  667. VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 128
  668. } VkImageUsageFlagBits;
  669. typedef enum VkImageViewType {
  670. VK_IMAGE_VIEW_TYPE_1D = 0,
  671. VK_IMAGE_VIEW_TYPE_2D = 1,
  672. VK_IMAGE_VIEW_TYPE_3D = 2,
  673. VK_IMAGE_VIEW_TYPE_CUBE = 3,
  674. VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,
  675. VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,
  676. VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6
  677. } VkImageViewType;
  678. typedef enum VkSharingMode {
  679. VK_SHARING_MODE_EXCLUSIVE = 0,
  680. VK_SHARING_MODE_CONCURRENT = 1
  681. } VkSharingMode;
  682. typedef enum VkIndexType {
  683. VK_INDEX_TYPE_UINT16 = 0,
  684. VK_INDEX_TYPE_UINT32 = 1
  685. } VkIndexType;
  686. typedef enum VkLogicOp {
  687. VK_LOGIC_OP_CLEAR = 0,
  688. VK_LOGIC_OP_AND = 1,
  689. VK_LOGIC_OP_AND_REVERSE = 2,
  690. VK_LOGIC_OP_COPY = 3,
  691. VK_LOGIC_OP_AND_INVERTED = 4,
  692. VK_LOGIC_OP_NO_OP = 5,
  693. VK_LOGIC_OP_XOR = 6,
  694. VK_LOGIC_OP_OR = 7,
  695. VK_LOGIC_OP_NOR = 8,
  696. VK_LOGIC_OP_EQUIVALENT = 9,
  697. VK_LOGIC_OP_INVERT = 10,
  698. VK_LOGIC_OP_OR_REVERSE = 11,
  699. VK_LOGIC_OP_COPY_INVERTED = 12,
  700. VK_LOGIC_OP_OR_INVERTED = 13,
  701. VK_LOGIC_OP_NAND = 14,
  702. VK_LOGIC_OP_SET = 15
  703. } VkLogicOp;
  704. typedef enum VkMemoryHeapFlagBits {
  705. VK_MEMORY_HEAP_DEVICE_LOCAL_BIT = 1,
  706. VK_MEMORY_HEAP_MULTI_INSTANCE_BIT = 2
  707. } VkMemoryHeapFlagBits;
  708. typedef enum VkAccessFlagBits {
  709. VK_ACCESS_INDIRECT_COMMAND_READ_BIT = 1,
  710. VK_ACCESS_INDEX_READ_BIT = 2,
  711. VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT = 4,
  712. VK_ACCESS_UNIFORM_READ_BIT = 8,
  713. VK_ACCESS_INPUT_ATTACHMENT_READ_BIT = 16,
  714. VK_ACCESS_SHADER_READ_BIT = 32,
  715. VK_ACCESS_SHADER_WRITE_BIT = 64,
  716. VK_ACCESS_COLOR_ATTACHMENT_READ_BIT = 128,
  717. VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT = 256,
  718. VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT = 512,
  719. VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT = 1024,
  720. VK_ACCESS_TRANSFER_READ_BIT = 2048,
  721. VK_ACCESS_TRANSFER_WRITE_BIT = 4096,
  722. VK_ACCESS_HOST_READ_BIT = 8192,
  723. VK_ACCESS_HOST_WRITE_BIT = 16384,
  724. VK_ACCESS_MEMORY_READ_BIT = 32768,
  725. VK_ACCESS_MEMORY_WRITE_BIT = 65536
  726. } VkAccessFlagBits;
  727. typedef enum VkMemoryPropertyFlagBits {
  728. VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT = 1,
  729. VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT = 2,
  730. VK_MEMORY_PROPERTY_HOST_COHERENT_BIT = 4,
  731. VK_MEMORY_PROPERTY_HOST_CACHED_BIT = 8,
  732. VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT = 16,
  733. VK_MEMORY_PROPERTY_PROTECTED_BIT = 32
  734. } VkMemoryPropertyFlagBits;
  735. typedef enum VkPhysicalDeviceType {
  736. VK_PHYSICAL_DEVICE_TYPE_OTHER = 0,
  737. VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU = 1,
  738. VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU = 2,
  739. VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU = 3,
  740. VK_PHYSICAL_DEVICE_TYPE_CPU = 4
  741. } VkPhysicalDeviceType;
  742. typedef enum VkPipelineBindPoint {
  743. VK_PIPELINE_BIND_POINT_GRAPHICS = 0,
  744. VK_PIPELINE_BIND_POINT_COMPUTE = 1
  745. } VkPipelineBindPoint;
  746. typedef enum VkPipelineCreateFlagBits {
  747. VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 1,
  748. VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 2,
  749. VK_PIPELINE_CREATE_DERIVATIVE_BIT = 4,
  750. VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 8,
  751. VK_PIPELINE_CREATE_DISPATCH_BASE = 16
  752. } VkPipelineCreateFlagBits;
  753. typedef enum VkPrimitiveTopology {
  754. VK_PRIMITIVE_TOPOLOGY_POINT_LIST = 0,
  755. VK_PRIMITIVE_TOPOLOGY_LINE_LIST = 1,
  756. VK_PRIMITIVE_TOPOLOGY_LINE_STRIP = 2,
  757. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST = 3,
  758. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP = 4,
  759. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN = 5,
  760. VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY = 6,
  761. VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY = 7,
  762. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY = 8,
  763. VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY = 9,
  764. VK_PRIMITIVE_TOPOLOGY_PATCH_LIST = 10
  765. } VkPrimitiveTopology;
  766. typedef enum VkQueryControlFlagBits {
  767. VK_QUERY_CONTROL_PRECISE_BIT = 1
  768. } VkQueryControlFlagBits;
  769. typedef enum VkQueryPipelineStatisticFlagBits {
  770. VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT = 1,
  771. VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT = 2,
  772. VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT = 4,
  773. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT = 8,
  774. VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT = 16,
  775. VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT = 32,
  776. VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT = 64,
  777. VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT = 128,
  778. VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT = 256,
  779. VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT = 512,
  780. VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 1024
  781. } VkQueryPipelineStatisticFlagBits;
  782. typedef enum VkQueryResultFlagBits {
  783. VK_QUERY_RESULT_64_BIT = 1,
  784. VK_QUERY_RESULT_WAIT_BIT = 2,
  785. VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 4,
  786. VK_QUERY_RESULT_PARTIAL_BIT = 8
  787. } VkQueryResultFlagBits;
  788. typedef enum VkQueryType {
  789. VK_QUERY_TYPE_OCCLUSION = 0,
  790. VK_QUERY_TYPE_PIPELINE_STATISTICS = 1,
  791. VK_QUERY_TYPE_TIMESTAMP = 2
  792. } VkQueryType;
  793. typedef enum VkQueueFlagBits {
  794. VK_QUEUE_GRAPHICS_BIT = 1,
  795. VK_QUEUE_COMPUTE_BIT = 2,
  796. VK_QUEUE_TRANSFER_BIT = 4,
  797. VK_QUEUE_SPARSE_BINDING_BIT = 8,
  798. VK_QUEUE_PROTECTED_BIT = 16
  799. } VkQueueFlagBits;
  800. typedef enum VkSubpassContents {
  801. VK_SUBPASS_CONTENTS_INLINE = 0,
  802. VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1
  803. } VkSubpassContents;
  804. typedef enum VkResult {
  805. VK_SUCCESS = 0,
  806. VK_NOT_READY = 1,
  807. VK_TIMEOUT = 2,
  808. VK_EVENT_SET = 3,
  809. VK_EVENT_RESET = 4,
  810. VK_INCOMPLETE = 5,
  811. VK_ERROR_OUT_OF_HOST_MEMORY = -1,
  812. VK_ERROR_OUT_OF_DEVICE_MEMORY = -2,
  813. VK_ERROR_INITIALIZATION_FAILED = -3,
  814. VK_ERROR_DEVICE_LOST = -4,
  815. VK_ERROR_MEMORY_MAP_FAILED = -5,
  816. VK_ERROR_LAYER_NOT_PRESENT = -6,
  817. VK_ERROR_EXTENSION_NOT_PRESENT = -7,
  818. VK_ERROR_FEATURE_NOT_PRESENT = -8,
  819. VK_ERROR_INCOMPATIBLE_DRIVER = -9,
  820. VK_ERROR_TOO_MANY_OBJECTS = -10,
  821. VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
  822. VK_ERROR_FRAGMENTED_POOL = -12,
  823. VK_ERROR_OUT_OF_POOL_MEMORY = -1000069000,
  824. VK_ERROR_INVALID_EXTERNAL_HANDLE = -1000072003,
  825. VK_ERROR_SURFACE_LOST_KHR = -1000000000,
  826. VK_ERROR_NATIVE_WINDOW_IN_USE_KHR = -1000000001,
  827. VK_SUBOPTIMAL_KHR = 1000001003,
  828. VK_ERROR_OUT_OF_DATE_KHR = -1000001004,
  829. VK_ERROR_VALIDATION_FAILED_EXT = -1000011001
  830. } VkResult;
  831. typedef enum VkShaderStageFlagBits {
  832. VK_SHADER_STAGE_VERTEX_BIT = 1,
  833. VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 2,
  834. VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 4,
  835. VK_SHADER_STAGE_GEOMETRY_BIT = 8,
  836. VK_SHADER_STAGE_FRAGMENT_BIT = 16,
  837. VK_SHADER_STAGE_COMPUTE_BIT = 32,
  838. VK_SHADER_STAGE_ALL_GRAPHICS = 0x0000001F,
  839. VK_SHADER_STAGE_ALL = 0x7FFFFFFF
  840. } VkShaderStageFlagBits;
  841. typedef enum VkSparseMemoryBindFlagBits {
  842. VK_SPARSE_MEMORY_BIND_METADATA_BIT = 1
  843. } VkSparseMemoryBindFlagBits;
  844. typedef enum VkStencilFaceFlagBits {
  845. VK_STENCIL_FACE_FRONT_BIT = 1,
  846. VK_STENCIL_FACE_BACK_BIT = 2,
  847. VK_STENCIL_FRONT_AND_BACK = 0x00000003
  848. } VkStencilFaceFlagBits;
  849. typedef enum VkStencilOp {
  850. VK_STENCIL_OP_KEEP = 0,
  851. VK_STENCIL_OP_ZERO = 1,
  852. VK_STENCIL_OP_REPLACE = 2,
  853. VK_STENCIL_OP_INCREMENT_AND_CLAMP = 3,
  854. VK_STENCIL_OP_DECREMENT_AND_CLAMP = 4,
  855. VK_STENCIL_OP_INVERT = 5,
  856. VK_STENCIL_OP_INCREMENT_AND_WRAP = 6,
  857. VK_STENCIL_OP_DECREMENT_AND_WRAP = 7
  858. } VkStencilOp;
  859. typedef enum VkStructureType {
  860. VK_STRUCTURE_TYPE_APPLICATION_INFO = 0,
  861. VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO = 1,
  862. VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO = 2,
  863. VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO = 3,
  864. VK_STRUCTURE_TYPE_SUBMIT_INFO = 4,
  865. VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO = 5,
  866. VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE = 6,
  867. VK_STRUCTURE_TYPE_BIND_SPARSE_INFO = 7,
  868. VK_STRUCTURE_TYPE_FENCE_CREATE_INFO = 8,
  869. VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO = 9,
  870. VK_STRUCTURE_TYPE_EVENT_CREATE_INFO = 10,
  871. VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO = 11,
  872. VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO = 12,
  873. VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO = 13,
  874. VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO = 14,
  875. VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO = 15,
  876. VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO = 16,
  877. VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO = 17,
  878. VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO = 18,
  879. VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO = 19,
  880. VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO = 20,
  881. VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO = 21,
  882. VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO = 22,
  883. VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO = 23,
  884. VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO = 24,
  885. VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO = 25,
  886. VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO = 26,
  887. VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO = 27,
  888. VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO = 28,
  889. VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO = 29,
  890. VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO = 30,
  891. VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO = 31,
  892. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO = 32,
  893. VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO = 33,
  894. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO = 34,
  895. VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET = 35,
  896. VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET = 36,
  897. VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO = 37,
  898. VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
  899. VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
  900. VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
  901. VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
  902. VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
  903. VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
  904. VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
  905. VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
  906. VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
  907. VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
  908. VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
  909. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES = 1000094000,
  910. VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO = 1000157000,
  911. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO = 1000157001,
  912. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES = 1000083000,
  913. VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS = 1000127000,
  914. VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO = 1000127001,
  915. VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO = 1000060000,
  916. VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO = 1000060003,
  917. VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO = 1000060004,
  918. VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO = 1000060005,
  919. VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO = 1000060006,
  920. VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO = 1000060013,
  921. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO = 1000060014,
  922. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES = 1000070000,
  923. VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO = 1000070001,
  924. VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 = 1000146000,
  925. VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 = 1000146001,
  926. VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 = 1000146002,
  927. VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 = 1000146003,
  928. VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = 1000146004,
  929. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 = 1000059000,
  930. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 = 1000059001,
  931. VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 = 1000059002,
  932. VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 = 1000059003,
  933. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 = 1000059004,
  934. VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 = 1000059005,
  935. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 = 1000059006,
  936. VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 = 1000059007,
  937. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = 1000059008,
  938. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES = 1000117000,
  939. VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO = 1000117001,
  940. VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO = 1000117002,
  941. VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO = 1000117003,
  942. VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO = 1000053000,
  943. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES = 1000053001,
  944. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES = 1000053002,
  945. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES = 1000120000,
  946. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
  947. VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO = 1000145000,
  948. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES = 1000145001,
  949. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES = 1000145002,
  950. VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2 = 1000145003,
  951. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO = 1000156000,
  952. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO = 1000156001,
  953. VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO = 1000156002,
  954. VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO = 1000156003,
  955. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES = 1000156004,
  956. VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES = 1000156005,
  957. VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO = 1000085000,
  958. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO = 1000071000,
  959. VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES = 1000071001,
  960. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO = 1000071002,
  961. VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES = 1000071003,
  962. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES = 1000071004,
  963. VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO = 1000072000,
  964. VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO = 1000072001,
  965. VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO = 1000072002,
  966. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO = 1000112000,
  967. VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = 1000112001,
  968. VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO = 1000113000,
  969. VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO = 1000077000,
  970. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO = 1000076000,
  971. VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = 1000076001,
  972. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES = 1000168000,
  973. VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = 1000168001,
  974. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES = 1000063000,
  975. VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
  976. VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
  977. VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
  978. VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR = 1000060007,
  979. VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR = 1000060008,
  980. VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR = 1000060009,
  981. VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR = 1000060010,
  982. VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR = 1000060011,
  983. VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR = 1000060012,
  984. VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT = 1000011000,
  985. VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
  986. } VkStructureType;
  987. typedef enum VkSystemAllocationScope {
  988. VK_SYSTEM_ALLOCATION_SCOPE_COMMAND = 0,
  989. VK_SYSTEM_ALLOCATION_SCOPE_OBJECT = 1,
  990. VK_SYSTEM_ALLOCATION_SCOPE_CACHE = 2,
  991. VK_SYSTEM_ALLOCATION_SCOPE_DEVICE = 3,
  992. VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE = 4
  993. } VkSystemAllocationScope;
  994. typedef enum VkInternalAllocationType {
  995. VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE = 0
  996. } VkInternalAllocationType;
  997. typedef enum VkSamplerAddressMode {
  998. VK_SAMPLER_ADDRESS_MODE_REPEAT = 0,
  999. VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT = 1,
  1000. VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE = 2,
  1001. VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER = 3
  1002. } VkSamplerAddressMode;
  1003. typedef enum VkFilter {
  1004. VK_FILTER_NEAREST = 0,
  1005. VK_FILTER_LINEAR = 1
  1006. } VkFilter;
  1007. typedef enum VkSamplerMipmapMode {
  1008. VK_SAMPLER_MIPMAP_MODE_NEAREST = 0,
  1009. VK_SAMPLER_MIPMAP_MODE_LINEAR = 1
  1010. } VkSamplerMipmapMode;
  1011. typedef enum VkVertexInputRate {
  1012. VK_VERTEX_INPUT_RATE_VERTEX = 0,
  1013. VK_VERTEX_INPUT_RATE_INSTANCE = 1
  1014. } VkVertexInputRate;
  1015. typedef enum VkPipelineStageFlagBits {
  1016. VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT = 1,
  1017. VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT = 2,
  1018. VK_PIPELINE_STAGE_VERTEX_INPUT_BIT = 4,
  1019. VK_PIPELINE_STAGE_VERTEX_SHADER_BIT = 8,
  1020. VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = 16,
  1021. VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = 32,
  1022. VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT = 64,
  1023. VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT = 128,
  1024. VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = 256,
  1025. VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = 512,
  1026. VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = 1024,
  1027. VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT = 2048,
  1028. VK_PIPELINE_STAGE_TRANSFER_BIT = 4096,
  1029. VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = 8192,
  1030. VK_PIPELINE_STAGE_HOST_BIT = 16384,
  1031. VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT = 32768,
  1032. VK_PIPELINE_STAGE_ALL_COMMANDS_BIT = 65536
  1033. } VkPipelineStageFlagBits;
  1034. typedef enum VkSparseImageFormatFlagBits {
  1035. VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 1,
  1036. VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 2,
  1037. VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 4
  1038. } VkSparseImageFormatFlagBits;
  1039. typedef enum VkSampleCountFlagBits {
  1040. VK_SAMPLE_COUNT_1_BIT = 1,
  1041. VK_SAMPLE_COUNT_2_BIT = 2,
  1042. VK_SAMPLE_COUNT_4_BIT = 4,
  1043. VK_SAMPLE_COUNT_8_BIT = 8,
  1044. VK_SAMPLE_COUNT_16_BIT = 16,
  1045. VK_SAMPLE_COUNT_32_BIT = 32,
  1046. VK_SAMPLE_COUNT_64_BIT = 64
  1047. } VkSampleCountFlagBits;
  1048. typedef enum VkAttachmentDescriptionFlagBits {
  1049. VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT = 1
  1050. } VkAttachmentDescriptionFlagBits;
  1051. typedef enum VkDescriptorPoolCreateFlagBits {
  1052. VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 1
  1053. } VkDescriptorPoolCreateFlagBits;
  1054. typedef enum VkDependencyFlagBits {
  1055. VK_DEPENDENCY_BY_REGION_BIT = 1,
  1056. VK_DEPENDENCY_DEVICE_GROUP_BIT = 4,
  1057. VK_DEPENDENCY_VIEW_LOCAL_BIT = 2
  1058. } VkDependencyFlagBits;
  1059. typedef enum VkObjectType {
  1060. VK_OBJECT_TYPE_UNKNOWN = 0,
  1061. VK_OBJECT_TYPE_INSTANCE = 1,
  1062. VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
  1063. VK_OBJECT_TYPE_DEVICE = 3,
  1064. VK_OBJECT_TYPE_QUEUE = 4,
  1065. VK_OBJECT_TYPE_SEMAPHORE = 5,
  1066. VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
  1067. VK_OBJECT_TYPE_FENCE = 7,
  1068. VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
  1069. VK_OBJECT_TYPE_BUFFER = 9,
  1070. VK_OBJECT_TYPE_IMAGE = 10,
  1071. VK_OBJECT_TYPE_EVENT = 11,
  1072. VK_OBJECT_TYPE_QUERY_POOL = 12,
  1073. VK_OBJECT_TYPE_BUFFER_VIEW = 13,
  1074. VK_OBJECT_TYPE_IMAGE_VIEW = 14,
  1075. VK_OBJECT_TYPE_SHADER_MODULE = 15,
  1076. VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
  1077. VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
  1078. VK_OBJECT_TYPE_RENDER_PASS = 18,
  1079. VK_OBJECT_TYPE_PIPELINE = 19,
  1080. VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
  1081. VK_OBJECT_TYPE_SAMPLER = 21,
  1082. VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
  1083. VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
  1084. VK_OBJECT_TYPE_FRAMEBUFFER = 24,
  1085. VK_OBJECT_TYPE_COMMAND_POOL = 25,
  1086. VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
  1087. VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
  1088. VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
  1089. VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
  1090. VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000
  1091. } VkObjectType;
  1092. typedef enum VkDescriptorUpdateTemplateType {
  1093. VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET = 0
  1094. } VkDescriptorUpdateTemplateType;
  1095. typedef enum VkPointClippingBehavior {
  1096. VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES = 0,
  1097. VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY = 1
  1098. } VkPointClippingBehavior;
  1099. typedef enum VkColorSpaceKHR {
  1100. VK_COLOR_SPACE_SRGB_NONLINEAR_KHR = 0,
  1101. VK_COLORSPACE_SRGB_NONLINEAR_KHR = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
  1102. } VkColorSpaceKHR;
  1103. typedef enum VkCompositeAlphaFlagBitsKHR {
  1104. VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR = 1,
  1105. VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR = 2,
  1106. VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = 4,
  1107. VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR = 8
  1108. } VkCompositeAlphaFlagBitsKHR;
  1109. typedef enum VkPresentModeKHR {
  1110. VK_PRESENT_MODE_IMMEDIATE_KHR = 0,
  1111. VK_PRESENT_MODE_MAILBOX_KHR = 1,
  1112. VK_PRESENT_MODE_FIFO_KHR = 2,
  1113. VK_PRESENT_MODE_FIFO_RELAXED_KHR = 3
  1114. } VkPresentModeKHR;
  1115. typedef enum VkSurfaceTransformFlagBitsKHR {
  1116. VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR = 1,
  1117. VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR = 2,
  1118. VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR = 4,
  1119. VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR = 8,
  1120. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR = 16,
  1121. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR = 32,
  1122. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR = 64,
  1123. VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR = 128,
  1124. VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR = 256
  1125. } VkSurfaceTransformFlagBitsKHR;
  1126. typedef enum VkDebugReportFlagBitsEXT {
  1127. VK_DEBUG_REPORT_INFORMATION_BIT_EXT = 1,
  1128. VK_DEBUG_REPORT_WARNING_BIT_EXT = 2,
  1129. VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT = 4,
  1130. VK_DEBUG_REPORT_ERROR_BIT_EXT = 8,
  1131. VK_DEBUG_REPORT_DEBUG_BIT_EXT = 16
  1132. } VkDebugReportFlagBitsEXT;
  1133. typedef enum VkDebugReportObjectTypeEXT {
  1134. VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT = 0,
  1135. VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT = 1,
  1136. VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT = 2,
  1137. VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT = 3,
  1138. VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT = 4,
  1139. VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT = 5,
  1140. VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT = 6,
  1141. VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT = 7,
  1142. VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT = 8,
  1143. VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT = 9,
  1144. VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT = 10,
  1145. VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT = 11,
  1146. VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT = 12,
  1147. VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT = 13,
  1148. VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT = 14,
  1149. VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT = 15,
  1150. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT = 16,
  1151. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT = 17,
  1152. VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT = 18,
  1153. VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT = 19,
  1154. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT = 20,
  1155. VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT = 21,
  1156. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT = 22,
  1157. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT = 23,
  1158. VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT = 24,
  1159. VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT = 25,
  1160. VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT = 26,
  1161. VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT = 27,
  1162. VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT = 28,
  1163. VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
  1164. VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT = 29,
  1165. VK_DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT = 30,
  1166. VK_DEBUG_REPORT_OBJECT_TYPE_OBJECT_TABLE_NVX_EXT = 31,
  1167. VK_DEBUG_REPORT_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX_EXT = 32,
  1168. VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT = 33,
  1169. VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
  1170. VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT = 1000156000,
  1171. VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT = 1000085000
  1172. } VkDebugReportObjectTypeEXT;
  1173. typedef enum VkExternalMemoryHandleTypeFlagBits {
  1174. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1175. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1176. VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1177. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT = 8,
  1178. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT = 16,
  1179. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT = 32,
  1180. VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT = 64
  1181. } VkExternalMemoryHandleTypeFlagBits;
  1182. typedef enum VkExternalMemoryFeatureFlagBits {
  1183. VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT = 1,
  1184. VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT = 2,
  1185. VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT = 4
  1186. } VkExternalMemoryFeatureFlagBits;
  1187. typedef enum VkExternalSemaphoreHandleTypeFlagBits {
  1188. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1189. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1190. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1191. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT = 8,
  1192. VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT = 16
  1193. } VkExternalSemaphoreHandleTypeFlagBits;
  1194. typedef enum VkExternalSemaphoreFeatureFlagBits {
  1195. VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT = 1,
  1196. VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT = 2
  1197. } VkExternalSemaphoreFeatureFlagBits;
  1198. typedef enum VkSemaphoreImportFlagBits {
  1199. VK_SEMAPHORE_IMPORT_TEMPORARY_BIT = 1
  1200. } VkSemaphoreImportFlagBits;
  1201. typedef enum VkExternalFenceHandleTypeFlagBits {
  1202. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT = 1,
  1203. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT = 2,
  1204. VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT = 4,
  1205. VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT = 8
  1206. } VkExternalFenceHandleTypeFlagBits;
  1207. typedef enum VkExternalFenceFeatureFlagBits {
  1208. VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT = 1,
  1209. VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT = 2
  1210. } VkExternalFenceFeatureFlagBits;
  1211. typedef enum VkFenceImportFlagBits {
  1212. VK_FENCE_IMPORT_TEMPORARY_BIT = 1
  1213. } VkFenceImportFlagBits;
  1214. typedef enum VkPeerMemoryFeatureFlagBits {
  1215. VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 1,
  1216. VK_PEER_MEMORY_FEATURE_COPY_DST_BIT = 2,
  1217. VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT = 4,
  1218. VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT = 8
  1219. } VkPeerMemoryFeatureFlagBits;
  1220. typedef enum VkMemoryAllocateFlagBits {
  1221. VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT = 1
  1222. } VkMemoryAllocateFlagBits;
  1223. typedef enum VkDeviceGroupPresentModeFlagBitsKHR {
  1224. VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR = 1,
  1225. VK_DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR = 2,
  1226. VK_DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR = 4,
  1227. VK_DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR = 8
  1228. } VkDeviceGroupPresentModeFlagBitsKHR;
  1229. typedef enum VkSwapchainCreateFlagBitsKHR {
  1230. VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 1,
  1231. VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 2
  1232. } VkSwapchainCreateFlagBitsKHR;
  1233. typedef enum VkSubgroupFeatureFlagBits {
  1234. VK_SUBGROUP_FEATURE_BASIC_BIT = 1,
  1235. VK_SUBGROUP_FEATURE_VOTE_BIT = 2,
  1236. VK_SUBGROUP_FEATURE_ARITHMETIC_BIT = 4,
  1237. VK_SUBGROUP_FEATURE_BALLOT_BIT = 8,
  1238. VK_SUBGROUP_FEATURE_SHUFFLE_BIT = 16,
  1239. VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT = 32,
  1240. VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 64,
  1241. VK_SUBGROUP_FEATURE_QUAD_BIT = 128
  1242. } VkSubgroupFeatureFlagBits;
  1243. typedef enum VkTessellationDomainOrigin {
  1244. VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT = 0,
  1245. VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT = 1
  1246. } VkTessellationDomainOrigin;
  1247. typedef enum VkSamplerYcbcrModelConversion {
  1248. VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY = 0,
  1249. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY = 1,
  1250. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 = 2,
  1251. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 = 3,
  1252. VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 = 4
  1253. } VkSamplerYcbcrModelConversion;
  1254. typedef enum VkSamplerYcbcrRange {
  1255. VK_SAMPLER_YCBCR_RANGE_ITU_FULL = 0,
  1256. VK_SAMPLER_YCBCR_RANGE_ITU_NARROW = 1
  1257. } VkSamplerYcbcrRange;
  1258. typedef enum VkChromaLocation {
  1259. VK_CHROMA_LOCATION_COSITED_EVEN = 0,
  1260. VK_CHROMA_LOCATION_MIDPOINT = 1
  1261. } VkChromaLocation;
  1262. typedef enum VkVendorId {
  1263. VK_VENDOR_ID_VIV = 0x10001,
  1264. VK_VENDOR_ID_VSI = 0x10002,
  1265. VK_VENDOR_ID_KAZAN = 0x10003
  1266. } VkVendorId;
  1267. typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
  1268. void* pUserData,
  1269. size_t size,
  1270. VkInternalAllocationType allocationType,
  1271. VkSystemAllocationScope allocationScope);
  1272. typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
  1273. void* pUserData,
  1274. size_t size,
  1275. VkInternalAllocationType allocationType,
  1276. VkSystemAllocationScope allocationScope);
  1277. typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
  1278. void* pUserData,
  1279. void* pOriginal,
  1280. size_t size,
  1281. size_t alignment,
  1282. VkSystemAllocationScope allocationScope);
  1283. typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
  1284. void* pUserData,
  1285. size_t size,
  1286. size_t alignment,
  1287. VkSystemAllocationScope allocationScope);
  1288. typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
  1289. void* pUserData,
  1290. void* pMemory);
  1291. typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
  1292. typedef struct VkBaseOutStructure {
  1293. VkStructureType sType;
  1294. struct VkBaseOutStructure * pNext;
  1295. } VkBaseOutStructure;
  1296. typedef struct VkBaseInStructure {
  1297. VkStructureType sType;
  1298. const struct VkBaseInStructure * pNext;
  1299. } VkBaseInStructure;
  1300. typedef struct VkOffset2D {
  1301. int32_t x;
  1302. int32_t y;
  1303. } VkOffset2D;
  1304. typedef struct VkOffset3D {
  1305. int32_t x;
  1306. int32_t y;
  1307. int32_t z;
  1308. } VkOffset3D;
  1309. typedef struct VkExtent2D {
  1310. uint32_t width;
  1311. uint32_t height;
  1312. } VkExtent2D;
  1313. typedef struct VkExtent3D {
  1314. uint32_t width;
  1315. uint32_t height;
  1316. uint32_t depth;
  1317. } VkExtent3D;
  1318. typedef struct VkViewport {
  1319. float x;
  1320. float y;
  1321. float width;
  1322. float height;
  1323. float minDepth;
  1324. float maxDepth;
  1325. } VkViewport;
  1326. typedef struct VkRect2D {
  1327. VkOffset2D offset;
  1328. VkExtent2D extent;
  1329. } VkRect2D;
  1330. typedef struct VkClearRect {
  1331. VkRect2D rect;
  1332. uint32_t baseArrayLayer;
  1333. uint32_t layerCount;
  1334. } VkClearRect;
  1335. typedef struct VkComponentMapping {
  1336. VkComponentSwizzle r;
  1337. VkComponentSwizzle g;
  1338. VkComponentSwizzle b;
  1339. VkComponentSwizzle a;
  1340. } VkComponentMapping;
  1341. typedef struct VkExtensionProperties {
  1342. char extensionName [ VK_MAX_EXTENSION_NAME_SIZE ];
  1343. uint32_t specVersion;
  1344. } VkExtensionProperties;
  1345. typedef struct VkLayerProperties {
  1346. char layerName [ VK_MAX_EXTENSION_NAME_SIZE ];
  1347. uint32_t specVersion;
  1348. uint32_t implementationVersion;
  1349. char description [ VK_MAX_DESCRIPTION_SIZE ];
  1350. } VkLayerProperties;
  1351. typedef struct VkApplicationInfo {
  1352. VkStructureType sType;
  1353. const void * pNext;
  1354. const char * pApplicationName;
  1355. uint32_t applicationVersion;
  1356. const char * pEngineName;
  1357. uint32_t engineVersion;
  1358. uint32_t apiVersion;
  1359. } VkApplicationInfo;
  1360. typedef struct VkAllocationCallbacks {
  1361. void * pUserData;
  1362. PFN_vkAllocationFunction pfnAllocation;
  1363. PFN_vkReallocationFunction pfnReallocation;
  1364. PFN_vkFreeFunction pfnFree;
  1365. PFN_vkInternalAllocationNotification pfnInternalAllocation;
  1366. PFN_vkInternalFreeNotification pfnInternalFree;
  1367. } VkAllocationCallbacks;
  1368. typedef struct VkDescriptorImageInfo {
  1369. VkSampler sampler;
  1370. VkImageView imageView;
  1371. VkImageLayout imageLayout;
  1372. } VkDescriptorImageInfo;
  1373. typedef struct VkCopyDescriptorSet {
  1374. VkStructureType sType;
  1375. const void * pNext;
  1376. VkDescriptorSet srcSet;
  1377. uint32_t srcBinding;
  1378. uint32_t srcArrayElement;
  1379. VkDescriptorSet dstSet;
  1380. uint32_t dstBinding;
  1381. uint32_t dstArrayElement;
  1382. uint32_t descriptorCount;
  1383. } VkCopyDescriptorSet;
  1384. typedef struct VkDescriptorPoolSize {
  1385. VkDescriptorType type;
  1386. uint32_t descriptorCount;
  1387. } VkDescriptorPoolSize;
  1388. typedef struct VkDescriptorSetAllocateInfo {
  1389. VkStructureType sType;
  1390. const void * pNext;
  1391. VkDescriptorPool descriptorPool;
  1392. uint32_t descriptorSetCount;
  1393. const VkDescriptorSetLayout * pSetLayouts;
  1394. } VkDescriptorSetAllocateInfo;
  1395. typedef struct VkSpecializationMapEntry {
  1396. uint32_t constantID;
  1397. uint32_t offset;
  1398. size_t size;
  1399. } VkSpecializationMapEntry;
  1400. typedef struct VkSpecializationInfo {
  1401. uint32_t mapEntryCount;
  1402. const VkSpecializationMapEntry * pMapEntries;
  1403. size_t dataSize;
  1404. const void * pData;
  1405. } VkSpecializationInfo;
  1406. typedef struct VkVertexInputBindingDescription {
  1407. uint32_t binding;
  1408. uint32_t stride;
  1409. VkVertexInputRate inputRate;
  1410. } VkVertexInputBindingDescription;
  1411. typedef struct VkVertexInputAttributeDescription {
  1412. uint32_t location;
  1413. uint32_t binding;
  1414. VkFormat format;
  1415. uint32_t offset;
  1416. } VkVertexInputAttributeDescription;
  1417. typedef struct VkStencilOpState {
  1418. VkStencilOp failOp;
  1419. VkStencilOp passOp;
  1420. VkStencilOp depthFailOp;
  1421. VkCompareOp compareOp;
  1422. uint32_t compareMask;
  1423. uint32_t writeMask;
  1424. uint32_t reference;
  1425. } VkStencilOpState;
  1426. typedef struct VkCommandBufferAllocateInfo {
  1427. VkStructureType sType;
  1428. const void * pNext;
  1429. VkCommandPool commandPool;
  1430. VkCommandBufferLevel level;
  1431. uint32_t commandBufferCount;
  1432. } VkCommandBufferAllocateInfo;
  1433. typedef union VkClearColorValue {
  1434. float float32 [4];
  1435. int32_t int32 [4];
  1436. uint32_t uint32 [4];
  1437. } VkClearColorValue;
  1438. typedef struct VkClearDepthStencilValue {
  1439. float depth;
  1440. uint32_t stencil;
  1441. } VkClearDepthStencilValue;
  1442. typedef union VkClearValue {
  1443. VkClearColorValue color;
  1444. VkClearDepthStencilValue depthStencil;
  1445. } VkClearValue;
  1446. typedef struct VkAttachmentReference {
  1447. uint32_t attachment;
  1448. VkImageLayout layout;
  1449. } VkAttachmentReference;
  1450. typedef struct VkDrawIndirectCommand {
  1451. uint32_t vertexCount;
  1452. uint32_t instanceCount;
  1453. uint32_t firstVertex;
  1454. uint32_t firstInstance;
  1455. } VkDrawIndirectCommand;
  1456. typedef struct VkDrawIndexedIndirectCommand {
  1457. uint32_t indexCount;
  1458. uint32_t instanceCount;
  1459. uint32_t firstIndex;
  1460. int32_t vertexOffset;
  1461. uint32_t firstInstance;
  1462. } VkDrawIndexedIndirectCommand;
  1463. typedef struct VkDispatchIndirectCommand {
  1464. uint32_t x;
  1465. uint32_t y;
  1466. uint32_t z;
  1467. } VkDispatchIndirectCommand;
  1468. typedef struct VkSurfaceFormatKHR {
  1469. VkFormat format;
  1470. VkColorSpaceKHR colorSpace;
  1471. } VkSurfaceFormatKHR;
  1472. typedef struct VkPresentInfoKHR {
  1473. VkStructureType sType;
  1474. const void * pNext;
  1475. uint32_t waitSemaphoreCount;
  1476. const VkSemaphore * pWaitSemaphores;
  1477. uint32_t swapchainCount;
  1478. const VkSwapchainKHR * pSwapchains;
  1479. const uint32_t * pImageIndices;
  1480. VkResult * pResults;
  1481. } VkPresentInfoKHR;
  1482. typedef struct VkPhysicalDeviceExternalImageFormatInfo {
  1483. VkStructureType sType;
  1484. const void * pNext;
  1485. VkExternalMemoryHandleTypeFlagBits handleType;
  1486. } VkPhysicalDeviceExternalImageFormatInfo;
  1487. typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
  1488. VkStructureType sType;
  1489. const void * pNext;
  1490. VkExternalSemaphoreHandleTypeFlagBits handleType;
  1491. } VkPhysicalDeviceExternalSemaphoreInfo;
  1492. typedef struct VkPhysicalDeviceExternalFenceInfo {
  1493. VkStructureType sType;
  1494. const void * pNext;
  1495. VkExternalFenceHandleTypeFlagBits handleType;
  1496. } VkPhysicalDeviceExternalFenceInfo;
  1497. typedef struct VkPhysicalDeviceMultiviewProperties {
  1498. VkStructureType sType;
  1499. void * pNext;
  1500. uint32_t maxMultiviewViewCount;
  1501. uint32_t maxMultiviewInstanceIndex;
  1502. } VkPhysicalDeviceMultiviewProperties;
  1503. typedef struct VkRenderPassMultiviewCreateInfo {
  1504. VkStructureType sType;
  1505. const void * pNext;
  1506. uint32_t subpassCount;
  1507. const uint32_t * pViewMasks;
  1508. uint32_t dependencyCount;
  1509. const int32_t * pViewOffsets;
  1510. uint32_t correlationMaskCount;
  1511. const uint32_t * pCorrelationMasks;
  1512. } VkRenderPassMultiviewCreateInfo;
  1513. typedef struct VkBindBufferMemoryDeviceGroupInfo {
  1514. VkStructureType sType;
  1515. const void * pNext;
  1516. uint32_t deviceIndexCount;
  1517. const uint32_t * pDeviceIndices;
  1518. } VkBindBufferMemoryDeviceGroupInfo;
  1519. typedef struct VkBindImageMemoryDeviceGroupInfo {
  1520. VkStructureType sType;
  1521. const void * pNext;
  1522. uint32_t deviceIndexCount;
  1523. const uint32_t * pDeviceIndices;
  1524. uint32_t splitInstanceBindRegionCount;
  1525. const VkRect2D * pSplitInstanceBindRegions;
  1526. } VkBindImageMemoryDeviceGroupInfo;
  1527. typedef struct VkDeviceGroupRenderPassBeginInfo {
  1528. VkStructureType sType;
  1529. const void * pNext;
  1530. uint32_t deviceMask;
  1531. uint32_t deviceRenderAreaCount;
  1532. const VkRect2D * pDeviceRenderAreas;
  1533. } VkDeviceGroupRenderPassBeginInfo;
  1534. typedef struct VkDeviceGroupCommandBufferBeginInfo {
  1535. VkStructureType sType;
  1536. const void * pNext;
  1537. uint32_t deviceMask;
  1538. } VkDeviceGroupCommandBufferBeginInfo;
  1539. typedef struct VkDeviceGroupSubmitInfo {
  1540. VkStructureType sType;
  1541. const void * pNext;
  1542. uint32_t waitSemaphoreCount;
  1543. const uint32_t * pWaitSemaphoreDeviceIndices;
  1544. uint32_t commandBufferCount;
  1545. const uint32_t * pCommandBufferDeviceMasks;
  1546. uint32_t signalSemaphoreCount;
  1547. const uint32_t * pSignalSemaphoreDeviceIndices;
  1548. } VkDeviceGroupSubmitInfo;
  1549. typedef struct VkDeviceGroupBindSparseInfo {
  1550. VkStructureType sType;
  1551. const void * pNext;
  1552. uint32_t resourceDeviceIndex;
  1553. uint32_t memoryDeviceIndex;
  1554. } VkDeviceGroupBindSparseInfo;
  1555. typedef struct VkImageSwapchainCreateInfoKHR {
  1556. VkStructureType sType;
  1557. const void * pNext;
  1558. VkSwapchainKHR swapchain;
  1559. } VkImageSwapchainCreateInfoKHR;
  1560. typedef struct VkBindImageMemorySwapchainInfoKHR {
  1561. VkStructureType sType;
  1562. const void * pNext;
  1563. VkSwapchainKHR swapchain;
  1564. uint32_t imageIndex;
  1565. } VkBindImageMemorySwapchainInfoKHR;
  1566. typedef struct VkAcquireNextImageInfoKHR {
  1567. VkStructureType sType;
  1568. const void * pNext;
  1569. VkSwapchainKHR swapchain;
  1570. uint64_t timeout;
  1571. VkSemaphore semaphore;
  1572. VkFence fence;
  1573. uint32_t deviceMask;
  1574. } VkAcquireNextImageInfoKHR;
  1575. typedef struct VkDeviceGroupPresentInfoKHR {
  1576. VkStructureType sType;
  1577. const void * pNext;
  1578. uint32_t swapchainCount;
  1579. const uint32_t * pDeviceMasks;
  1580. VkDeviceGroupPresentModeFlagBitsKHR mode;
  1581. } VkDeviceGroupPresentInfoKHR;
  1582. typedef struct VkDeviceGroupDeviceCreateInfo {
  1583. VkStructureType sType;
  1584. const void * pNext;
  1585. uint32_t physicalDeviceCount;
  1586. const VkPhysicalDevice * pPhysicalDevices;
  1587. } VkDeviceGroupDeviceCreateInfo;
  1588. typedef struct VkDescriptorUpdateTemplateEntry {
  1589. uint32_t dstBinding;
  1590. uint32_t dstArrayElement;
  1591. uint32_t descriptorCount;
  1592. VkDescriptorType descriptorType;
  1593. size_t offset;
  1594. size_t stride;
  1595. } VkDescriptorUpdateTemplateEntry;
  1596. typedef struct VkBufferMemoryRequirementsInfo2 {
  1597. VkStructureType sType;
  1598. const void * pNext;
  1599. VkBuffer buffer;
  1600. } VkBufferMemoryRequirementsInfo2;
  1601. typedef struct VkImageMemoryRequirementsInfo2 {
  1602. VkStructureType sType;
  1603. const void * pNext;
  1604. VkImage image;
  1605. } VkImageMemoryRequirementsInfo2;
  1606. typedef struct VkImageSparseMemoryRequirementsInfo2 {
  1607. VkStructureType sType;
  1608. const void * pNext;
  1609. VkImage image;
  1610. } VkImageSparseMemoryRequirementsInfo2;
  1611. typedef struct VkPhysicalDevicePointClippingProperties {
  1612. VkStructureType sType;
  1613. void * pNext;
  1614. VkPointClippingBehavior pointClippingBehavior;
  1615. } VkPhysicalDevicePointClippingProperties;
  1616. typedef struct VkMemoryDedicatedAllocateInfo {
  1617. VkStructureType sType;
  1618. const void * pNext;
  1619. VkImage image;
  1620. VkBuffer buffer;
  1621. } VkMemoryDedicatedAllocateInfo;
  1622. typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
  1623. VkStructureType sType;
  1624. const void * pNext;
  1625. VkTessellationDomainOrigin domainOrigin;
  1626. } VkPipelineTessellationDomainOriginStateCreateInfo;
  1627. typedef struct VkSamplerYcbcrConversionInfo {
  1628. VkStructureType sType;
  1629. const void * pNext;
  1630. VkSamplerYcbcrConversion conversion;
  1631. } VkSamplerYcbcrConversionInfo;
  1632. typedef struct VkBindImagePlaneMemoryInfo {
  1633. VkStructureType sType;
  1634. const void * pNext;
  1635. VkImageAspectFlagBits planeAspect;
  1636. } VkBindImagePlaneMemoryInfo;
  1637. typedef struct VkImagePlaneMemoryRequirementsInfo {
  1638. VkStructureType sType;
  1639. const void * pNext;
  1640. VkImageAspectFlagBits planeAspect;
  1641. } VkImagePlaneMemoryRequirementsInfo;
  1642. typedef struct VkSamplerYcbcrConversionImageFormatProperties {
  1643. VkStructureType sType;
  1644. void * pNext;
  1645. uint32_t combinedImageSamplerDescriptorCount;
  1646. } VkSamplerYcbcrConversionImageFormatProperties;
  1647. typedef uint32_t VkSampleMask;
  1648. typedef uint32_t VkBool32;
  1649. typedef uint32_t VkFlags;
  1650. typedef uint64_t VkDeviceSize;
  1651. typedef VkFlags VkFramebufferCreateFlags;
  1652. typedef VkFlags VkQueryPoolCreateFlags;
  1653. typedef VkFlags VkRenderPassCreateFlags;
  1654. typedef VkFlags VkSamplerCreateFlags;
  1655. typedef VkFlags VkPipelineLayoutCreateFlags;
  1656. typedef VkFlags VkPipelineCacheCreateFlags;
  1657. typedef VkFlags VkPipelineDepthStencilStateCreateFlags;
  1658. typedef VkFlags VkPipelineDynamicStateCreateFlags;
  1659. typedef VkFlags VkPipelineColorBlendStateCreateFlags;
  1660. typedef VkFlags VkPipelineMultisampleStateCreateFlags;
  1661. typedef VkFlags VkPipelineRasterizationStateCreateFlags;
  1662. typedef VkFlags VkPipelineViewportStateCreateFlags;
  1663. typedef VkFlags VkPipelineTessellationStateCreateFlags;
  1664. typedef VkFlags VkPipelineInputAssemblyStateCreateFlags;
  1665. typedef VkFlags VkPipelineVertexInputStateCreateFlags;
  1666. typedef VkFlags VkPipelineShaderStageCreateFlags;
  1667. typedef VkFlags VkDescriptorSetLayoutCreateFlags;
  1668. typedef VkFlags VkBufferViewCreateFlags;
  1669. typedef VkFlags VkInstanceCreateFlags;
  1670. typedef VkFlags VkDeviceCreateFlags;
  1671. typedef VkFlags VkDeviceQueueCreateFlags;
  1672. typedef VkFlags VkQueueFlags;
  1673. typedef VkFlags VkMemoryPropertyFlags;
  1674. typedef VkFlags VkMemoryHeapFlags;
  1675. typedef VkFlags VkAccessFlags;
  1676. typedef VkFlags VkBufferUsageFlags;
  1677. typedef VkFlags VkBufferCreateFlags;
  1678. typedef VkFlags VkShaderStageFlags;
  1679. typedef VkFlags VkImageUsageFlags;
  1680. typedef VkFlags VkImageCreateFlags;
  1681. typedef VkFlags VkImageViewCreateFlags;
  1682. typedef VkFlags VkPipelineCreateFlags;
  1683. typedef VkFlags VkColorComponentFlags;
  1684. typedef VkFlags VkFenceCreateFlags;
  1685. typedef VkFlags VkSemaphoreCreateFlags;
  1686. typedef VkFlags VkFormatFeatureFlags;
  1687. typedef VkFlags VkQueryControlFlags;
  1688. typedef VkFlags VkQueryResultFlags;
  1689. typedef VkFlags VkShaderModuleCreateFlags;
  1690. typedef VkFlags VkEventCreateFlags;
  1691. typedef VkFlags VkCommandPoolCreateFlags;
  1692. typedef VkFlags VkCommandPoolResetFlags;
  1693. typedef VkFlags VkCommandBufferResetFlags;
  1694. typedef VkFlags VkCommandBufferUsageFlags;
  1695. typedef VkFlags VkQueryPipelineStatisticFlags;
  1696. typedef VkFlags VkMemoryMapFlags;
  1697. typedef VkFlags VkImageAspectFlags;
  1698. typedef VkFlags VkSparseMemoryBindFlags;
  1699. typedef VkFlags VkSparseImageFormatFlags;
  1700. typedef VkFlags VkSubpassDescriptionFlags;
  1701. typedef VkFlags VkPipelineStageFlags;
  1702. typedef VkFlags VkSampleCountFlags;
  1703. typedef VkFlags VkAttachmentDescriptionFlags;
  1704. typedef VkFlags VkStencilFaceFlags;
  1705. typedef VkFlags VkCullModeFlags;
  1706. typedef VkFlags VkDescriptorPoolCreateFlags;
  1707. typedef VkFlags VkDescriptorPoolResetFlags;
  1708. typedef VkFlags VkDependencyFlags;
  1709. typedef VkFlags VkSubgroupFeatureFlags;
  1710. typedef VkFlags VkDescriptorUpdateTemplateCreateFlags;
  1711. typedef VkFlags VkCompositeAlphaFlagsKHR;
  1712. typedef VkFlags VkSurfaceTransformFlagsKHR;
  1713. typedef VkFlags VkSwapchainCreateFlagsKHR;
  1714. typedef VkFlags VkPeerMemoryFeatureFlags;
  1715. typedef VkFlags VkMemoryAllocateFlags;
  1716. typedef VkFlags VkDeviceGroupPresentModeFlagsKHR;
  1717. typedef VkFlags VkDebugReportFlagsEXT;
  1718. typedef VkFlags VkCommandPoolTrimFlags;
  1719. typedef VkFlags VkExternalMemoryHandleTypeFlags;
  1720. typedef VkFlags VkExternalMemoryFeatureFlags;
  1721. typedef VkFlags VkExternalSemaphoreHandleTypeFlags;
  1722. typedef VkFlags VkExternalSemaphoreFeatureFlags;
  1723. typedef VkFlags VkSemaphoreImportFlags;
  1724. typedef VkFlags VkExternalFenceHandleTypeFlags;
  1725. typedef VkFlags VkExternalFenceFeatureFlags;
  1726. typedef VkFlags VkFenceImportFlags;
  1727. typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
  1728. VkDebugReportFlagsEXT flags,
  1729. VkDebugReportObjectTypeEXT objectType,
  1730. uint64_t object,
  1731. size_t location,
  1732. int32_t messageCode,
  1733. const char* pLayerPrefix,
  1734. const char* pMessage,
  1735. void* pUserData);
  1736. typedef struct VkDeviceQueueCreateInfo {
  1737. VkStructureType sType;
  1738. const void * pNext;
  1739. VkDeviceQueueCreateFlags flags;
  1740. uint32_t queueFamilyIndex;
  1741. uint32_t queueCount;
  1742. const float * pQueuePriorities;
  1743. } VkDeviceQueueCreateInfo;
  1744. typedef struct VkInstanceCreateInfo {
  1745. VkStructureType sType;
  1746. const void * pNext;
  1747. VkInstanceCreateFlags flags;
  1748. const VkApplicationInfo * pApplicationInfo;
  1749. uint32_t enabledLayerCount;
  1750. const char * const* ppEnabledLayerNames;
  1751. uint32_t enabledExtensionCount;
  1752. const char * const* ppEnabledExtensionNames;
  1753. } VkInstanceCreateInfo;
  1754. typedef struct VkQueueFamilyProperties {
  1755. VkQueueFlags queueFlags;
  1756. uint32_t queueCount;
  1757. uint32_t timestampValidBits;
  1758. VkExtent3D minImageTransferGranularity;
  1759. } VkQueueFamilyProperties;
  1760. typedef struct VkMemoryAllocateInfo {
  1761. VkStructureType sType;
  1762. const void * pNext;
  1763. VkDeviceSize allocationSize;
  1764. uint32_t memoryTypeIndex;
  1765. } VkMemoryAllocateInfo;
  1766. typedef struct VkMemoryRequirements {
  1767. VkDeviceSize size;
  1768. VkDeviceSize alignment;
  1769. uint32_t memoryTypeBits;
  1770. } VkMemoryRequirements;
  1771. typedef struct VkSparseImageFormatProperties {
  1772. VkImageAspectFlags aspectMask;
  1773. VkExtent3D imageGranularity;
  1774. VkSparseImageFormatFlags flags;
  1775. } VkSparseImageFormatProperties;
  1776. typedef struct VkSparseImageMemoryRequirements {
  1777. VkSparseImageFormatProperties formatProperties;
  1778. uint32_t imageMipTailFirstLod;
  1779. VkDeviceSize imageMipTailSize;
  1780. VkDeviceSize imageMipTailOffset;
  1781. VkDeviceSize imageMipTailStride;
  1782. } VkSparseImageMemoryRequirements;
  1783. typedef struct VkMemoryType {
  1784. VkMemoryPropertyFlags propertyFlags;
  1785. uint32_t heapIndex;
  1786. } VkMemoryType;
  1787. typedef struct VkMemoryHeap {
  1788. VkDeviceSize size;
  1789. VkMemoryHeapFlags flags;
  1790. } VkMemoryHeap;
  1791. typedef struct VkMappedMemoryRange {
  1792. VkStructureType sType;
  1793. const void * pNext;
  1794. VkDeviceMemory memory;
  1795. VkDeviceSize offset;
  1796. VkDeviceSize size;
  1797. } VkMappedMemoryRange;
  1798. typedef struct VkFormatProperties {
  1799. VkFormatFeatureFlags linearTilingFeatures;
  1800. VkFormatFeatureFlags optimalTilingFeatures;
  1801. VkFormatFeatureFlags bufferFeatures;
  1802. } VkFormatProperties;
  1803. typedef struct VkImageFormatProperties {
  1804. VkExtent3D maxExtent;
  1805. uint32_t maxMipLevels;
  1806. uint32_t maxArrayLayers;
  1807. VkSampleCountFlags sampleCounts;
  1808. VkDeviceSize maxResourceSize;
  1809. } VkImageFormatProperties;
  1810. typedef struct VkDescriptorBufferInfo {
  1811. VkBuffer buffer;
  1812. VkDeviceSize offset;
  1813. VkDeviceSize range;
  1814. } VkDescriptorBufferInfo;
  1815. typedef struct VkWriteDescriptorSet {
  1816. VkStructureType sType;
  1817. const void * pNext;
  1818. VkDescriptorSet dstSet;
  1819. uint32_t dstBinding;
  1820. uint32_t dstArrayElement;
  1821. uint32_t descriptorCount;
  1822. VkDescriptorType descriptorType;
  1823. const VkDescriptorImageInfo * pImageInfo;
  1824. const VkDescriptorBufferInfo * pBufferInfo;
  1825. const VkBufferView * pTexelBufferView;
  1826. } VkWriteDescriptorSet;
  1827. typedef struct VkBufferCreateInfo {
  1828. VkStructureType sType;
  1829. const void * pNext;
  1830. VkBufferCreateFlags flags;
  1831. VkDeviceSize size;
  1832. VkBufferUsageFlags usage;
  1833. VkSharingMode sharingMode;
  1834. uint32_t queueFamilyIndexCount;
  1835. const uint32_t * pQueueFamilyIndices;
  1836. } VkBufferCreateInfo;
  1837. typedef struct VkBufferViewCreateInfo {
  1838. VkStructureType sType;
  1839. const void * pNext;
  1840. VkBufferViewCreateFlags flags;
  1841. VkBuffer buffer;
  1842. VkFormat format;
  1843. VkDeviceSize offset;
  1844. VkDeviceSize range;
  1845. } VkBufferViewCreateInfo;
  1846. typedef struct VkImageSubresource {
  1847. VkImageAspectFlags aspectMask;
  1848. uint32_t mipLevel;
  1849. uint32_t arrayLayer;
  1850. } VkImageSubresource;
  1851. typedef struct VkImageSubresourceLayers {
  1852. VkImageAspectFlags aspectMask;
  1853. uint32_t mipLevel;
  1854. uint32_t baseArrayLayer;
  1855. uint32_t layerCount;
  1856. } VkImageSubresourceLayers;
  1857. typedef struct VkImageSubresourceRange {
  1858. VkImageAspectFlags aspectMask;
  1859. uint32_t baseMipLevel;
  1860. uint32_t levelCount;
  1861. uint32_t baseArrayLayer;
  1862. uint32_t layerCount;
  1863. } VkImageSubresourceRange;
  1864. typedef struct VkMemoryBarrier {
  1865. VkStructureType sType;
  1866. const void * pNext;
  1867. VkAccessFlags srcAccessMask;
  1868. VkAccessFlags dstAccessMask;
  1869. } VkMemoryBarrier;
  1870. typedef struct VkBufferMemoryBarrier {
  1871. VkStructureType sType;
  1872. const void * pNext;
  1873. VkAccessFlags srcAccessMask;
  1874. VkAccessFlags dstAccessMask;
  1875. uint32_t srcQueueFamilyIndex;
  1876. uint32_t dstQueueFamilyIndex;
  1877. VkBuffer buffer;
  1878. VkDeviceSize offset;
  1879. VkDeviceSize size;
  1880. } VkBufferMemoryBarrier;
  1881. typedef struct VkImageMemoryBarrier {
  1882. VkStructureType sType;
  1883. const void * pNext;
  1884. VkAccessFlags srcAccessMask;
  1885. VkAccessFlags dstAccessMask;
  1886. VkImageLayout oldLayout;
  1887. VkImageLayout newLayout;
  1888. uint32_t srcQueueFamilyIndex;
  1889. uint32_t dstQueueFamilyIndex;
  1890. VkImage image;
  1891. VkImageSubresourceRange subresourceRange;
  1892. } VkImageMemoryBarrier;
  1893. typedef struct VkImageCreateInfo {
  1894. VkStructureType sType;
  1895. const void * pNext;
  1896. VkImageCreateFlags flags;
  1897. VkImageType imageType;
  1898. VkFormat format;
  1899. VkExtent3D extent;
  1900. uint32_t mipLevels;
  1901. uint32_t arrayLayers;
  1902. VkSampleCountFlagBits samples;
  1903. VkImageTiling tiling;
  1904. VkImageUsageFlags usage;
  1905. VkSharingMode sharingMode;
  1906. uint32_t queueFamilyIndexCount;
  1907. const uint32_t * pQueueFamilyIndices;
  1908. VkImageLayout initialLayout;
  1909. } VkImageCreateInfo;
  1910. typedef struct VkSubresourceLayout {
  1911. VkDeviceSize offset;
  1912. VkDeviceSize size;
  1913. VkDeviceSize rowPitch;
  1914. VkDeviceSize arrayPitch;
  1915. VkDeviceSize depthPitch;
  1916. } VkSubresourceLayout;
  1917. typedef struct VkImageViewCreateInfo {
  1918. VkStructureType sType;
  1919. const void * pNext;
  1920. VkImageViewCreateFlags flags;
  1921. VkImage image;
  1922. VkImageViewType viewType;
  1923. VkFormat format;
  1924. VkComponentMapping components;
  1925. VkImageSubresourceRange subresourceRange;
  1926. } VkImageViewCreateInfo;
  1927. typedef struct VkBufferCopy {
  1928. VkDeviceSize srcOffset;
  1929. VkDeviceSize dstOffset;
  1930. VkDeviceSize size;
  1931. } VkBufferCopy;
  1932. typedef struct VkSparseMemoryBind {
  1933. VkDeviceSize resourceOffset;
  1934. VkDeviceSize size;
  1935. VkDeviceMemory memory;
  1936. VkDeviceSize memoryOffset;
  1937. VkSparseMemoryBindFlags flags;
  1938. } VkSparseMemoryBind;
  1939. typedef struct VkSparseImageMemoryBind {
  1940. VkImageSubresource subresource;
  1941. VkOffset3D offset;
  1942. VkExtent3D extent;
  1943. VkDeviceMemory memory;
  1944. VkDeviceSize memoryOffset;
  1945. VkSparseMemoryBindFlags flags;
  1946. } VkSparseImageMemoryBind;
  1947. typedef struct VkSparseBufferMemoryBindInfo {
  1948. VkBuffer buffer;
  1949. uint32_t bindCount;
  1950. const VkSparseMemoryBind * pBinds;
  1951. } VkSparseBufferMemoryBindInfo;
  1952. typedef struct VkSparseImageOpaqueMemoryBindInfo {
  1953. VkImage image;
  1954. uint32_t bindCount;
  1955. const VkSparseMemoryBind * pBinds;
  1956. } VkSparseImageOpaqueMemoryBindInfo;
  1957. typedef struct VkSparseImageMemoryBindInfo {
  1958. VkImage image;
  1959. uint32_t bindCount;
  1960. const VkSparseImageMemoryBind * pBinds;
  1961. } VkSparseImageMemoryBindInfo;
  1962. typedef struct VkBindSparseInfo {
  1963. VkStructureType sType;
  1964. const void * pNext;
  1965. uint32_t waitSemaphoreCount;
  1966. const VkSemaphore * pWaitSemaphores;
  1967. uint32_t bufferBindCount;
  1968. const VkSparseBufferMemoryBindInfo * pBufferBinds;
  1969. uint32_t imageOpaqueBindCount;
  1970. const VkSparseImageOpaqueMemoryBindInfo * pImageOpaqueBinds;
  1971. uint32_t imageBindCount;
  1972. const VkSparseImageMemoryBindInfo * pImageBinds;
  1973. uint32_t signalSemaphoreCount;
  1974. const VkSemaphore * pSignalSemaphores;
  1975. } VkBindSparseInfo;
  1976. typedef struct VkImageCopy {
  1977. VkImageSubresourceLayers srcSubresource;
  1978. VkOffset3D srcOffset;
  1979. VkImageSubresourceLayers dstSubresource;
  1980. VkOffset3D dstOffset;
  1981. VkExtent3D extent;
  1982. } VkImageCopy;
  1983. typedef struct VkImageBlit {
  1984. VkImageSubresourceLayers srcSubresource;
  1985. VkOffset3D srcOffsets [2];
  1986. VkImageSubresourceLayers dstSubresource;
  1987. VkOffset3D dstOffsets [2];
  1988. } VkImageBlit;
  1989. typedef struct VkBufferImageCopy {
  1990. VkDeviceSize bufferOffset;
  1991. uint32_t bufferRowLength;
  1992. uint32_t bufferImageHeight;
  1993. VkImageSubresourceLayers imageSubresource;
  1994. VkOffset3D imageOffset;
  1995. VkExtent3D imageExtent;
  1996. } VkBufferImageCopy;
  1997. typedef struct VkImageResolve {
  1998. VkImageSubresourceLayers srcSubresource;
  1999. VkOffset3D srcOffset;
  2000. VkImageSubresourceLayers dstSubresource;
  2001. VkOffset3D dstOffset;
  2002. VkExtent3D extent;
  2003. } VkImageResolve;
  2004. typedef struct VkShaderModuleCreateInfo {
  2005. VkStructureType sType;
  2006. const void * pNext;
  2007. VkShaderModuleCreateFlags flags;
  2008. size_t codeSize;
  2009. const uint32_t * pCode;
  2010. } VkShaderModuleCreateInfo;
  2011. typedef struct VkDescriptorSetLayoutBinding {
  2012. uint32_t binding;
  2013. VkDescriptorType descriptorType;
  2014. uint32_t descriptorCount;
  2015. VkShaderStageFlags stageFlags;
  2016. const VkSampler * pImmutableSamplers;
  2017. } VkDescriptorSetLayoutBinding;
  2018. typedef struct VkDescriptorSetLayoutCreateInfo {
  2019. VkStructureType sType;
  2020. const void * pNext;
  2021. VkDescriptorSetLayoutCreateFlags flags;
  2022. uint32_t bindingCount;
  2023. const VkDescriptorSetLayoutBinding * pBindings;
  2024. } VkDescriptorSetLayoutCreateInfo;
  2025. typedef struct VkDescriptorPoolCreateInfo {
  2026. VkStructureType sType;
  2027. const void * pNext;
  2028. VkDescriptorPoolCreateFlags flags;
  2029. uint32_t maxSets;
  2030. uint32_t poolSizeCount;
  2031. const VkDescriptorPoolSize * pPoolSizes;
  2032. } VkDescriptorPoolCreateInfo;
  2033. typedef struct VkPipelineShaderStageCreateInfo {
  2034. VkStructureType sType;
  2035. const void * pNext;
  2036. VkPipelineShaderStageCreateFlags flags;
  2037. VkShaderStageFlagBits stage;
  2038. VkShaderModule module;
  2039. const char * pName;
  2040. const VkSpecializationInfo * pSpecializationInfo;
  2041. } VkPipelineShaderStageCreateInfo;
  2042. typedef struct VkComputePipelineCreateInfo {
  2043. VkStructureType sType;
  2044. const void * pNext;
  2045. VkPipelineCreateFlags flags;
  2046. VkPipelineShaderStageCreateInfo stage;
  2047. VkPipelineLayout layout;
  2048. VkPipeline basePipelineHandle;
  2049. int32_t basePipelineIndex;
  2050. } VkComputePipelineCreateInfo;
  2051. typedef struct VkPipelineVertexInputStateCreateInfo {
  2052. VkStructureType sType;
  2053. const void * pNext;
  2054. VkPipelineVertexInputStateCreateFlags flags;
  2055. uint32_t vertexBindingDescriptionCount;
  2056. const VkVertexInputBindingDescription * pVertexBindingDescriptions;
  2057. uint32_t vertexAttributeDescriptionCount;
  2058. const VkVertexInputAttributeDescription * pVertexAttributeDescriptions;
  2059. } VkPipelineVertexInputStateCreateInfo;
  2060. typedef struct VkPipelineInputAssemblyStateCreateInfo {
  2061. VkStructureType sType;
  2062. const void * pNext;
  2063. VkPipelineInputAssemblyStateCreateFlags flags;
  2064. VkPrimitiveTopology topology;
  2065. VkBool32 primitiveRestartEnable;
  2066. } VkPipelineInputAssemblyStateCreateInfo;
  2067. typedef struct VkPipelineTessellationStateCreateInfo {
  2068. VkStructureType sType;
  2069. const void * pNext;
  2070. VkPipelineTessellationStateCreateFlags flags;
  2071. uint32_t patchControlPoints;
  2072. } VkPipelineTessellationStateCreateInfo;
  2073. typedef struct VkPipelineViewportStateCreateInfo {
  2074. VkStructureType sType;
  2075. const void * pNext;
  2076. VkPipelineViewportStateCreateFlags flags;
  2077. uint32_t viewportCount;
  2078. const VkViewport * pViewports;
  2079. uint32_t scissorCount;
  2080. const VkRect2D * pScissors;
  2081. } VkPipelineViewportStateCreateInfo;
  2082. typedef struct VkPipelineRasterizationStateCreateInfo {
  2083. VkStructureType sType;
  2084. const void * pNext;
  2085. VkPipelineRasterizationStateCreateFlags flags;
  2086. VkBool32 depthClampEnable;
  2087. VkBool32 rasterizerDiscardEnable;
  2088. VkPolygonMode polygonMode;
  2089. VkCullModeFlags cullMode;
  2090. VkFrontFace frontFace;
  2091. VkBool32 depthBiasEnable;
  2092. float depthBiasConstantFactor;
  2093. float depthBiasClamp;
  2094. float depthBiasSlopeFactor;
  2095. float lineWidth;
  2096. } VkPipelineRasterizationStateCreateInfo;
  2097. typedef struct VkPipelineMultisampleStateCreateInfo {
  2098. VkStructureType sType;
  2099. const void * pNext;
  2100. VkPipelineMultisampleStateCreateFlags flags;
  2101. VkSampleCountFlagBits rasterizationSamples;
  2102. VkBool32 sampleShadingEnable;
  2103. float minSampleShading;
  2104. const VkSampleMask * pSampleMask;
  2105. VkBool32 alphaToCoverageEnable;
  2106. VkBool32 alphaToOneEnable;
  2107. } VkPipelineMultisampleStateCreateInfo;
  2108. typedef struct VkPipelineColorBlendAttachmentState {
  2109. VkBool32 blendEnable;
  2110. VkBlendFactor srcColorBlendFactor;
  2111. VkBlendFactor dstColorBlendFactor;
  2112. VkBlendOp colorBlendOp;
  2113. VkBlendFactor srcAlphaBlendFactor;
  2114. VkBlendFactor dstAlphaBlendFactor;
  2115. VkBlendOp alphaBlendOp;
  2116. VkColorComponentFlags colorWriteMask;
  2117. } VkPipelineColorBlendAttachmentState;
  2118. typedef struct VkPipelineColorBlendStateCreateInfo {
  2119. VkStructureType sType;
  2120. const void * pNext;
  2121. VkPipelineColorBlendStateCreateFlags flags;
  2122. VkBool32 logicOpEnable;
  2123. VkLogicOp logicOp;
  2124. uint32_t attachmentCount;
  2125. const VkPipelineColorBlendAttachmentState * pAttachments;
  2126. float blendConstants [4];
  2127. } VkPipelineColorBlendStateCreateInfo;
  2128. typedef struct VkPipelineDynamicStateCreateInfo {
  2129. VkStructureType sType;
  2130. const void * pNext;
  2131. VkPipelineDynamicStateCreateFlags flags;
  2132. uint32_t dynamicStateCount;
  2133. const VkDynamicState * pDynamicStates;
  2134. } VkPipelineDynamicStateCreateInfo;
  2135. typedef struct VkPipelineDepthStencilStateCreateInfo {
  2136. VkStructureType sType;
  2137. const void * pNext;
  2138. VkPipelineDepthStencilStateCreateFlags flags;
  2139. VkBool32 depthTestEnable;
  2140. VkBool32 depthWriteEnable;
  2141. VkCompareOp depthCompareOp;
  2142. VkBool32 depthBoundsTestEnable;
  2143. VkBool32 stencilTestEnable;
  2144. VkStencilOpState front;
  2145. VkStencilOpState back;
  2146. float minDepthBounds;
  2147. float maxDepthBounds;
  2148. } VkPipelineDepthStencilStateCreateInfo;
  2149. typedef struct VkGraphicsPipelineCreateInfo {
  2150. VkStructureType sType;
  2151. const void * pNext;
  2152. VkPipelineCreateFlags flags;
  2153. uint32_t stageCount;
  2154. const VkPipelineShaderStageCreateInfo * pStages;
  2155. const VkPipelineVertexInputStateCreateInfo * pVertexInputState;
  2156. const VkPipelineInputAssemblyStateCreateInfo * pInputAssemblyState;
  2157. const VkPipelineTessellationStateCreateInfo * pTessellationState;
  2158. const VkPipelineViewportStateCreateInfo * pViewportState;
  2159. const VkPipelineRasterizationStateCreateInfo * pRasterizationState;
  2160. const VkPipelineMultisampleStateCreateInfo * pMultisampleState;
  2161. const VkPipelineDepthStencilStateCreateInfo * pDepthStencilState;
  2162. const VkPipelineColorBlendStateCreateInfo * pColorBlendState;
  2163. const VkPipelineDynamicStateCreateInfo * pDynamicState;
  2164. VkPipelineLayout layout;
  2165. VkRenderPass renderPass;
  2166. uint32_t subpass;
  2167. VkPipeline basePipelineHandle;
  2168. int32_t basePipelineIndex;
  2169. } VkGraphicsPipelineCreateInfo;
  2170. typedef struct VkPipelineCacheCreateInfo {
  2171. VkStructureType sType;
  2172. const void * pNext;
  2173. VkPipelineCacheCreateFlags flags;
  2174. size_t initialDataSize;
  2175. const void * pInitialData;
  2176. } VkPipelineCacheCreateInfo;
  2177. typedef struct VkPushConstantRange {
  2178. VkShaderStageFlags stageFlags;
  2179. uint32_t offset;
  2180. uint32_t size;
  2181. } VkPushConstantRange;
  2182. typedef struct VkPipelineLayoutCreateInfo {
  2183. VkStructureType sType;
  2184. const void * pNext;
  2185. VkPipelineLayoutCreateFlags flags;
  2186. uint32_t setLayoutCount;
  2187. const VkDescriptorSetLayout * pSetLayouts;
  2188. uint32_t pushConstantRangeCount;
  2189. const VkPushConstantRange * pPushConstantRanges;
  2190. } VkPipelineLayoutCreateInfo;
  2191. typedef struct VkSamplerCreateInfo {
  2192. VkStructureType sType;
  2193. const void * pNext;
  2194. VkSamplerCreateFlags flags;
  2195. VkFilter magFilter;
  2196. VkFilter minFilter;
  2197. VkSamplerMipmapMode mipmapMode;
  2198. VkSamplerAddressMode addressModeU;
  2199. VkSamplerAddressMode addressModeV;
  2200. VkSamplerAddressMode addressModeW;
  2201. float mipLodBias;
  2202. VkBool32 anisotropyEnable;
  2203. float maxAnisotropy;
  2204. VkBool32 compareEnable;
  2205. VkCompareOp compareOp;
  2206. float minLod;
  2207. float maxLod;
  2208. VkBorderColor borderColor;
  2209. VkBool32 unnormalizedCoordinates;
  2210. } VkSamplerCreateInfo;
  2211. typedef struct VkCommandPoolCreateInfo {
  2212. VkStructureType sType;
  2213. const void * pNext;
  2214. VkCommandPoolCreateFlags flags;
  2215. uint32_t queueFamilyIndex;
  2216. } VkCommandPoolCreateInfo;
  2217. typedef struct VkCommandBufferInheritanceInfo {
  2218. VkStructureType sType;
  2219. const void * pNext;
  2220. VkRenderPass renderPass;
  2221. uint32_t subpass;
  2222. VkFramebuffer framebuffer;
  2223. VkBool32 occlusionQueryEnable;
  2224. VkQueryControlFlags queryFlags;
  2225. VkQueryPipelineStatisticFlags pipelineStatistics;
  2226. } VkCommandBufferInheritanceInfo;
  2227. typedef struct VkCommandBufferBeginInfo {
  2228. VkStructureType sType;
  2229. const void * pNext;
  2230. VkCommandBufferUsageFlags flags;
  2231. const VkCommandBufferInheritanceInfo * pInheritanceInfo;
  2232. } VkCommandBufferBeginInfo;
  2233. typedef struct VkRenderPassBeginInfo {
  2234. VkStructureType sType;
  2235. const void * pNext;
  2236. VkRenderPass renderPass;
  2237. VkFramebuffer framebuffer;
  2238. VkRect2D renderArea;
  2239. uint32_t clearValueCount;
  2240. const VkClearValue * pClearValues;
  2241. } VkRenderPassBeginInfo;
  2242. typedef struct VkClearAttachment {
  2243. VkImageAspectFlags aspectMask;
  2244. uint32_t colorAttachment;
  2245. VkClearValue clearValue;
  2246. } VkClearAttachment;
  2247. typedef struct VkAttachmentDescription {
  2248. VkAttachmentDescriptionFlags flags;
  2249. VkFormat format;
  2250. VkSampleCountFlagBits samples;
  2251. VkAttachmentLoadOp loadOp;
  2252. VkAttachmentStoreOp storeOp;
  2253. VkAttachmentLoadOp stencilLoadOp;
  2254. VkAttachmentStoreOp stencilStoreOp;
  2255. VkImageLayout initialLayout;
  2256. VkImageLayout finalLayout;
  2257. } VkAttachmentDescription;
  2258. typedef struct VkSubpassDescription {
  2259. VkSubpassDescriptionFlags flags;
  2260. VkPipelineBindPoint pipelineBindPoint;
  2261. uint32_t inputAttachmentCount;
  2262. const VkAttachmentReference * pInputAttachments;
  2263. uint32_t colorAttachmentCount;
  2264. const VkAttachmentReference * pColorAttachments;
  2265. const VkAttachmentReference * pResolveAttachments;
  2266. const VkAttachmentReference * pDepthStencilAttachment;
  2267. uint32_t preserveAttachmentCount;
  2268. const uint32_t * pPreserveAttachments;
  2269. } VkSubpassDescription;
  2270. typedef struct VkSubpassDependency {
  2271. uint32_t srcSubpass;
  2272. uint32_t dstSubpass;
  2273. VkPipelineStageFlags srcStageMask;
  2274. VkPipelineStageFlags dstStageMask;
  2275. VkAccessFlags srcAccessMask;
  2276. VkAccessFlags dstAccessMask;
  2277. VkDependencyFlags dependencyFlags;
  2278. } VkSubpassDependency;
  2279. typedef struct VkRenderPassCreateInfo {
  2280. VkStructureType sType;
  2281. const void * pNext;
  2282. VkRenderPassCreateFlags flags;
  2283. uint32_t attachmentCount;
  2284. const VkAttachmentDescription * pAttachments;
  2285. uint32_t subpassCount;
  2286. const VkSubpassDescription * pSubpasses;
  2287. uint32_t dependencyCount;
  2288. const VkSubpassDependency * pDependencies;
  2289. } VkRenderPassCreateInfo;
  2290. typedef struct VkEventCreateInfo {
  2291. VkStructureType sType;
  2292. const void * pNext;
  2293. VkEventCreateFlags flags;
  2294. } VkEventCreateInfo;
  2295. typedef struct VkFenceCreateInfo {
  2296. VkStructureType sType;
  2297. const void * pNext;
  2298. VkFenceCreateFlags flags;
  2299. } VkFenceCreateInfo;
  2300. typedef struct VkPhysicalDeviceFeatures {
  2301. VkBool32 robustBufferAccess;
  2302. VkBool32 fullDrawIndexUint32;
  2303. VkBool32 imageCubeArray;
  2304. VkBool32 independentBlend;
  2305. VkBool32 geometryShader;
  2306. VkBool32 tessellationShader;
  2307. VkBool32 sampleRateShading;
  2308. VkBool32 dualSrcBlend;
  2309. VkBool32 logicOp;
  2310. VkBool32 multiDrawIndirect;
  2311. VkBool32 drawIndirectFirstInstance;
  2312. VkBool32 depthClamp;
  2313. VkBool32 depthBiasClamp;
  2314. VkBool32 fillModeNonSolid;
  2315. VkBool32 depthBounds;
  2316. VkBool32 wideLines;
  2317. VkBool32 largePoints;
  2318. VkBool32 alphaToOne;
  2319. VkBool32 multiViewport;
  2320. VkBool32 samplerAnisotropy;
  2321. VkBool32 textureCompressionETC2;
  2322. VkBool32 textureCompressionASTC_LDR;
  2323. VkBool32 textureCompressionBC;
  2324. VkBool32 occlusionQueryPrecise;
  2325. VkBool32 pipelineStatisticsQuery;
  2326. VkBool32 vertexPipelineStoresAndAtomics;
  2327. VkBool32 fragmentStoresAndAtomics;
  2328. VkBool32 shaderTessellationAndGeometryPointSize;
  2329. VkBool32 shaderImageGatherExtended;
  2330. VkBool32 shaderStorageImageExtendedFormats;
  2331. VkBool32 shaderStorageImageMultisample;
  2332. VkBool32 shaderStorageImageReadWithoutFormat;
  2333. VkBool32 shaderStorageImageWriteWithoutFormat;
  2334. VkBool32 shaderUniformBufferArrayDynamicIndexing;
  2335. VkBool32 shaderSampledImageArrayDynamicIndexing;
  2336. VkBool32 shaderStorageBufferArrayDynamicIndexing;
  2337. VkBool32 shaderStorageImageArrayDynamicIndexing;
  2338. VkBool32 shaderClipDistance;
  2339. VkBool32 shaderCullDistance;
  2340. VkBool32 shaderFloat64;
  2341. VkBool32 shaderInt64;
  2342. VkBool32 shaderInt16;
  2343. VkBool32 shaderResourceResidency;
  2344. VkBool32 shaderResourceMinLod;
  2345. VkBool32 sparseBinding;
  2346. VkBool32 sparseResidencyBuffer;
  2347. VkBool32 sparseResidencyImage2D;
  2348. VkBool32 sparseResidencyImage3D;
  2349. VkBool32 sparseResidency2Samples;
  2350. VkBool32 sparseResidency4Samples;
  2351. VkBool32 sparseResidency8Samples;
  2352. VkBool32 sparseResidency16Samples;
  2353. VkBool32 sparseResidencyAliased;
  2354. VkBool32 variableMultisampleRate;
  2355. VkBool32 inheritedQueries;
  2356. } VkPhysicalDeviceFeatures;
  2357. typedef struct VkPhysicalDeviceSparseProperties {
  2358. VkBool32 residencyStandard2DBlockShape;
  2359. VkBool32 residencyStandard2DMultisampleBlockShape;
  2360. VkBool32 residencyStandard3DBlockShape;
  2361. VkBool32 residencyAlignedMipSize;
  2362. VkBool32 residencyNonResidentStrict;
  2363. } VkPhysicalDeviceSparseProperties;
  2364. typedef struct VkPhysicalDeviceLimits {
  2365. uint32_t maxImageDimension1D;
  2366. uint32_t maxImageDimension2D;
  2367. uint32_t maxImageDimension3D;
  2368. uint32_t maxImageDimensionCube;
  2369. uint32_t maxImageArrayLayers;
  2370. uint32_t maxTexelBufferElements;
  2371. uint32_t maxUniformBufferRange;
  2372. uint32_t maxStorageBufferRange;
  2373. uint32_t maxPushConstantsSize;
  2374. uint32_t maxMemoryAllocationCount;
  2375. uint32_t maxSamplerAllocationCount;
  2376. VkDeviceSize bufferImageGranularity;
  2377. VkDeviceSize sparseAddressSpaceSize;
  2378. uint32_t maxBoundDescriptorSets;
  2379. uint32_t maxPerStageDescriptorSamplers;
  2380. uint32_t maxPerStageDescriptorUniformBuffers;
  2381. uint32_t maxPerStageDescriptorStorageBuffers;
  2382. uint32_t maxPerStageDescriptorSampledImages;
  2383. uint32_t maxPerStageDescriptorStorageImages;
  2384. uint32_t maxPerStageDescriptorInputAttachments;
  2385. uint32_t maxPerStageResources;
  2386. uint32_t maxDescriptorSetSamplers;
  2387. uint32_t maxDescriptorSetUniformBuffers;
  2388. uint32_t maxDescriptorSetUniformBuffersDynamic;
  2389. uint32_t maxDescriptorSetStorageBuffers;
  2390. uint32_t maxDescriptorSetStorageBuffersDynamic;
  2391. uint32_t maxDescriptorSetSampledImages;
  2392. uint32_t maxDescriptorSetStorageImages;
  2393. uint32_t maxDescriptorSetInputAttachments;
  2394. uint32_t maxVertexInputAttributes;
  2395. uint32_t maxVertexInputBindings;
  2396. uint32_t maxVertexInputAttributeOffset;
  2397. uint32_t maxVertexInputBindingStride;
  2398. uint32_t maxVertexOutputComponents;
  2399. uint32_t maxTessellationGenerationLevel;
  2400. uint32_t maxTessellationPatchSize;
  2401. uint32_t maxTessellationControlPerVertexInputComponents;
  2402. uint32_t maxTessellationControlPerVertexOutputComponents;
  2403. uint32_t maxTessellationControlPerPatchOutputComponents;
  2404. uint32_t maxTessellationControlTotalOutputComponents;
  2405. uint32_t maxTessellationEvaluationInputComponents;
  2406. uint32_t maxTessellationEvaluationOutputComponents;
  2407. uint32_t maxGeometryShaderInvocations;
  2408. uint32_t maxGeometryInputComponents;
  2409. uint32_t maxGeometryOutputComponents;
  2410. uint32_t maxGeometryOutputVertices;
  2411. uint32_t maxGeometryTotalOutputComponents;
  2412. uint32_t maxFragmentInputComponents;
  2413. uint32_t maxFragmentOutputAttachments;
  2414. uint32_t maxFragmentDualSrcAttachments;
  2415. uint32_t maxFragmentCombinedOutputResources;
  2416. uint32_t maxComputeSharedMemorySize;
  2417. uint32_t maxComputeWorkGroupCount [3];
  2418. uint32_t maxComputeWorkGroupInvocations;
  2419. uint32_t maxComputeWorkGroupSize [3];
  2420. uint32_t subPixelPrecisionBits;
  2421. uint32_t subTexelPrecisionBits;
  2422. uint32_t mipmapPrecisionBits;
  2423. uint32_t maxDrawIndexedIndexValue;
  2424. uint32_t maxDrawIndirectCount;
  2425. float maxSamplerLodBias;
  2426. float maxSamplerAnisotropy;
  2427. uint32_t maxViewports;
  2428. uint32_t maxViewportDimensions [2];
  2429. float viewportBoundsRange [2];
  2430. uint32_t viewportSubPixelBits;
  2431. size_t minMemoryMapAlignment;
  2432. VkDeviceSize minTexelBufferOffsetAlignment;
  2433. VkDeviceSize minUniformBufferOffsetAlignment;
  2434. VkDeviceSize minStorageBufferOffsetAlignment;
  2435. int32_t minTexelOffset;
  2436. uint32_t maxTexelOffset;
  2437. int32_t minTexelGatherOffset;
  2438. uint32_t maxTexelGatherOffset;
  2439. float minInterpolationOffset;
  2440. float maxInterpolationOffset;
  2441. uint32_t subPixelInterpolationOffsetBits;
  2442. uint32_t maxFramebufferWidth;
  2443. uint32_t maxFramebufferHeight;
  2444. uint32_t maxFramebufferLayers;
  2445. VkSampleCountFlags framebufferColorSampleCounts;
  2446. VkSampleCountFlags framebufferDepthSampleCounts;
  2447. VkSampleCountFlags framebufferStencilSampleCounts;
  2448. VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
  2449. uint32_t maxColorAttachments;
  2450. VkSampleCountFlags sampledImageColorSampleCounts;
  2451. VkSampleCountFlags sampledImageIntegerSampleCounts;
  2452. VkSampleCountFlags sampledImageDepthSampleCounts;
  2453. VkSampleCountFlags sampledImageStencilSampleCounts;
  2454. VkSampleCountFlags storageImageSampleCounts;
  2455. uint32_t maxSampleMaskWords;
  2456. VkBool32 timestampComputeAndGraphics;
  2457. float timestampPeriod;
  2458. uint32_t maxClipDistances;
  2459. uint32_t maxCullDistances;
  2460. uint32_t maxCombinedClipAndCullDistances;
  2461. uint32_t discreteQueuePriorities;
  2462. float pointSizeRange [2];
  2463. float lineWidthRange [2];
  2464. float pointSizeGranularity;
  2465. float lineWidthGranularity;
  2466. VkBool32 strictLines;
  2467. VkBool32 standardSampleLocations;
  2468. VkDeviceSize optimalBufferCopyOffsetAlignment;
  2469. VkDeviceSize optimalBufferCopyRowPitchAlignment;
  2470. VkDeviceSize nonCoherentAtomSize;
  2471. } VkPhysicalDeviceLimits;
  2472. typedef struct VkSemaphoreCreateInfo {
  2473. VkStructureType sType;
  2474. const void * pNext;
  2475. VkSemaphoreCreateFlags flags;
  2476. } VkSemaphoreCreateInfo;
  2477. typedef struct VkQueryPoolCreateInfo {
  2478. VkStructureType sType;
  2479. const void * pNext;
  2480. VkQueryPoolCreateFlags flags;
  2481. VkQueryType queryType;
  2482. uint32_t queryCount;
  2483. VkQueryPipelineStatisticFlags pipelineStatistics;
  2484. } VkQueryPoolCreateInfo;
  2485. typedef struct VkFramebufferCreateInfo {
  2486. VkStructureType sType;
  2487. const void * pNext;
  2488. VkFramebufferCreateFlags flags;
  2489. VkRenderPass renderPass;
  2490. uint32_t attachmentCount;
  2491. const VkImageView * pAttachments;
  2492. uint32_t width;
  2493. uint32_t height;
  2494. uint32_t layers;
  2495. } VkFramebufferCreateInfo;
  2496. typedef struct VkSubmitInfo {
  2497. VkStructureType sType;
  2498. const void * pNext;
  2499. uint32_t waitSemaphoreCount;
  2500. const VkSemaphore * pWaitSemaphores;
  2501. const VkPipelineStageFlags * pWaitDstStageMask;
  2502. uint32_t commandBufferCount;
  2503. const VkCommandBuffer * pCommandBuffers;
  2504. uint32_t signalSemaphoreCount;
  2505. const VkSemaphore * pSignalSemaphores;
  2506. } VkSubmitInfo;
  2507. typedef struct VkSurfaceCapabilitiesKHR {
  2508. uint32_t minImageCount;
  2509. uint32_t maxImageCount;
  2510. VkExtent2D currentExtent;
  2511. VkExtent2D minImageExtent;
  2512. VkExtent2D maxImageExtent;
  2513. uint32_t maxImageArrayLayers;
  2514. VkSurfaceTransformFlagsKHR supportedTransforms;
  2515. VkSurfaceTransformFlagBitsKHR currentTransform;
  2516. VkCompositeAlphaFlagsKHR supportedCompositeAlpha;
  2517. VkImageUsageFlags supportedUsageFlags;
  2518. } VkSurfaceCapabilitiesKHR;
  2519. typedef struct VkSwapchainCreateInfoKHR {
  2520. VkStructureType sType;
  2521. const void * pNext;
  2522. VkSwapchainCreateFlagsKHR flags;
  2523. VkSurfaceKHR surface;
  2524. uint32_t minImageCount;
  2525. VkFormat imageFormat;
  2526. VkColorSpaceKHR imageColorSpace;
  2527. VkExtent2D imageExtent;
  2528. uint32_t imageArrayLayers;
  2529. VkImageUsageFlags imageUsage;
  2530. VkSharingMode imageSharingMode;
  2531. uint32_t queueFamilyIndexCount;
  2532. const uint32_t * pQueueFamilyIndices;
  2533. VkSurfaceTransformFlagBitsKHR preTransform;
  2534. VkCompositeAlphaFlagBitsKHR compositeAlpha;
  2535. VkPresentModeKHR presentMode;
  2536. VkBool32 clipped;
  2537. VkSwapchainKHR oldSwapchain;
  2538. } VkSwapchainCreateInfoKHR;
  2539. typedef struct VkDebugReportCallbackCreateInfoEXT {
  2540. VkStructureType sType;
  2541. const void * pNext;
  2542. VkDebugReportFlagsEXT flags;
  2543. PFN_vkDebugReportCallbackEXT pfnCallback;
  2544. void * pUserData;
  2545. } VkDebugReportCallbackCreateInfoEXT;
  2546. typedef struct VkPhysicalDeviceFeatures2 {
  2547. VkStructureType sType;
  2548. void * pNext;
  2549. VkPhysicalDeviceFeatures features;
  2550. } VkPhysicalDeviceFeatures2;
  2551. typedef struct VkFormatProperties2 {
  2552. VkStructureType sType;
  2553. void * pNext;
  2554. VkFormatProperties formatProperties;
  2555. } VkFormatProperties2;
  2556. typedef struct VkImageFormatProperties2 {
  2557. VkStructureType sType;
  2558. void * pNext;
  2559. VkImageFormatProperties imageFormatProperties;
  2560. } VkImageFormatProperties2;
  2561. typedef struct VkPhysicalDeviceImageFormatInfo2 {
  2562. VkStructureType sType;
  2563. const void * pNext;
  2564. VkFormat format;
  2565. VkImageType type;
  2566. VkImageTiling tiling;
  2567. VkImageUsageFlags usage;
  2568. VkImageCreateFlags flags;
  2569. } VkPhysicalDeviceImageFormatInfo2;
  2570. typedef struct VkQueueFamilyProperties2 {
  2571. VkStructureType sType;
  2572. void * pNext;
  2573. VkQueueFamilyProperties queueFamilyProperties;
  2574. } VkQueueFamilyProperties2;
  2575. typedef struct VkSparseImageFormatProperties2 {
  2576. VkStructureType sType;
  2577. void * pNext;
  2578. VkSparseImageFormatProperties properties;
  2579. } VkSparseImageFormatProperties2;
  2580. typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
  2581. VkStructureType sType;
  2582. const void * pNext;
  2583. VkFormat format;
  2584. VkImageType type;
  2585. VkSampleCountFlagBits samples;
  2586. VkImageUsageFlags usage;
  2587. VkImageTiling tiling;
  2588. } VkPhysicalDeviceSparseImageFormatInfo2;
  2589. typedef struct VkPhysicalDeviceVariablePointersFeatures {
  2590. VkStructureType sType;
  2591. void * pNext;
  2592. VkBool32 variablePointersStorageBuffer;
  2593. VkBool32 variablePointers;
  2594. } VkPhysicalDeviceVariablePointersFeatures;
  2595. typedef struct VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures;
  2596. typedef struct VkExternalMemoryProperties {
  2597. VkExternalMemoryFeatureFlags externalMemoryFeatures;
  2598. VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
  2599. VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
  2600. } VkExternalMemoryProperties;
  2601. typedef struct VkExternalImageFormatProperties {
  2602. VkStructureType sType;
  2603. void * pNext;
  2604. VkExternalMemoryProperties externalMemoryProperties;
  2605. } VkExternalImageFormatProperties;
  2606. typedef struct VkPhysicalDeviceExternalBufferInfo {
  2607. VkStructureType sType;
  2608. const void * pNext;
  2609. VkBufferCreateFlags flags;
  2610. VkBufferUsageFlags usage;
  2611. VkExternalMemoryHandleTypeFlagBits handleType;
  2612. } VkPhysicalDeviceExternalBufferInfo;
  2613. typedef struct VkExternalBufferProperties {
  2614. VkStructureType sType;
  2615. void * pNext;
  2616. VkExternalMemoryProperties externalMemoryProperties;
  2617. } VkExternalBufferProperties;
  2618. typedef struct VkPhysicalDeviceIDProperties {
  2619. VkStructureType sType;
  2620. void * pNext;
  2621. uint8_t deviceUUID [ VK_UUID_SIZE ];
  2622. uint8_t driverUUID [ VK_UUID_SIZE ];
  2623. uint8_t deviceLUID [ VK_LUID_SIZE ];
  2624. uint32_t deviceNodeMask;
  2625. VkBool32 deviceLUIDValid;
  2626. } VkPhysicalDeviceIDProperties;
  2627. typedef struct VkExternalMemoryImageCreateInfo {
  2628. VkStructureType sType;
  2629. const void * pNext;
  2630. VkExternalMemoryHandleTypeFlags handleTypes;
  2631. } VkExternalMemoryImageCreateInfo;
  2632. typedef struct VkExternalMemoryBufferCreateInfo {
  2633. VkStructureType sType;
  2634. const void * pNext;
  2635. VkExternalMemoryHandleTypeFlags handleTypes;
  2636. } VkExternalMemoryBufferCreateInfo;
  2637. typedef struct VkExportMemoryAllocateInfo {
  2638. VkStructureType sType;
  2639. const void * pNext;
  2640. VkExternalMemoryHandleTypeFlags handleTypes;
  2641. } VkExportMemoryAllocateInfo;
  2642. typedef struct VkExternalSemaphoreProperties {
  2643. VkStructureType sType;
  2644. void * pNext;
  2645. VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes;
  2646. VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes;
  2647. VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures;
  2648. } VkExternalSemaphoreProperties;
  2649. typedef struct VkExportSemaphoreCreateInfo {
  2650. VkStructureType sType;
  2651. const void * pNext;
  2652. VkExternalSemaphoreHandleTypeFlags handleTypes;
  2653. } VkExportSemaphoreCreateInfo;
  2654. typedef struct VkExternalFenceProperties {
  2655. VkStructureType sType;
  2656. void * pNext;
  2657. VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes;
  2658. VkExternalFenceHandleTypeFlags compatibleHandleTypes;
  2659. VkExternalFenceFeatureFlags externalFenceFeatures;
  2660. } VkExternalFenceProperties;
  2661. typedef struct VkExportFenceCreateInfo {
  2662. VkStructureType sType;
  2663. const void * pNext;
  2664. VkExternalFenceHandleTypeFlags handleTypes;
  2665. } VkExportFenceCreateInfo;
  2666. typedef struct VkPhysicalDeviceMultiviewFeatures {
  2667. VkStructureType sType;
  2668. void * pNext;
  2669. VkBool32 multiview;
  2670. VkBool32 multiviewGeometryShader;
  2671. VkBool32 multiviewTessellationShader;
  2672. } VkPhysicalDeviceMultiviewFeatures;
  2673. typedef struct VkPhysicalDeviceGroupProperties {
  2674. VkStructureType sType;
  2675. void * pNext;
  2676. uint32_t physicalDeviceCount;
  2677. VkPhysicalDevice physicalDevices [ VK_MAX_DEVICE_GROUP_SIZE ];
  2678. VkBool32 subsetAllocation;
  2679. } VkPhysicalDeviceGroupProperties;
  2680. typedef struct VkMemoryAllocateFlagsInfo {
  2681. VkStructureType sType;
  2682. const void * pNext;
  2683. VkMemoryAllocateFlags flags;
  2684. uint32_t deviceMask;
  2685. } VkMemoryAllocateFlagsInfo;
  2686. typedef struct VkBindBufferMemoryInfo {
  2687. VkStructureType sType;
  2688. const void * pNext;
  2689. VkBuffer buffer;
  2690. VkDeviceMemory memory;
  2691. VkDeviceSize memoryOffset;
  2692. } VkBindBufferMemoryInfo;
  2693. typedef struct VkBindImageMemoryInfo {
  2694. VkStructureType sType;
  2695. const void * pNext;
  2696. VkImage image;
  2697. VkDeviceMemory memory;
  2698. VkDeviceSize memoryOffset;
  2699. } VkBindImageMemoryInfo;
  2700. typedef struct VkDeviceGroupPresentCapabilitiesKHR {
  2701. VkStructureType sType;
  2702. const void * pNext;
  2703. uint32_t presentMask [ VK_MAX_DEVICE_GROUP_SIZE ];
  2704. VkDeviceGroupPresentModeFlagsKHR modes;
  2705. } VkDeviceGroupPresentCapabilitiesKHR;
  2706. typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
  2707. VkStructureType sType;
  2708. const void * pNext;
  2709. VkDeviceGroupPresentModeFlagsKHR modes;
  2710. } VkDeviceGroupSwapchainCreateInfoKHR;
  2711. typedef struct VkDescriptorUpdateTemplateCreateInfo {
  2712. VkStructureType sType;
  2713. const void * pNext;
  2714. VkDescriptorUpdateTemplateCreateFlags flags;
  2715. uint32_t descriptorUpdateEntryCount;
  2716. const VkDescriptorUpdateTemplateEntry * pDescriptorUpdateEntries;
  2717. VkDescriptorUpdateTemplateType templateType;
  2718. VkDescriptorSetLayout descriptorSetLayout;
  2719. VkPipelineBindPoint pipelineBindPoint;
  2720. VkPipelineLayout pipelineLayout;
  2721. uint32_t set;
  2722. } VkDescriptorUpdateTemplateCreateInfo;
  2723. typedef struct VkInputAttachmentAspectReference {
  2724. uint32_t subpass;
  2725. uint32_t inputAttachmentIndex;
  2726. VkImageAspectFlags aspectMask;
  2727. } VkInputAttachmentAspectReference;
  2728. typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
  2729. VkStructureType sType;
  2730. const void * pNext;
  2731. uint32_t aspectReferenceCount;
  2732. const VkInputAttachmentAspectReference * pAspectReferences;
  2733. } VkRenderPassInputAttachmentAspectCreateInfo;
  2734. typedef struct VkPhysicalDevice16BitStorageFeatures {
  2735. VkStructureType sType;
  2736. void * pNext;
  2737. VkBool32 storageBuffer16BitAccess;
  2738. VkBool32 uniformAndStorageBuffer16BitAccess;
  2739. VkBool32 storagePushConstant16;
  2740. VkBool32 storageInputOutput16;
  2741. } VkPhysicalDevice16BitStorageFeatures;
  2742. typedef struct VkPhysicalDeviceSubgroupProperties {
  2743. VkStructureType sType;
  2744. void * pNext;
  2745. uint32_t subgroupSize;
  2746. VkShaderStageFlags supportedStages;
  2747. VkSubgroupFeatureFlags supportedOperations;
  2748. VkBool32 quadOperationsInAllStages;
  2749. } VkPhysicalDeviceSubgroupProperties;
  2750. typedef struct VkMemoryRequirements2 {
  2751. VkStructureType sType;
  2752. void * pNext;
  2753. VkMemoryRequirements memoryRequirements;
  2754. } VkMemoryRequirements2;
  2755. typedef struct VkMemoryRequirements2KHR VkMemoryRequirements2KHR;
  2756. typedef struct VkSparseImageMemoryRequirements2 {
  2757. VkStructureType sType;
  2758. void * pNext;
  2759. VkSparseImageMemoryRequirements memoryRequirements;
  2760. } VkSparseImageMemoryRequirements2;
  2761. typedef struct VkMemoryDedicatedRequirements {
  2762. VkStructureType sType;
  2763. void * pNext;
  2764. VkBool32 prefersDedicatedAllocation;
  2765. VkBool32 requiresDedicatedAllocation;
  2766. } VkMemoryDedicatedRequirements;
  2767. typedef struct VkImageViewUsageCreateInfo {
  2768. VkStructureType sType;
  2769. const void * pNext;
  2770. VkImageUsageFlags usage;
  2771. } VkImageViewUsageCreateInfo;
  2772. typedef struct VkSamplerYcbcrConversionCreateInfo {
  2773. VkStructureType sType;
  2774. const void * pNext;
  2775. VkFormat format;
  2776. VkSamplerYcbcrModelConversion ycbcrModel;
  2777. VkSamplerYcbcrRange ycbcrRange;
  2778. VkComponentMapping components;
  2779. VkChromaLocation xChromaOffset;
  2780. VkChromaLocation yChromaOffset;
  2781. VkFilter chromaFilter;
  2782. VkBool32 forceExplicitReconstruction;
  2783. } VkSamplerYcbcrConversionCreateInfo;
  2784. typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
  2785. VkStructureType sType;
  2786. void * pNext;
  2787. VkBool32 samplerYcbcrConversion;
  2788. } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
  2789. typedef struct VkProtectedSubmitInfo {
  2790. VkStructureType sType;
  2791. const void * pNext;
  2792. VkBool32 protectedSubmit;
  2793. } VkProtectedSubmitInfo;
  2794. typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
  2795. VkStructureType sType;
  2796. void * pNext;
  2797. VkBool32 protectedMemory;
  2798. } VkPhysicalDeviceProtectedMemoryFeatures;
  2799. typedef struct VkPhysicalDeviceProtectedMemoryProperties {
  2800. VkStructureType sType;
  2801. void * pNext;
  2802. VkBool32 protectedNoFault;
  2803. } VkPhysicalDeviceProtectedMemoryProperties;
  2804. typedef struct VkDeviceQueueInfo2 {
  2805. VkStructureType sType;
  2806. const void * pNext;
  2807. VkDeviceQueueCreateFlags flags;
  2808. uint32_t queueFamilyIndex;
  2809. uint32_t queueIndex;
  2810. } VkDeviceQueueInfo2;
  2811. typedef struct VkPhysicalDeviceMaintenance3Properties {
  2812. VkStructureType sType;
  2813. void * pNext;
  2814. uint32_t maxPerSetDescriptors;
  2815. VkDeviceSize maxMemoryAllocationSize;
  2816. } VkPhysicalDeviceMaintenance3Properties;
  2817. typedef struct VkDescriptorSetLayoutSupport {
  2818. VkStructureType sType;
  2819. void * pNext;
  2820. VkBool32 supported;
  2821. } VkDescriptorSetLayoutSupport;
  2822. typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
  2823. VkStructureType sType;
  2824. void * pNext;
  2825. VkBool32 shaderDrawParameters;
  2826. } VkPhysicalDeviceShaderDrawParametersFeatures;
  2827. typedef struct VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures;
  2828. typedef struct VkPhysicalDeviceProperties {
  2829. uint32_t apiVersion;
  2830. uint32_t driverVersion;
  2831. uint32_t vendorID;
  2832. uint32_t deviceID;
  2833. VkPhysicalDeviceType deviceType;
  2834. char deviceName [ VK_MAX_PHYSICAL_DEVICE_NAME_SIZE ];
  2835. uint8_t pipelineCacheUUID [ VK_UUID_SIZE ];
  2836. VkPhysicalDeviceLimits limits;
  2837. VkPhysicalDeviceSparseProperties sparseProperties;
  2838. } VkPhysicalDeviceProperties;
  2839. typedef struct VkDeviceCreateInfo {
  2840. VkStructureType sType;
  2841. const void * pNext;
  2842. VkDeviceCreateFlags flags;
  2843. uint32_t queueCreateInfoCount;
  2844. const VkDeviceQueueCreateInfo * pQueueCreateInfos;
  2845. uint32_t enabledLayerCount;
  2846. const char * const* ppEnabledLayerNames;
  2847. uint32_t enabledExtensionCount;
  2848. const char * const* ppEnabledExtensionNames;
  2849. const VkPhysicalDeviceFeatures * pEnabledFeatures;
  2850. } VkDeviceCreateInfo;
  2851. typedef struct VkPhysicalDeviceMemoryProperties {
  2852. uint32_t memoryTypeCount;
  2853. VkMemoryType memoryTypes [ VK_MAX_MEMORY_TYPES ];
  2854. uint32_t memoryHeapCount;
  2855. VkMemoryHeap memoryHeaps [ VK_MAX_MEMORY_HEAPS ];
  2856. } VkPhysicalDeviceMemoryProperties;
  2857. typedef struct VkPhysicalDeviceProperties2 {
  2858. VkStructureType sType;
  2859. void * pNext;
  2860. VkPhysicalDeviceProperties properties;
  2861. } VkPhysicalDeviceProperties2;
  2862. typedef struct VkPhysicalDeviceMemoryProperties2 {
  2863. VkStructureType sType;
  2864. void * pNext;
  2865. VkPhysicalDeviceMemoryProperties memoryProperties;
  2866. } VkPhysicalDeviceMemoryProperties2;
  2867. #define VK_VERSION_1_0 1
  2868. GLAD_API_CALL int GLAD_VK_VERSION_1_0;
  2869. #define VK_VERSION_1_1 1
  2870. GLAD_API_CALL int GLAD_VK_VERSION_1_1;
  2871. #define VK_EXT_debug_report 1
  2872. GLAD_API_CALL int GLAD_VK_EXT_debug_report;
  2873. #define VK_KHR_surface 1
  2874. GLAD_API_CALL int GLAD_VK_KHR_surface;
  2875. #define VK_KHR_swapchain 1
  2876. GLAD_API_CALL int GLAD_VK_KHR_swapchain;
  2877. typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImage2KHR)(VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex);
  2878. typedef VkResult (GLAD_API_PTR *PFN_vkAcquireNextImageKHR)(VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex);
  2879. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateCommandBuffers)(VkDevice device, const VkCommandBufferAllocateInfo * pAllocateInfo, VkCommandBuffer * pCommandBuffers);
  2880. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateDescriptorSets)(VkDevice device, const VkDescriptorSetAllocateInfo * pAllocateInfo, VkDescriptorSet * pDescriptorSets);
  2881. typedef VkResult (GLAD_API_PTR *PFN_vkAllocateMemory)(VkDevice device, const VkMemoryAllocateInfo * pAllocateInfo, const VkAllocationCallbacks * pAllocator, VkDeviceMemory * pMemory);
  2882. typedef VkResult (GLAD_API_PTR *PFN_vkBeginCommandBuffer)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo);
  2883. typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory)(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
  2884. typedef VkResult (GLAD_API_PTR *PFN_vkBindBufferMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos);
  2885. typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
  2886. typedef VkResult (GLAD_API_PTR *PFN_vkBindImageMemory2)(VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos);
  2887. typedef void (GLAD_API_PTR *PFN_vkCmdBeginQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
  2888. typedef void (GLAD_API_PTR *PFN_vkCmdBeginRenderPass)(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo * pRenderPassBegin, VkSubpassContents contents);
  2889. typedef void (GLAD_API_PTR *PFN_vkCmdBindDescriptorSets)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t * pDynamicOffsets);
  2890. typedef void (GLAD_API_PTR *PFN_vkCmdBindIndexBuffer)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
  2891. typedef void (GLAD_API_PTR *PFN_vkCmdBindPipeline)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
  2892. typedef void (GLAD_API_PTR *PFN_vkCmdBindVertexBuffers)(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer * pBuffers, const VkDeviceSize * pOffsets);
  2893. typedef void (GLAD_API_PTR *PFN_vkCmdBlitImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit * pRegions, VkFilter filter);
  2894. typedef void (GLAD_API_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment * pAttachments, uint32_t rectCount, const VkClearRect * pRects);
  2895. typedef void (GLAD_API_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue * pColor, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
  2896. typedef void (GLAD_API_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue * pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange * pRanges);
  2897. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBuffer)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions);
  2898. typedef void (GLAD_API_PTR *PFN_vkCmdCopyBufferToImage)(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy * pRegions);
  2899. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy * pRegions);
  2900. typedef void (GLAD_API_PTR *PFN_vkCmdCopyImageToBuffer)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy * pRegions);
  2901. typedef void (GLAD_API_PTR *PFN_vkCmdCopyQueryPoolResults)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
  2902. typedef void (GLAD_API_PTR *PFN_vkCmdDispatch)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
  2903. typedef void (GLAD_API_PTR *PFN_vkCmdDispatchBase)(VkCommandBuffer commandBuffer, uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ);
  2904. typedef void (GLAD_API_PTR *PFN_vkCmdDispatchIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
  2905. typedef void (GLAD_API_PTR *PFN_vkCmdDraw)(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
  2906. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexed)(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
  2907. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndexedIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
  2908. typedef void (GLAD_API_PTR *PFN_vkCmdDrawIndirect)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
  2909. typedef void (GLAD_API_PTR *PFN_vkCmdEndQuery)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
  2910. typedef void (GLAD_API_PTR *PFN_vkCmdEndRenderPass)(VkCommandBuffer commandBuffer);
  2911. typedef void (GLAD_API_PTR *PFN_vkCmdExecuteCommands)(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
  2912. typedef void (GLAD_API_PTR *PFN_vkCmdFillBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
  2913. typedef void (GLAD_API_PTR *PFN_vkCmdNextSubpass)(VkCommandBuffer commandBuffer, VkSubpassContents contents);
  2914. typedef void (GLAD_API_PTR *PFN_vkCmdPipelineBarrier)(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
  2915. typedef void (GLAD_API_PTR *PFN_vkCmdPushConstants)(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void * pValues);
  2916. typedef void (GLAD_API_PTR *PFN_vkCmdResetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
  2917. typedef void (GLAD_API_PTR *PFN_vkCmdResetQueryPool)(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
  2918. typedef void (GLAD_API_PTR *PFN_vkCmdResolveImage)(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve * pRegions);
  2919. typedef void (GLAD_API_PTR *PFN_vkCmdSetBlendConstants)(VkCommandBuffer commandBuffer, const float blendConstants [4]);
  2920. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBias)(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
  2921. typedef void (GLAD_API_PTR *PFN_vkCmdSetDepthBounds)(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
  2922. typedef void (GLAD_API_PTR *PFN_vkCmdSetDeviceMask)(VkCommandBuffer commandBuffer, uint32_t deviceMask);
  2923. typedef void (GLAD_API_PTR *PFN_vkCmdSetEvent)(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
  2924. typedef void (GLAD_API_PTR *PFN_vkCmdSetLineWidth)(VkCommandBuffer commandBuffer, float lineWidth);
  2925. typedef void (GLAD_API_PTR *PFN_vkCmdSetScissor)(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors);
  2926. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilCompareMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
  2927. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilReference)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
  2928. typedef void (GLAD_API_PTR *PFN_vkCmdSetStencilWriteMask)(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
  2929. typedef void (GLAD_API_PTR *PFN_vkCmdSetViewport)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports);
  2930. typedef void (GLAD_API_PTR *PFN_vkCmdUpdateBuffer)(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData);
  2931. typedef void (GLAD_API_PTR *PFN_vkCmdWaitEvents)(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent * pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier * pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier * pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier * pImageMemoryBarriers);
  2932. typedef void (GLAD_API_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
  2933. typedef VkResult (GLAD_API_PTR *PFN_vkCreateBuffer)(VkDevice device, const VkBufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBuffer * pBuffer);
  2934. typedef VkResult (GLAD_API_PTR *PFN_vkCreateBufferView)(VkDevice device, const VkBufferViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkBufferView * pView);
  2935. typedef VkResult (GLAD_API_PTR *PFN_vkCreateCommandPool)(VkDevice device, const VkCommandPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkCommandPool * pCommandPool);
  2936. typedef VkResult (GLAD_API_PTR *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
  2937. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDebugReportCallbackEXT)(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDebugReportCallbackEXT * pCallback);
  2938. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorPool)(VkDevice device, const VkDescriptorPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorPool * pDescriptorPool);
  2939. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorSetLayout)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorSetLayout * pSetLayout);
  2940. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDescriptorUpdateTemplate)(VkDevice device, const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate);
  2941. typedef VkResult (GLAD_API_PTR *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkDevice * pDevice);
  2942. typedef VkResult (GLAD_API_PTR *PFN_vkCreateEvent)(VkDevice device, const VkEventCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkEvent * pEvent);
  2943. typedef VkResult (GLAD_API_PTR *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFence * pFence);
  2944. typedef VkResult (GLAD_API_PTR *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkFramebuffer * pFramebuffer);
  2945. typedef VkResult (GLAD_API_PTR *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo * pCreateInfos, const VkAllocationCallbacks * pAllocator, VkPipeline * pPipelines);
  2946. typedef VkResult (GLAD_API_PTR *PFN_vkCreateImage)(VkDevice device, const VkImageCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImage * pImage);
  2947. typedef VkResult (GLAD_API_PTR *PFN_vkCreateImageView)(VkDevice device, const VkImageViewCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkImageView * pView);
  2948. typedef VkResult (GLAD_API_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance);
  2949. typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineCache)(VkDevice device, const VkPipelineCacheCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineCache * pPipelineCache);
  2950. typedef VkResult (GLAD_API_PTR *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkPipelineLayout * pPipelineLayout);
  2951. typedef VkResult (GLAD_API_PTR *PFN_vkCreateQueryPool)(VkDevice device, const VkQueryPoolCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkQueryPool * pQueryPool);
  2952. typedef VkResult (GLAD_API_PTR *PFN_vkCreateRenderPass)(VkDevice device, const VkRenderPassCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkRenderPass * pRenderPass);
  2953. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSampler)(VkDevice device, const VkSamplerCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSampler * pSampler);
  2954. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSamplerYcbcrConversion)(VkDevice device, const VkSamplerYcbcrConversionCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSamplerYcbcrConversion * pYcbcrConversion);
  2955. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSemaphore)(VkDevice device, const VkSemaphoreCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSemaphore * pSemaphore);
  2956. typedef VkResult (GLAD_API_PTR *PFN_vkCreateShaderModule)(VkDevice device, const VkShaderModuleCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkShaderModule * pShaderModule);
  2957. typedef VkResult (GLAD_API_PTR *PFN_vkCreateSwapchainKHR)(VkDevice device, const VkSwapchainCreateInfoKHR * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSwapchainKHR * pSwapchain);
  2958. typedef void (GLAD_API_PTR *PFN_vkDebugReportMessageEXT)(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char * pLayerPrefix, const char * pMessage);
  2959. typedef void (GLAD_API_PTR *PFN_vkDestroyBuffer)(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator);
  2960. typedef void (GLAD_API_PTR *PFN_vkDestroyBufferView)(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator);
  2961. typedef void (GLAD_API_PTR *PFN_vkDestroyCommandPool)(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator);
  2962. typedef void (GLAD_API_PTR *PFN_vkDestroyDebugReportCallbackEXT)(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks * pAllocator);
  2963. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator);
  2964. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorSetLayout)(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks * pAllocator);
  2965. typedef void (GLAD_API_PTR *PFN_vkDestroyDescriptorUpdateTemplate)(VkDevice device, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const VkAllocationCallbacks * pAllocator);
  2966. typedef void (GLAD_API_PTR *PFN_vkDestroyDevice)(VkDevice device, const VkAllocationCallbacks * pAllocator);
  2967. typedef void (GLAD_API_PTR *PFN_vkDestroyEvent)(VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator);
  2968. typedef void (GLAD_API_PTR *PFN_vkDestroyFence)(VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator);
  2969. typedef void (GLAD_API_PTR *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator);
  2970. typedef void (GLAD_API_PTR *PFN_vkDestroyImage)(VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator);
  2971. typedef void (GLAD_API_PTR *PFN_vkDestroyImageView)(VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator);
  2972. typedef void (GLAD_API_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks * pAllocator);
  2973. typedef void (GLAD_API_PTR *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator);
  2974. typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator);
  2975. typedef void (GLAD_API_PTR *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator);
  2976. typedef void (GLAD_API_PTR *PFN_vkDestroyQueryPool)(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator);
  2977. typedef void (GLAD_API_PTR *PFN_vkDestroyRenderPass)(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator);
  2978. typedef void (GLAD_API_PTR *PFN_vkDestroySampler)(VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator);
  2979. typedef void (GLAD_API_PTR *PFN_vkDestroySamplerYcbcrConversion)(VkDevice device, VkSamplerYcbcrConversion ycbcrConversion, const VkAllocationCallbacks * pAllocator);
  2980. typedef void (GLAD_API_PTR *PFN_vkDestroySemaphore)(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator);
  2981. typedef void (GLAD_API_PTR *PFN_vkDestroyShaderModule)(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator);
  2982. typedef void (GLAD_API_PTR *PFN_vkDestroySurfaceKHR)(VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator);
  2983. typedef void (GLAD_API_PTR *PFN_vkDestroySwapchainKHR)(VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator);
  2984. typedef VkResult (GLAD_API_PTR *PFN_vkDeviceWaitIdle)(VkDevice device);
  2985. typedef VkResult (GLAD_API_PTR *PFN_vkEndCommandBuffer)(VkCommandBuffer commandBuffer);
  2986. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
  2987. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties);
  2988. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceExtensionProperties)(const char * pLayerName, uint32_t * pPropertyCount, VkExtensionProperties * pProperties);
  2989. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceLayerProperties)(uint32_t * pPropertyCount, VkLayerProperties * pProperties);
  2990. typedef VkResult (GLAD_API_PTR *PFN_vkEnumerateInstanceVersion)(uint32_t * pApiVersion);
  2991. typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDeviceGroups)(VkInstance instance, uint32_t * pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties);
  2992. typedef VkResult (GLAD_API_PTR *PFN_vkEnumeratePhysicalDevices)(VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices);
  2993. typedef VkResult (GLAD_API_PTR *PFN_vkFlushMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
  2994. typedef void (GLAD_API_PTR *PFN_vkFreeCommandBuffers)(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers);
  2995. typedef VkResult (GLAD_API_PTR *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet * pDescriptorSets);
  2996. typedef void (GLAD_API_PTR *PFN_vkFreeMemory)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator);
  2997. typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements);
  2998. typedef void (GLAD_API_PTR *PFN_vkGetBufferMemoryRequirements2)(VkDevice device, const VkBufferMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  2999. typedef void (GLAD_API_PTR *PFN_vkGetDescriptorSetLayoutSupport)(VkDevice device, const VkDescriptorSetLayoutCreateInfo * pCreateInfo, VkDescriptorSetLayoutSupport * pSupport);
  3000. typedef void (GLAD_API_PTR *PFN_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice device, uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags * pPeerMemoryFeatures);
  3001. typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities);
  3002. typedef VkResult (GLAD_API_PTR *PFN_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes);
  3003. typedef void (GLAD_API_PTR *PFN_vkGetDeviceMemoryCommitment)(VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes);
  3004. typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetDeviceProcAddr)(VkDevice device, const char * pName);
  3005. typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue);
  3006. typedef void (GLAD_API_PTR *PFN_vkGetDeviceQueue2)(VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue);
  3007. typedef VkResult (GLAD_API_PTR *PFN_vkGetEventStatus)(VkDevice device, VkEvent event);
  3008. typedef VkResult (GLAD_API_PTR *PFN_vkGetFenceStatus)(VkDevice device, VkFence fence);
  3009. typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements);
  3010. typedef void (GLAD_API_PTR *PFN_vkGetImageMemoryRequirements2)(VkDevice device, const VkImageMemoryRequirementsInfo2 * pInfo, VkMemoryRequirements2 * pMemoryRequirements);
  3011. typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements * pSparseMemoryRequirements);
  3012. typedef void (GLAD_API_PTR *PFN_vkGetImageSparseMemoryRequirements2)(VkDevice device, const VkImageSparseMemoryRequirementsInfo2 * pInfo, uint32_t * pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements);
  3013. typedef void (GLAD_API_PTR *PFN_vkGetImageSubresourceLayout)(VkDevice device, VkImage image, const VkImageSubresource * pSubresource, VkSubresourceLayout * pLayout);
  3014. typedef PFN_vkVoidFunction (GLAD_API_PTR *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char * pName);
  3015. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo, VkExternalBufferProperties * pExternalBufferProperties);
  3016. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo, VkExternalFenceProperties * pExternalFenceProperties);
  3017. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo, VkExternalSemaphoreProperties * pExternalSemaphoreProperties);
  3018. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures);
  3019. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures);
  3020. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties);
  3021. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties2 * pFormatProperties);
  3022. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties * pImageFormatProperties);
  3023. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo, VkImageFormatProperties2 * pImageFormatProperties);
  3024. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties);
  3025. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties);
  3026. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pRectCount, VkRect2D * pRects);
  3027. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties);
  3028. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties);
  3029. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties * pQueueFamilyProperties);
  3030. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice physicalDevice, uint32_t * pQueueFamilyPropertyCount, VkQueueFamilyProperties2 * pQueueFamilyProperties);
  3031. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t * pPropertyCount, VkSparseImageFormatProperties * pProperties);
  3032. typedef void (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo, uint32_t * pPropertyCount, VkSparseImageFormatProperties2 * pProperties);
  3033. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, VkSurfaceCapabilitiesKHR * pSurfaceCapabilities);
  3034. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pSurfaceFormatCount, VkSurfaceFormatKHR * pSurfaceFormats);
  3035. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, uint32_t * pPresentModeCount, VkPresentModeKHR * pPresentModes);
  3036. typedef VkResult (GLAD_API_PTR *PFN_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, VkSurfaceKHR surface, VkBool32 * pSupported);
  3037. typedef VkResult (GLAD_API_PTR *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData);
  3038. typedef VkResult (GLAD_API_PTR *PFN_vkGetQueryPoolResults)(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void * pData, VkDeviceSize stride, VkQueryResultFlags flags);
  3039. typedef void (GLAD_API_PTR *PFN_vkGetRenderAreaGranularity)(VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity);
  3040. typedef VkResult (GLAD_API_PTR *PFN_vkGetSwapchainImagesKHR)(VkDevice device, VkSwapchainKHR swapchain, uint32_t * pSwapchainImageCount, VkImage * pSwapchainImages);
  3041. typedef VkResult (GLAD_API_PTR *PFN_vkInvalidateMappedMemoryRanges)(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges);
  3042. typedef VkResult (GLAD_API_PTR *PFN_vkMapMemory)(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData);
  3043. typedef VkResult (GLAD_API_PTR *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches);
  3044. typedef VkResult (GLAD_API_PTR *PFN_vkQueueBindSparse)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence);
  3045. typedef VkResult (GLAD_API_PTR *PFN_vkQueuePresentKHR)(VkQueue queue, const VkPresentInfoKHR * pPresentInfo);
  3046. typedef VkResult (GLAD_API_PTR *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence);
  3047. typedef VkResult (GLAD_API_PTR *PFN_vkQueueWaitIdle)(VkQueue queue);
  3048. typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandBuffer)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
  3049. typedef VkResult (GLAD_API_PTR *PFN_vkResetCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
  3050. typedef VkResult (GLAD_API_PTR *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
  3051. typedef VkResult (GLAD_API_PTR *PFN_vkResetEvent)(VkDevice device, VkEvent event);
  3052. typedef VkResult (GLAD_API_PTR *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences);
  3053. typedef VkResult (GLAD_API_PTR *PFN_vkSetEvent)(VkDevice device, VkEvent event);
  3054. typedef void (GLAD_API_PTR *PFN_vkTrimCommandPool)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
  3055. typedef void (GLAD_API_PTR *PFN_vkUnmapMemory)(VkDevice device, VkDeviceMemory memory);
  3056. typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSetWithTemplate)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const void * pData);
  3057. typedef void (GLAD_API_PTR *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet * pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet * pDescriptorCopies);
  3058. typedef VkResult (GLAD_API_PTR *PFN_vkWaitForFences)(VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout);
  3059. GLAD_API_CALL PFN_vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR;
  3060. #define vkAcquireNextImage2KHR glad_vkAcquireNextImage2KHR
  3061. GLAD_API_CALL PFN_vkAcquireNextImageKHR glad_vkAcquireNextImageKHR;
  3062. #define vkAcquireNextImageKHR glad_vkAcquireNextImageKHR
  3063. GLAD_API_CALL PFN_vkAllocateCommandBuffers glad_vkAllocateCommandBuffers;
  3064. #define vkAllocateCommandBuffers glad_vkAllocateCommandBuffers
  3065. GLAD_API_CALL PFN_vkAllocateDescriptorSets glad_vkAllocateDescriptorSets;
  3066. #define vkAllocateDescriptorSets glad_vkAllocateDescriptorSets
  3067. GLAD_API_CALL PFN_vkAllocateMemory glad_vkAllocateMemory;
  3068. #define vkAllocateMemory glad_vkAllocateMemory
  3069. GLAD_API_CALL PFN_vkBeginCommandBuffer glad_vkBeginCommandBuffer;
  3070. #define vkBeginCommandBuffer glad_vkBeginCommandBuffer
  3071. GLAD_API_CALL PFN_vkBindBufferMemory glad_vkBindBufferMemory;
  3072. #define vkBindBufferMemory glad_vkBindBufferMemory
  3073. GLAD_API_CALL PFN_vkBindBufferMemory2 glad_vkBindBufferMemory2;
  3074. #define vkBindBufferMemory2 glad_vkBindBufferMemory2
  3075. GLAD_API_CALL PFN_vkBindImageMemory glad_vkBindImageMemory;
  3076. #define vkBindImageMemory glad_vkBindImageMemory
  3077. GLAD_API_CALL PFN_vkBindImageMemory2 glad_vkBindImageMemory2;
  3078. #define vkBindImageMemory2 glad_vkBindImageMemory2
  3079. GLAD_API_CALL PFN_vkCmdBeginQuery glad_vkCmdBeginQuery;
  3080. #define vkCmdBeginQuery glad_vkCmdBeginQuery
  3081. GLAD_API_CALL PFN_vkCmdBeginRenderPass glad_vkCmdBeginRenderPass;
  3082. #define vkCmdBeginRenderPass glad_vkCmdBeginRenderPass
  3083. GLAD_API_CALL PFN_vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets;
  3084. #define vkCmdBindDescriptorSets glad_vkCmdBindDescriptorSets
  3085. GLAD_API_CALL PFN_vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer;
  3086. #define vkCmdBindIndexBuffer glad_vkCmdBindIndexBuffer
  3087. GLAD_API_CALL PFN_vkCmdBindPipeline glad_vkCmdBindPipeline;
  3088. #define vkCmdBindPipeline glad_vkCmdBindPipeline
  3089. GLAD_API_CALL PFN_vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers;
  3090. #define vkCmdBindVertexBuffers glad_vkCmdBindVertexBuffers
  3091. GLAD_API_CALL PFN_vkCmdBlitImage glad_vkCmdBlitImage;
  3092. #define vkCmdBlitImage glad_vkCmdBlitImage
  3093. GLAD_API_CALL PFN_vkCmdClearAttachments glad_vkCmdClearAttachments;
  3094. #define vkCmdClearAttachments glad_vkCmdClearAttachments
  3095. GLAD_API_CALL PFN_vkCmdClearColorImage glad_vkCmdClearColorImage;
  3096. #define vkCmdClearColorImage glad_vkCmdClearColorImage
  3097. GLAD_API_CALL PFN_vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage;
  3098. #define vkCmdClearDepthStencilImage glad_vkCmdClearDepthStencilImage
  3099. GLAD_API_CALL PFN_vkCmdCopyBuffer glad_vkCmdCopyBuffer;
  3100. #define vkCmdCopyBuffer glad_vkCmdCopyBuffer
  3101. GLAD_API_CALL PFN_vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage;
  3102. #define vkCmdCopyBufferToImage glad_vkCmdCopyBufferToImage
  3103. GLAD_API_CALL PFN_vkCmdCopyImage glad_vkCmdCopyImage;
  3104. #define vkCmdCopyImage glad_vkCmdCopyImage
  3105. GLAD_API_CALL PFN_vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer;
  3106. #define vkCmdCopyImageToBuffer glad_vkCmdCopyImageToBuffer
  3107. GLAD_API_CALL PFN_vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults;
  3108. #define vkCmdCopyQueryPoolResults glad_vkCmdCopyQueryPoolResults
  3109. GLAD_API_CALL PFN_vkCmdDispatch glad_vkCmdDispatch;
  3110. #define vkCmdDispatch glad_vkCmdDispatch
  3111. GLAD_API_CALL PFN_vkCmdDispatchBase glad_vkCmdDispatchBase;
  3112. #define vkCmdDispatchBase glad_vkCmdDispatchBase
  3113. GLAD_API_CALL PFN_vkCmdDispatchIndirect glad_vkCmdDispatchIndirect;
  3114. #define vkCmdDispatchIndirect glad_vkCmdDispatchIndirect
  3115. GLAD_API_CALL PFN_vkCmdDraw glad_vkCmdDraw;
  3116. #define vkCmdDraw glad_vkCmdDraw
  3117. GLAD_API_CALL PFN_vkCmdDrawIndexed glad_vkCmdDrawIndexed;
  3118. #define vkCmdDrawIndexed glad_vkCmdDrawIndexed
  3119. GLAD_API_CALL PFN_vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect;
  3120. #define vkCmdDrawIndexedIndirect glad_vkCmdDrawIndexedIndirect
  3121. GLAD_API_CALL PFN_vkCmdDrawIndirect glad_vkCmdDrawIndirect;
  3122. #define vkCmdDrawIndirect glad_vkCmdDrawIndirect
  3123. GLAD_API_CALL PFN_vkCmdEndQuery glad_vkCmdEndQuery;
  3124. #define vkCmdEndQuery glad_vkCmdEndQuery
  3125. GLAD_API_CALL PFN_vkCmdEndRenderPass glad_vkCmdEndRenderPass;
  3126. #define vkCmdEndRenderPass glad_vkCmdEndRenderPass
  3127. GLAD_API_CALL PFN_vkCmdExecuteCommands glad_vkCmdExecuteCommands;
  3128. #define vkCmdExecuteCommands glad_vkCmdExecuteCommands
  3129. GLAD_API_CALL PFN_vkCmdFillBuffer glad_vkCmdFillBuffer;
  3130. #define vkCmdFillBuffer glad_vkCmdFillBuffer
  3131. GLAD_API_CALL PFN_vkCmdNextSubpass glad_vkCmdNextSubpass;
  3132. #define vkCmdNextSubpass glad_vkCmdNextSubpass
  3133. GLAD_API_CALL PFN_vkCmdPipelineBarrier glad_vkCmdPipelineBarrier;
  3134. #define vkCmdPipelineBarrier glad_vkCmdPipelineBarrier
  3135. GLAD_API_CALL PFN_vkCmdPushConstants glad_vkCmdPushConstants;
  3136. #define vkCmdPushConstants glad_vkCmdPushConstants
  3137. GLAD_API_CALL PFN_vkCmdResetEvent glad_vkCmdResetEvent;
  3138. #define vkCmdResetEvent glad_vkCmdResetEvent
  3139. GLAD_API_CALL PFN_vkCmdResetQueryPool glad_vkCmdResetQueryPool;
  3140. #define vkCmdResetQueryPool glad_vkCmdResetQueryPool
  3141. GLAD_API_CALL PFN_vkCmdResolveImage glad_vkCmdResolveImage;
  3142. #define vkCmdResolveImage glad_vkCmdResolveImage
  3143. GLAD_API_CALL PFN_vkCmdSetBlendConstants glad_vkCmdSetBlendConstants;
  3144. #define vkCmdSetBlendConstants glad_vkCmdSetBlendConstants
  3145. GLAD_API_CALL PFN_vkCmdSetDepthBias glad_vkCmdSetDepthBias;
  3146. #define vkCmdSetDepthBias glad_vkCmdSetDepthBias
  3147. GLAD_API_CALL PFN_vkCmdSetDepthBounds glad_vkCmdSetDepthBounds;
  3148. #define vkCmdSetDepthBounds glad_vkCmdSetDepthBounds
  3149. GLAD_API_CALL PFN_vkCmdSetDeviceMask glad_vkCmdSetDeviceMask;
  3150. #define vkCmdSetDeviceMask glad_vkCmdSetDeviceMask
  3151. GLAD_API_CALL PFN_vkCmdSetEvent glad_vkCmdSetEvent;
  3152. #define vkCmdSetEvent glad_vkCmdSetEvent
  3153. GLAD_API_CALL PFN_vkCmdSetLineWidth glad_vkCmdSetLineWidth;
  3154. #define vkCmdSetLineWidth glad_vkCmdSetLineWidth
  3155. GLAD_API_CALL PFN_vkCmdSetScissor glad_vkCmdSetScissor;
  3156. #define vkCmdSetScissor glad_vkCmdSetScissor
  3157. GLAD_API_CALL PFN_vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask;
  3158. #define vkCmdSetStencilCompareMask glad_vkCmdSetStencilCompareMask
  3159. GLAD_API_CALL PFN_vkCmdSetStencilReference glad_vkCmdSetStencilReference;
  3160. #define vkCmdSetStencilReference glad_vkCmdSetStencilReference
  3161. GLAD_API_CALL PFN_vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask;
  3162. #define vkCmdSetStencilWriteMask glad_vkCmdSetStencilWriteMask
  3163. GLAD_API_CALL PFN_vkCmdSetViewport glad_vkCmdSetViewport;
  3164. #define vkCmdSetViewport glad_vkCmdSetViewport
  3165. GLAD_API_CALL PFN_vkCmdUpdateBuffer glad_vkCmdUpdateBuffer;
  3166. #define vkCmdUpdateBuffer glad_vkCmdUpdateBuffer
  3167. GLAD_API_CALL PFN_vkCmdWaitEvents glad_vkCmdWaitEvents;
  3168. #define vkCmdWaitEvents glad_vkCmdWaitEvents
  3169. GLAD_API_CALL PFN_vkCmdWriteTimestamp glad_vkCmdWriteTimestamp;
  3170. #define vkCmdWriteTimestamp glad_vkCmdWriteTimestamp
  3171. GLAD_API_CALL PFN_vkCreateBuffer glad_vkCreateBuffer;
  3172. #define vkCreateBuffer glad_vkCreateBuffer
  3173. GLAD_API_CALL PFN_vkCreateBufferView glad_vkCreateBufferView;
  3174. #define vkCreateBufferView glad_vkCreateBufferView
  3175. GLAD_API_CALL PFN_vkCreateCommandPool glad_vkCreateCommandPool;
  3176. #define vkCreateCommandPool glad_vkCreateCommandPool
  3177. GLAD_API_CALL PFN_vkCreateComputePipelines glad_vkCreateComputePipelines;
  3178. #define vkCreateComputePipelines glad_vkCreateComputePipelines
  3179. GLAD_API_CALL PFN_vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT;
  3180. #define vkCreateDebugReportCallbackEXT glad_vkCreateDebugReportCallbackEXT
  3181. GLAD_API_CALL PFN_vkCreateDescriptorPool glad_vkCreateDescriptorPool;
  3182. #define vkCreateDescriptorPool glad_vkCreateDescriptorPool
  3183. GLAD_API_CALL PFN_vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout;
  3184. #define vkCreateDescriptorSetLayout glad_vkCreateDescriptorSetLayout
  3185. GLAD_API_CALL PFN_vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate;
  3186. #define vkCreateDescriptorUpdateTemplate glad_vkCreateDescriptorUpdateTemplate
  3187. GLAD_API_CALL PFN_vkCreateDevice glad_vkCreateDevice;
  3188. #define vkCreateDevice glad_vkCreateDevice
  3189. GLAD_API_CALL PFN_vkCreateEvent glad_vkCreateEvent;
  3190. #define vkCreateEvent glad_vkCreateEvent
  3191. GLAD_API_CALL PFN_vkCreateFence glad_vkCreateFence;
  3192. #define vkCreateFence glad_vkCreateFence
  3193. GLAD_API_CALL PFN_vkCreateFramebuffer glad_vkCreateFramebuffer;
  3194. #define vkCreateFramebuffer glad_vkCreateFramebuffer
  3195. GLAD_API_CALL PFN_vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines;
  3196. #define vkCreateGraphicsPipelines glad_vkCreateGraphicsPipelines
  3197. GLAD_API_CALL PFN_vkCreateImage glad_vkCreateImage;
  3198. #define vkCreateImage glad_vkCreateImage
  3199. GLAD_API_CALL PFN_vkCreateImageView glad_vkCreateImageView;
  3200. #define vkCreateImageView glad_vkCreateImageView
  3201. GLAD_API_CALL PFN_vkCreateInstance glad_vkCreateInstance;
  3202. #define vkCreateInstance glad_vkCreateInstance
  3203. GLAD_API_CALL PFN_vkCreatePipelineCache glad_vkCreatePipelineCache;
  3204. #define vkCreatePipelineCache glad_vkCreatePipelineCache
  3205. GLAD_API_CALL PFN_vkCreatePipelineLayout glad_vkCreatePipelineLayout;
  3206. #define vkCreatePipelineLayout glad_vkCreatePipelineLayout
  3207. GLAD_API_CALL PFN_vkCreateQueryPool glad_vkCreateQueryPool;
  3208. #define vkCreateQueryPool glad_vkCreateQueryPool
  3209. GLAD_API_CALL PFN_vkCreateRenderPass glad_vkCreateRenderPass;
  3210. #define vkCreateRenderPass glad_vkCreateRenderPass
  3211. GLAD_API_CALL PFN_vkCreateSampler glad_vkCreateSampler;
  3212. #define vkCreateSampler glad_vkCreateSampler
  3213. GLAD_API_CALL PFN_vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion;
  3214. #define vkCreateSamplerYcbcrConversion glad_vkCreateSamplerYcbcrConversion
  3215. GLAD_API_CALL PFN_vkCreateSemaphore glad_vkCreateSemaphore;
  3216. #define vkCreateSemaphore glad_vkCreateSemaphore
  3217. GLAD_API_CALL PFN_vkCreateShaderModule glad_vkCreateShaderModule;
  3218. #define vkCreateShaderModule glad_vkCreateShaderModule
  3219. GLAD_API_CALL PFN_vkCreateSwapchainKHR glad_vkCreateSwapchainKHR;
  3220. #define vkCreateSwapchainKHR glad_vkCreateSwapchainKHR
  3221. GLAD_API_CALL PFN_vkDebugReportMessageEXT glad_vkDebugReportMessageEXT;
  3222. #define vkDebugReportMessageEXT glad_vkDebugReportMessageEXT
  3223. GLAD_API_CALL PFN_vkDestroyBuffer glad_vkDestroyBuffer;
  3224. #define vkDestroyBuffer glad_vkDestroyBuffer
  3225. GLAD_API_CALL PFN_vkDestroyBufferView glad_vkDestroyBufferView;
  3226. #define vkDestroyBufferView glad_vkDestroyBufferView
  3227. GLAD_API_CALL PFN_vkDestroyCommandPool glad_vkDestroyCommandPool;
  3228. #define vkDestroyCommandPool glad_vkDestroyCommandPool
  3229. GLAD_API_CALL PFN_vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT;
  3230. #define vkDestroyDebugReportCallbackEXT glad_vkDestroyDebugReportCallbackEXT
  3231. GLAD_API_CALL PFN_vkDestroyDescriptorPool glad_vkDestroyDescriptorPool;
  3232. #define vkDestroyDescriptorPool glad_vkDestroyDescriptorPool
  3233. GLAD_API_CALL PFN_vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout;
  3234. #define vkDestroyDescriptorSetLayout glad_vkDestroyDescriptorSetLayout
  3235. GLAD_API_CALL PFN_vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate;
  3236. #define vkDestroyDescriptorUpdateTemplate glad_vkDestroyDescriptorUpdateTemplate
  3237. GLAD_API_CALL PFN_vkDestroyDevice glad_vkDestroyDevice;
  3238. #define vkDestroyDevice glad_vkDestroyDevice
  3239. GLAD_API_CALL PFN_vkDestroyEvent glad_vkDestroyEvent;
  3240. #define vkDestroyEvent glad_vkDestroyEvent
  3241. GLAD_API_CALL PFN_vkDestroyFence glad_vkDestroyFence;
  3242. #define vkDestroyFence glad_vkDestroyFence
  3243. GLAD_API_CALL PFN_vkDestroyFramebuffer glad_vkDestroyFramebuffer;
  3244. #define vkDestroyFramebuffer glad_vkDestroyFramebuffer
  3245. GLAD_API_CALL PFN_vkDestroyImage glad_vkDestroyImage;
  3246. #define vkDestroyImage glad_vkDestroyImage
  3247. GLAD_API_CALL PFN_vkDestroyImageView glad_vkDestroyImageView;
  3248. #define vkDestroyImageView glad_vkDestroyImageView
  3249. GLAD_API_CALL PFN_vkDestroyInstance glad_vkDestroyInstance;
  3250. #define vkDestroyInstance glad_vkDestroyInstance
  3251. GLAD_API_CALL PFN_vkDestroyPipeline glad_vkDestroyPipeline;
  3252. #define vkDestroyPipeline glad_vkDestroyPipeline
  3253. GLAD_API_CALL PFN_vkDestroyPipelineCache glad_vkDestroyPipelineCache;
  3254. #define vkDestroyPipelineCache glad_vkDestroyPipelineCache
  3255. GLAD_API_CALL PFN_vkDestroyPipelineLayout glad_vkDestroyPipelineLayout;
  3256. #define vkDestroyPipelineLayout glad_vkDestroyPipelineLayout
  3257. GLAD_API_CALL PFN_vkDestroyQueryPool glad_vkDestroyQueryPool;
  3258. #define vkDestroyQueryPool glad_vkDestroyQueryPool
  3259. GLAD_API_CALL PFN_vkDestroyRenderPass glad_vkDestroyRenderPass;
  3260. #define vkDestroyRenderPass glad_vkDestroyRenderPass
  3261. GLAD_API_CALL PFN_vkDestroySampler glad_vkDestroySampler;
  3262. #define vkDestroySampler glad_vkDestroySampler
  3263. GLAD_API_CALL PFN_vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion;
  3264. #define vkDestroySamplerYcbcrConversion glad_vkDestroySamplerYcbcrConversion
  3265. GLAD_API_CALL PFN_vkDestroySemaphore glad_vkDestroySemaphore;
  3266. #define vkDestroySemaphore glad_vkDestroySemaphore
  3267. GLAD_API_CALL PFN_vkDestroyShaderModule glad_vkDestroyShaderModule;
  3268. #define vkDestroyShaderModule glad_vkDestroyShaderModule
  3269. GLAD_API_CALL PFN_vkDestroySurfaceKHR glad_vkDestroySurfaceKHR;
  3270. #define vkDestroySurfaceKHR glad_vkDestroySurfaceKHR
  3271. GLAD_API_CALL PFN_vkDestroySwapchainKHR glad_vkDestroySwapchainKHR;
  3272. #define vkDestroySwapchainKHR glad_vkDestroySwapchainKHR
  3273. GLAD_API_CALL PFN_vkDeviceWaitIdle glad_vkDeviceWaitIdle;
  3274. #define vkDeviceWaitIdle glad_vkDeviceWaitIdle
  3275. GLAD_API_CALL PFN_vkEndCommandBuffer glad_vkEndCommandBuffer;
  3276. #define vkEndCommandBuffer glad_vkEndCommandBuffer
  3277. GLAD_API_CALL PFN_vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties;
  3278. #define vkEnumerateDeviceExtensionProperties glad_vkEnumerateDeviceExtensionProperties
  3279. GLAD_API_CALL PFN_vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties;
  3280. #define vkEnumerateDeviceLayerProperties glad_vkEnumerateDeviceLayerProperties
  3281. GLAD_API_CALL PFN_vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties;
  3282. #define vkEnumerateInstanceExtensionProperties glad_vkEnumerateInstanceExtensionProperties
  3283. GLAD_API_CALL PFN_vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties;
  3284. #define vkEnumerateInstanceLayerProperties glad_vkEnumerateInstanceLayerProperties
  3285. GLAD_API_CALL PFN_vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion;
  3286. #define vkEnumerateInstanceVersion glad_vkEnumerateInstanceVersion
  3287. GLAD_API_CALL PFN_vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups;
  3288. #define vkEnumeratePhysicalDeviceGroups glad_vkEnumeratePhysicalDeviceGroups
  3289. GLAD_API_CALL PFN_vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices;
  3290. #define vkEnumeratePhysicalDevices glad_vkEnumeratePhysicalDevices
  3291. GLAD_API_CALL PFN_vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges;
  3292. #define vkFlushMappedMemoryRanges glad_vkFlushMappedMemoryRanges
  3293. GLAD_API_CALL PFN_vkFreeCommandBuffers glad_vkFreeCommandBuffers;
  3294. #define vkFreeCommandBuffers glad_vkFreeCommandBuffers
  3295. GLAD_API_CALL PFN_vkFreeDescriptorSets glad_vkFreeDescriptorSets;
  3296. #define vkFreeDescriptorSets glad_vkFreeDescriptorSets
  3297. GLAD_API_CALL PFN_vkFreeMemory glad_vkFreeMemory;
  3298. #define vkFreeMemory glad_vkFreeMemory
  3299. GLAD_API_CALL PFN_vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements;
  3300. #define vkGetBufferMemoryRequirements glad_vkGetBufferMemoryRequirements
  3301. GLAD_API_CALL PFN_vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2;
  3302. #define vkGetBufferMemoryRequirements2 glad_vkGetBufferMemoryRequirements2
  3303. GLAD_API_CALL PFN_vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport;
  3304. #define vkGetDescriptorSetLayoutSupport glad_vkGetDescriptorSetLayoutSupport
  3305. GLAD_API_CALL PFN_vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures;
  3306. #define vkGetDeviceGroupPeerMemoryFeatures glad_vkGetDeviceGroupPeerMemoryFeatures
  3307. GLAD_API_CALL PFN_vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR;
  3308. #define vkGetDeviceGroupPresentCapabilitiesKHR glad_vkGetDeviceGroupPresentCapabilitiesKHR
  3309. GLAD_API_CALL PFN_vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR;
  3310. #define vkGetDeviceGroupSurfacePresentModesKHR glad_vkGetDeviceGroupSurfacePresentModesKHR
  3311. GLAD_API_CALL PFN_vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment;
  3312. #define vkGetDeviceMemoryCommitment glad_vkGetDeviceMemoryCommitment
  3313. GLAD_API_CALL PFN_vkGetDeviceProcAddr glad_vkGetDeviceProcAddr;
  3314. #define vkGetDeviceProcAddr glad_vkGetDeviceProcAddr
  3315. GLAD_API_CALL PFN_vkGetDeviceQueue glad_vkGetDeviceQueue;
  3316. #define vkGetDeviceQueue glad_vkGetDeviceQueue
  3317. GLAD_API_CALL PFN_vkGetDeviceQueue2 glad_vkGetDeviceQueue2;
  3318. #define vkGetDeviceQueue2 glad_vkGetDeviceQueue2
  3319. GLAD_API_CALL PFN_vkGetEventStatus glad_vkGetEventStatus;
  3320. #define vkGetEventStatus glad_vkGetEventStatus
  3321. GLAD_API_CALL PFN_vkGetFenceStatus glad_vkGetFenceStatus;
  3322. #define vkGetFenceStatus glad_vkGetFenceStatus
  3323. GLAD_API_CALL PFN_vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements;
  3324. #define vkGetImageMemoryRequirements glad_vkGetImageMemoryRequirements
  3325. GLAD_API_CALL PFN_vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2;
  3326. #define vkGetImageMemoryRequirements2 glad_vkGetImageMemoryRequirements2
  3327. GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements;
  3328. #define vkGetImageSparseMemoryRequirements glad_vkGetImageSparseMemoryRequirements
  3329. GLAD_API_CALL PFN_vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2;
  3330. #define vkGetImageSparseMemoryRequirements2 glad_vkGetImageSparseMemoryRequirements2
  3331. GLAD_API_CALL PFN_vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout;
  3332. #define vkGetImageSubresourceLayout glad_vkGetImageSubresourceLayout
  3333. GLAD_API_CALL PFN_vkGetInstanceProcAddr glad_vkGetInstanceProcAddr;
  3334. #define vkGetInstanceProcAddr glad_vkGetInstanceProcAddr
  3335. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties;
  3336. #define vkGetPhysicalDeviceExternalBufferProperties glad_vkGetPhysicalDeviceExternalBufferProperties
  3337. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties;
  3338. #define vkGetPhysicalDeviceExternalFenceProperties glad_vkGetPhysicalDeviceExternalFenceProperties
  3339. GLAD_API_CALL PFN_vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties;
  3340. #define vkGetPhysicalDeviceExternalSemaphoreProperties glad_vkGetPhysicalDeviceExternalSemaphoreProperties
  3341. GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures;
  3342. #define vkGetPhysicalDeviceFeatures glad_vkGetPhysicalDeviceFeatures
  3343. GLAD_API_CALL PFN_vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2;
  3344. #define vkGetPhysicalDeviceFeatures2 glad_vkGetPhysicalDeviceFeatures2
  3345. GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties;
  3346. #define vkGetPhysicalDeviceFormatProperties glad_vkGetPhysicalDeviceFormatProperties
  3347. GLAD_API_CALL PFN_vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2;
  3348. #define vkGetPhysicalDeviceFormatProperties2 glad_vkGetPhysicalDeviceFormatProperties2
  3349. GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties;
  3350. #define vkGetPhysicalDeviceImageFormatProperties glad_vkGetPhysicalDeviceImageFormatProperties
  3351. GLAD_API_CALL PFN_vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2;
  3352. #define vkGetPhysicalDeviceImageFormatProperties2 glad_vkGetPhysicalDeviceImageFormatProperties2
  3353. GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties;
  3354. #define vkGetPhysicalDeviceMemoryProperties glad_vkGetPhysicalDeviceMemoryProperties
  3355. GLAD_API_CALL PFN_vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2;
  3356. #define vkGetPhysicalDeviceMemoryProperties2 glad_vkGetPhysicalDeviceMemoryProperties2
  3357. GLAD_API_CALL PFN_vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR;
  3358. #define vkGetPhysicalDevicePresentRectanglesKHR glad_vkGetPhysicalDevicePresentRectanglesKHR
  3359. GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties;
  3360. #define vkGetPhysicalDeviceProperties glad_vkGetPhysicalDeviceProperties
  3361. GLAD_API_CALL PFN_vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2;
  3362. #define vkGetPhysicalDeviceProperties2 glad_vkGetPhysicalDeviceProperties2
  3363. GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties;
  3364. #define vkGetPhysicalDeviceQueueFamilyProperties glad_vkGetPhysicalDeviceQueueFamilyProperties
  3365. GLAD_API_CALL PFN_vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2;
  3366. #define vkGetPhysicalDeviceQueueFamilyProperties2 glad_vkGetPhysicalDeviceQueueFamilyProperties2
  3367. GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties;
  3368. #define vkGetPhysicalDeviceSparseImageFormatProperties glad_vkGetPhysicalDeviceSparseImageFormatProperties
  3369. GLAD_API_CALL PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2;
  3370. #define vkGetPhysicalDeviceSparseImageFormatProperties2 glad_vkGetPhysicalDeviceSparseImageFormatProperties2
  3371. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
  3372. #define vkGetPhysicalDeviceSurfaceCapabilitiesKHR glad_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
  3373. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR;
  3374. #define vkGetPhysicalDeviceSurfaceFormatsKHR glad_vkGetPhysicalDeviceSurfaceFormatsKHR
  3375. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR;
  3376. #define vkGetPhysicalDeviceSurfacePresentModesKHR glad_vkGetPhysicalDeviceSurfacePresentModesKHR
  3377. GLAD_API_CALL PFN_vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR;
  3378. #define vkGetPhysicalDeviceSurfaceSupportKHR glad_vkGetPhysicalDeviceSurfaceSupportKHR
  3379. GLAD_API_CALL PFN_vkGetPipelineCacheData glad_vkGetPipelineCacheData;
  3380. #define vkGetPipelineCacheData glad_vkGetPipelineCacheData
  3381. GLAD_API_CALL PFN_vkGetQueryPoolResults glad_vkGetQueryPoolResults;
  3382. #define vkGetQueryPoolResults glad_vkGetQueryPoolResults
  3383. GLAD_API_CALL PFN_vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity;
  3384. #define vkGetRenderAreaGranularity glad_vkGetRenderAreaGranularity
  3385. GLAD_API_CALL PFN_vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR;
  3386. #define vkGetSwapchainImagesKHR glad_vkGetSwapchainImagesKHR
  3387. GLAD_API_CALL PFN_vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges;
  3388. #define vkInvalidateMappedMemoryRanges glad_vkInvalidateMappedMemoryRanges
  3389. GLAD_API_CALL PFN_vkMapMemory glad_vkMapMemory;
  3390. #define vkMapMemory glad_vkMapMemory
  3391. GLAD_API_CALL PFN_vkMergePipelineCaches glad_vkMergePipelineCaches;
  3392. #define vkMergePipelineCaches glad_vkMergePipelineCaches
  3393. GLAD_API_CALL PFN_vkQueueBindSparse glad_vkQueueBindSparse;
  3394. #define vkQueueBindSparse glad_vkQueueBindSparse
  3395. GLAD_API_CALL PFN_vkQueuePresentKHR glad_vkQueuePresentKHR;
  3396. #define vkQueuePresentKHR glad_vkQueuePresentKHR
  3397. GLAD_API_CALL PFN_vkQueueSubmit glad_vkQueueSubmit;
  3398. #define vkQueueSubmit glad_vkQueueSubmit
  3399. GLAD_API_CALL PFN_vkQueueWaitIdle glad_vkQueueWaitIdle;
  3400. #define vkQueueWaitIdle glad_vkQueueWaitIdle
  3401. GLAD_API_CALL PFN_vkResetCommandBuffer glad_vkResetCommandBuffer;
  3402. #define vkResetCommandBuffer glad_vkResetCommandBuffer
  3403. GLAD_API_CALL PFN_vkResetCommandPool glad_vkResetCommandPool;
  3404. #define vkResetCommandPool glad_vkResetCommandPool
  3405. GLAD_API_CALL PFN_vkResetDescriptorPool glad_vkResetDescriptorPool;
  3406. #define vkResetDescriptorPool glad_vkResetDescriptorPool
  3407. GLAD_API_CALL PFN_vkResetEvent glad_vkResetEvent;
  3408. #define vkResetEvent glad_vkResetEvent
  3409. GLAD_API_CALL PFN_vkResetFences glad_vkResetFences;
  3410. #define vkResetFences glad_vkResetFences
  3411. GLAD_API_CALL PFN_vkSetEvent glad_vkSetEvent;
  3412. #define vkSetEvent glad_vkSetEvent
  3413. GLAD_API_CALL PFN_vkTrimCommandPool glad_vkTrimCommandPool;
  3414. #define vkTrimCommandPool glad_vkTrimCommandPool
  3415. GLAD_API_CALL PFN_vkUnmapMemory glad_vkUnmapMemory;
  3416. #define vkUnmapMemory glad_vkUnmapMemory
  3417. GLAD_API_CALL PFN_vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate;
  3418. #define vkUpdateDescriptorSetWithTemplate glad_vkUpdateDescriptorSetWithTemplate
  3419. GLAD_API_CALL PFN_vkUpdateDescriptorSets glad_vkUpdateDescriptorSets;
  3420. #define vkUpdateDescriptorSets glad_vkUpdateDescriptorSets
  3421. GLAD_API_CALL PFN_vkWaitForFences glad_vkWaitForFences;
  3422. #define vkWaitForFences glad_vkWaitForFences
  3423. GLAD_API_CALL int gladLoadVulkanUserPtr( VkPhysicalDevice physical_device, GLADuserptrloadfunc load, void *userptr);
  3424. GLAD_API_CALL int gladLoadVulkan( VkPhysicalDevice physical_device, GLADloadfunc load);
  3425. #ifdef __cplusplus
  3426. }
  3427. #endif
  3428. #endif