Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
vulkan_core.h
Go to the documentation of this file.
1#ifndef VULKAN_CORE_H_
2#define VULKAN_CORE_H_ 1
3
4/*
5** Copyright 2015-2023 The Khronos Group Inc.
6**
7** SPDX-License-Identifier: Apache-2.0
8*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21
22// VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls.
23#define VK_VERSION_1_0 1
24#include "vk_platform.h"
25
26#define VK_DEFINE_HANDLE(object) typedef struct object##_T* object;
27
28
29#ifndef VK_USE_64_BIT_PTR_DEFINES
30 #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64)
31 #define VK_USE_64_BIT_PTR_DEFINES 1
32 #else
33 #define VK_USE_64_BIT_PTR_DEFINES 0
34 #endif
35#endif
36
37
38#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
39 #if (VK_USE_64_BIT_PTR_DEFINES==1)
40 #if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_MSVC_LANG) && (_MSVC_LANG >= 201103L))
41 #define VK_NULL_HANDLE nullptr
42 #else
43 #define VK_NULL_HANDLE ((void*)0)
44 #endif
45 #else
46 #define VK_NULL_HANDLE 0ULL
47 #endif
48#endif
49#ifndef VK_NULL_HANDLE
50 #define VK_NULL_HANDLE 0
51#endif
52
53
54#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE
55 #if (VK_USE_64_BIT_PTR_DEFINES==1)
56 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
57 #else
58 #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
59 #endif
60#endif
61
62#define VK_MAKE_API_VERSION(variant, major, minor, patch) \
63 ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
64
65// 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.
66//#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0
67
68// Vulkan 1.0 version number
69#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
70
71// Version of this file
72#define VK_HEADER_VERSION 268
73
74// Complete version of this file
75#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
76
77// DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead.
78#define VK_MAKE_VERSION(major, minor, patch) \
79 ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch)))
80
81// DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead.
82#define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U)
83
84// DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead.
85#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
86
87// DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead.
88#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
89
90#define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U)
91#define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU)
92#define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU)
93#define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU)
94typedef uint32_t VkBool32;
95typedef uint64_t VkDeviceAddress;
96typedef uint64_t VkDeviceSize;
97typedef uint32_t VkFlags;
98typedef uint32_t VkSampleMask;
101VK_DEFINE_HANDLE(VkInstance)
102VK_DEFINE_HANDLE(VkPhysicalDevice)
103VK_DEFINE_HANDLE(VkDevice)
104VK_DEFINE_HANDLE(VkQueue)
106VK_DEFINE_HANDLE(VkCommandBuffer)
115VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPipelineLayout)
118VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout)
121VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool)
124#define VK_ATTACHMENT_UNUSED (~0U)
125#define VK_FALSE 0U
126#define VK_LOD_CLAMP_NONE 1000.0F
127#define VK_QUEUE_FAMILY_IGNORED (~0U)
128#define VK_REMAINING_ARRAY_LAYERS (~0U)
129#define VK_REMAINING_MIP_LEVELS (~0U)
130#define VK_SUBPASS_EXTERNAL (~0U)
131#define VK_TRUE 1U
132#define VK_WHOLE_SIZE (~0ULL)
133#define VK_MAX_MEMORY_TYPES 32U
134#define VK_MAX_PHYSICAL_DEVICE_NAME_SIZE 256U
135#define VK_UUID_SIZE 16U
136#define VK_MAX_EXTENSION_NAME_SIZE 256U
137#define VK_MAX_DESCRIPTION_SIZE 256U
138#define VK_MAX_MEMORY_HEAPS 16U
139
140typedef enum VkResult {
167 VK_SUBOPTIMAL_KHR = 1000001003,
181 VK_THREAD_IDLE_KHR = 1000268000,
182 VK_THREAD_DONE_KHR = 1000268001,
185#ifdef VK_ENABLE_BETA_EXTENSIONS
186 VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
187#endif
198 VK_RESULT_MAX_ENUM = 0x7FFFFFFF
200
201typedef enum VkStructureType {
470#ifdef VK_ENABLE_BETA_EXTENSIONS
471 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000,
472#endif
473#ifdef VK_ENABLE_BETA_EXTENSIONS
474 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001,
475#endif
476#ifdef VK_ENABLE_BETA_EXTENSIONS
477 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002,
478#endif
479#ifdef VK_ENABLE_BETA_EXTENSIONS
480 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT = 1000038003,
481#endif
482#ifdef VK_ENABLE_BETA_EXTENSIONS
483 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004,
484#endif
485#ifdef VK_ENABLE_BETA_EXTENSIONS
486 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005,
487#endif
488#ifdef VK_ENABLE_BETA_EXTENSIONS
489 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT = 1000038006,
490#endif
491#ifdef VK_ENABLE_BETA_EXTENSIONS
492 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007,
493#endif
494#ifdef VK_ENABLE_BETA_EXTENSIONS
495 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008,
496#endif
497#ifdef VK_ENABLE_BETA_EXTENSIONS
498 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009,
499#endif
500#ifdef VK_ENABLE_BETA_EXTENSIONS
501 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT = 1000038010,
502#endif
503#ifdef VK_ENABLE_BETA_EXTENSIONS
504 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT = 1000038011,
505#endif
506#ifdef VK_ENABLE_BETA_EXTENSIONS
507 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT = 1000038012,
508#endif
509#ifdef VK_ENABLE_BETA_EXTENSIONS
510 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT = 1000038013,
511#endif
512#ifdef VK_ENABLE_BETA_EXTENSIONS
513 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000,
514#endif
515#ifdef VK_ENABLE_BETA_EXTENSIONS
516 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001,
517#endif
518#ifdef VK_ENABLE_BETA_EXTENSIONS
519 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002,
520#endif
521#ifdef VK_ENABLE_BETA_EXTENSIONS
522 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT = 1000039003,
523#endif
524#ifdef VK_ENABLE_BETA_EXTENSIONS
525 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004,
526#endif
527#ifdef VK_ENABLE_BETA_EXTENSIONS
528 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005,
529#endif
530#ifdef VK_ENABLE_BETA_EXTENSIONS
531 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT = 1000039006,
532#endif
533#ifdef VK_ENABLE_BETA_EXTENSIONS
534 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007,
535#endif
536#ifdef VK_ENABLE_BETA_EXTENSIONS
537 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009,
538#endif
539#ifdef VK_ENABLE_BETA_EXTENSIONS
540 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010,
541#endif
542#ifdef VK_ENABLE_BETA_EXTENSIONS
543 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT = 1000039011,
544#endif
545#ifdef VK_ENABLE_BETA_EXTENSIONS
546 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT = 1000039012,
547#endif
548#ifdef VK_ENABLE_BETA_EXTENSIONS
549 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT = 1000039013,
550#endif
551#ifdef VK_ENABLE_BETA_EXTENSIONS
552 VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT = 1000039014,
553#endif
649#ifdef VK_ENABLE_BETA_EXTENSIONS
650 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000,
651#endif
652#ifdef VK_ENABLE_BETA_EXTENSIONS
653 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001,
654#endif
655#ifdef VK_ENABLE_BETA_EXTENSIONS
656 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002,
657#endif
658#ifdef VK_ENABLE_BETA_EXTENSIONS
659 VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003,
660#endif
661#ifdef VK_ENABLE_BETA_EXTENSIONS
662 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004,
663#endif
705#ifdef VK_ENABLE_BETA_EXTENSIONS
706 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR = 1000163000,
707#endif
708#ifdef VK_ENABLE_BETA_EXTENSIONS
709 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR = 1000163001,
710#endif
870#ifdef VK_ENABLE_BETA_EXTENSIONS
871 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000,
872#endif
873#ifdef VK_ENABLE_BETA_EXTENSIONS
874 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001,
875#endif
876#ifdef VK_ENABLE_BETA_EXTENSIONS
877 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002,
878#endif
879#ifdef VK_ENABLE_BETA_EXTENSIONS
880 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003,
881#endif
882#ifdef VK_ENABLE_BETA_EXTENSIONS
883 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004,
884#endif
885#ifdef VK_ENABLE_BETA_EXTENSIONS
886 VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005,
887#endif
888#ifdef VK_ENABLE_BETA_EXTENSIONS
889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006,
890#endif
891#ifdef VK_ENABLE_BETA_EXTENSIONS
892 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007,
893#endif
894#ifdef VK_ENABLE_BETA_EXTENSIONS
895 VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008,
896#endif
897#ifdef VK_ENABLE_BETA_EXTENSIONS
898 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009,
899#endif
900#ifdef VK_ENABLE_BETA_EXTENSIONS
901 VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010,
902#endif
1023#ifdef VK_ENABLE_BETA_EXTENSIONS
1024 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000,
1025#endif
1026#ifdef VK_ENABLE_BETA_EXTENSIONS
1027 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001,
1028#endif
1029#ifdef VK_ENABLE_BETA_EXTENSIONS
1030 VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002,
1031#endif
1322 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
1324
1329
1330typedef enum VkImageLayout {
1355#ifdef VK_ENABLE_BETA_EXTENSIONS
1356 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000,
1357#endif
1358#ifdef VK_ENABLE_BETA_EXTENSIONS
1359 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001,
1360#endif
1361#ifdef VK_ENABLE_BETA_EXTENSIONS
1362 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
1363#endif
1374 VK_IMAGE_LAYOUT_MAX_ENUM = 0x7FFFFFFF
1376
1377typedef enum VkObjectType {
1430 VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
1432
1443
1452
1457
1458typedef enum VkFormat {
1763 VK_FORMAT_MAX_ENUM = 0x7FFFFFFF
1765
1772
1779
1788
1811
1817
1828
1839
1862
1863typedef enum VkBlendOp {
1915 VK_BLEND_OP_MAX_ENUM = 0x7FFFFFFF
1917
1929
1930typedef enum VkDynamicState {
2018 VK_DYNAMIC_STATE_MAX_ENUM = 0x7FFFFFFF
2020
2026
2032
2047
2055
2067
2087
2099
2107
2117
2123
2146
2154
2164
2176
2182
2191
2198
2199typedef enum VkAccessFlagBits {
2233 VK_ACCESS_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2236
2257
2288#ifdef VK_ENABLE_BETA_EXTENSIONS
2289 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000,
2290#endif
2291#ifdef VK_ENABLE_BETA_EXTENSIONS
2292 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
2293#endif
2308
2338
2350
2366#ifdef VK_ENABLE_BETA_EXTENSIONS
2367 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000,
2368#endif
2369#ifdef VK_ENABLE_BETA_EXTENSIONS
2370 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000,
2371#endif
2372#ifdef VK_ENABLE_BETA_EXTENSIONS
2373 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
2374#endif
2383
2389
2397
2411
2412typedef enum VkQueueFlagBits {
2419#ifdef VK_ENABLE_BETA_EXTENSIONS
2420 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040,
2421#endif
2423 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
2427
2433
2472
2478
2486
2493
2500
2520
2530
2543
2560#ifdef VK_ENABLE_BETA_EXTENSIONS
2561 VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000,
2562#endif
2566#ifdef VK_ENABLE_BETA_EXTENSIONS
2567 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000,
2568#endif
2569#ifdef VK_ENABLE_BETA_EXTENSIONS
2570 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
2571#endif
2584
2593
2600
2609