Update Vulkan CTS to version 1.0.2.3
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / vkBasicTypes.inl
index 24a56f8..aad3052 100644 (file)
 #define VK_TRUE                                                                (static_cast<vk::VkBool32>              (1))
 #define VK_FALSE                                                       (static_cast<vk::VkBool32>              (0))
 
-VK_DEFINE_HANDLE                                       (VkInstance,                            HANDLE_TYPE_INSTANCE);
-VK_DEFINE_HANDLE                                       (VkPhysicalDevice,                      HANDLE_TYPE_PHYSICAL_DEVICE);
-VK_DEFINE_HANDLE                                       (VkDevice,                                      HANDLE_TYPE_DEVICE);
-VK_DEFINE_HANDLE                                       (VkQueue,                                       HANDLE_TYPE_QUEUE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSemaphore,                           HANDLE_TYPE_SEMAPHORE);
-VK_DEFINE_HANDLE                                       (VkCommandBuffer,                       HANDLE_TYPE_COMMAND_BUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFence,                                       HANDLE_TYPE_FENCE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDeviceMemory,                        HANDLE_TYPE_DEVICE_MEMORY);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBuffer,                                      HANDLE_TYPE_BUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImage,                                       HANDLE_TYPE_IMAGE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkEvent,                                       HANDLE_TYPE_EVENT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkQueryPool,                           HANDLE_TYPE_QUERY_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBufferView,                          HANDLE_TYPE_BUFFER_VIEW);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImageView,                           HANDLE_TYPE_IMAGE_VIEW);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkShaderModule,                        HANDLE_TYPE_SHADER_MODULE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineCache,                       HANDLE_TYPE_PIPELINE_CACHE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineLayout,                      HANDLE_TYPE_PIPELINE_LAYOUT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkRenderPass,                          HANDLE_TYPE_RENDER_PASS);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipeline,                            HANDLE_TYPE_PIPELINE);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSetLayout,         HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSampler,                                     HANDLE_TYPE_SAMPLER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorPool,                      HANDLE_TYPE_DESCRIPTOR_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSet,                       HANDLE_TYPE_DESCRIPTOR_SET);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFramebuffer,                         HANDLE_TYPE_FRAMEBUFFER);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkCommandPool,                         HANDLE_TYPE_COMMAND_POOL);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSurfaceKHR,                          HANDLE_TYPE_SURFACE_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSwapchainKHR,                        HANDLE_TYPE_SWAPCHAIN_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayKHR,                          HANDLE_TYPE_DISPLAY_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayModeKHR,                      HANDLE_TYPE_DISPLAY_MODE_KHR);
-VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDebugReportCallbackEXT,      HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT);
+VK_DEFINE_HANDLE                                       (VkInstance,                                    HANDLE_TYPE_INSTANCE);
+VK_DEFINE_HANDLE                                       (VkPhysicalDevice,                              HANDLE_TYPE_PHYSICAL_DEVICE);
+VK_DEFINE_HANDLE                                       (VkDevice,                                              HANDLE_TYPE_DEVICE);
+VK_DEFINE_HANDLE                                       (VkQueue,                                               HANDLE_TYPE_QUEUE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSemaphore,                                   HANDLE_TYPE_SEMAPHORE);
+VK_DEFINE_HANDLE                                       (VkCommandBuffer,                               HANDLE_TYPE_COMMAND_BUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFence,                                               HANDLE_TYPE_FENCE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDeviceMemory,                                HANDLE_TYPE_DEVICE_MEMORY);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBuffer,                                              HANDLE_TYPE_BUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImage,                                               HANDLE_TYPE_IMAGE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkEvent,                                               HANDLE_TYPE_EVENT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkQueryPool,                                   HANDLE_TYPE_QUERY_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkBufferView,                                  HANDLE_TYPE_BUFFER_VIEW);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkImageView,                                   HANDLE_TYPE_IMAGE_VIEW);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkShaderModule,                                HANDLE_TYPE_SHADER_MODULE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineCache,                               HANDLE_TYPE_PIPELINE_CACHE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipelineLayout,                              HANDLE_TYPE_PIPELINE_LAYOUT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkRenderPass,                                  HANDLE_TYPE_RENDER_PASS);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkPipeline,                                    HANDLE_TYPE_PIPELINE);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSetLayout,                 HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSampler,                                             HANDLE_TYPE_SAMPLER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorPool,                              HANDLE_TYPE_DESCRIPTOR_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorSet,                               HANDLE_TYPE_DESCRIPTOR_SET);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkFramebuffer,                                 HANDLE_TYPE_FRAMEBUFFER);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkCommandPool,                                 HANDLE_TYPE_COMMAND_POOL);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSurfaceKHR,                                  HANDLE_TYPE_SURFACE_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkSwapchainKHR,                                HANDLE_TYPE_SWAPCHAIN_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayKHR,                                  HANDLE_TYPE_DISPLAY_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDisplayModeKHR,                              HANDLE_TYPE_DISPLAY_MODE_KHR);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDebugReportCallbackEXT,              HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkObjectTableNVX,                              HANDLE_TYPE_OBJECT_TABLE_NVX);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkIndirectCommandsLayoutNVX,   HANDLE_TYPE_INDIRECT_COMMANDS_LAYOUT_NVX);
+VK_DEFINE_NON_DISPATCHABLE_HANDLE      (VkDescriptorUpdateTemplateKHR, HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR);
 
 enum VkPipelineCacheHeaderVersion
 {
@@ -80,6 +83,7 @@ enum VkResult
        VK_ERROR_INCOMPATIBLE_DISPLAY_KHR       = -1000003001,
        VK_ERROR_VALIDATION_FAILED_EXT          = -1000011001,
        VK_ERROR_INVALID_SHADER_NV                      = -1000012000,
+       VK_ERROR_OUT_OF_POOL_MEMORY_KHR         = -1000069000,
 };
 
 enum VkStructureType
@@ -152,6 +156,35 @@ enum VkStructureType
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV                             = 1000026000,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV                    = 1000026001,
        VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV                  = 1000026002,
+       VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV                                  = 1000056000,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV                                                = 1000056001,
+       VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV                                    = 1000057000,
+       VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV                                    = 1000057001,
+       VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV                             = 1000058000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2_KHR                                                = 1000059000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2_KHR                                              = 1000059001,
+       VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR                                                               = 1000059002,
+       VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2_KHR                                                 = 1000059003,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR                               = 1000059004,
+       VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2_KHR                                                 = 1000059005,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR                               = 1000059006,
+       VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2_KHR                                  = 1000059007,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2_KHR                = 1000059008,
+       VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT                                                                  = 1000061000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR                = 1000080000,
+       VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR                                                                   = 1000084000,
+       VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR                               = 1000111000,
+       VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO_KHR                    = 1000085000,
+       VK_STRUCTURE_TYPE_OBJECT_TABLE_CREATE_INFO_NVX                                                  = 1000086000,
+       VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NVX                              = 1000086001,
+       VK_STRUCTURE_TYPE_CMD_PROCESS_COMMANDS_INFO_NVX                                                 = 1000086002,
+       VK_STRUCTURE_TYPE_CMD_RESERVE_SPACE_FOR_COMMANDS_INFO_NVX                               = 1000086003,
+       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_LIMITS_NVX                                  = 1000086004,
+       VK_STRUCTURE_TYPE_DEVICE_GENERATED_COMMANDS_FEATURES_NVX                                = 1000086005,
+       VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE                                                             = 1000092000,
+       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR                                    = 1000119000,
+       VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR                                                    = 1000119001,
+       VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR                                                                  = 1000119002,
 };
 
 enum VkSystemAllocationScope
@@ -359,8 +392,14 @@ enum VkFormat
        VK_FORMAT_ASTC_12x10_SRGB_BLOCK                 = 182,
        VK_FORMAT_ASTC_12x12_UNORM_BLOCK                = 183,
        VK_FORMAT_ASTC_12x12_SRGB_BLOCK                 = 184,
-
-       VK_FORMAT_LAST
+       VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG   = 1000054000,
+       VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG   = 1000054001,
+       VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG   = 1000054002,
+       VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG   = 1000054003,
+       VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG    = 1000054004,
+       VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG    = 1000054005,
+       VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG    = 1000054006,
+       VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG    = 1000054007,
 };
 
 enum VkImageType
@@ -420,6 +459,7 @@ enum VkImageLayout
        VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL                            = 7,
        VK_IMAGE_LAYOUT_PREINITIALIZED                                          = 8,
        VK_IMAGE_LAYOUT_PRESENT_SRC_KHR                                         = 1000001002,
+       VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR                                      = 1000111000,
 };
 
 enum VkImageViewType
@@ -697,19 +737,30 @@ enum VkSubpassContents
 
 enum VkColorSpaceKHR
 {
-       VK_COLOR_SPACE_SRGB_NONLINEAR_KHR       = 0,
-
-       VK_COLOR_SPACE_KHR_LAST
+       VK_COLOR_SPACE_SRGB_NONLINEAR_KHR               = 0,
+       VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT = 1000104001,
+       VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT = 1000104002,
+       VK_COLOR_SPACE_DCI_P3_LINEAR_EXT                = 1000104003,
+       VK_COLOR_SPACE_DCI_P3_NONLINEAR_EXT             = 1000104004,
+       VK_COLOR_SPACE_BT709_LINEAR_EXT                 = 1000104005,
+       VK_COLOR_SPACE_BT709_NONLINEAR_EXT              = 1000104006,
+       VK_COLOR_SPACE_BT2020_LINEAR_EXT                = 1000104007,
+       VK_COLOR_SPACE_HDR10_ST2084_EXT                 = 1000104008,
+       VK_COLOR_SPACE_DOLBYVISION_EXT                  = 1000104009,
+       VK_COLOR_SPACE_HDR10_HLG_EXT                    = 1000104010,
+       VK_COLOR_SPACE_ADOBERGB_LINEAR_EXT              = 1000104011,
+       VK_COLOR_SPACE_ADOBERGB_NONLINEAR_EXT   = 1000104012,
+       VK_COLOR_SPACE_PASS_THROUGH_EXT                 = 1000104013,
 };
 
 enum VkPresentModeKHR
 {
-       VK_PRESENT_MODE_IMMEDIATE_KHR           = 0,
-       VK_PRESENT_MODE_MAILBOX_KHR                     = 1,
-       VK_PRESENT_MODE_FIFO_KHR                        = 2,
-       VK_PRESENT_MODE_FIFO_RELAXED_KHR        = 3,
-
-       VK_PRESENT_MODE_KHR_LAST
+       VK_PRESENT_MODE_IMMEDIATE_KHR                                   = 0,
+       VK_PRESENT_MODE_MAILBOX_KHR                                             = 1,
+       VK_PRESENT_MODE_FIFO_KHR                                                = 2,
+       VK_PRESENT_MODE_FIFO_RELAXED_KHR                                = 3,
+       VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR               = 1000111000,
+       VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR   = 1000111001,
 };
 
 enum VkDebugReportObjectTypeEXT
@@ -763,6 +814,46 @@ enum VkRasterizationOrderAMD
        VK_RASTERIZATION_ORDER_AMD_LAST
 };
 
+enum VkValidationCheckEXT
+{
+       VK_VALIDATION_CHECK_ALL_EXT     = 0,
+
+       VK_VALIDATION_CHECK_EXT_LAST
+};
+
+enum VkIndirectCommandsTokenTypeNVX
+{
+       VK_INDIRECT_COMMANDS_TOKEN_PIPELINE_NVX                 = 0,
+       VK_INDIRECT_COMMANDS_TOKEN_DESCRIPTOR_SET_NVX   = 1,
+       VK_INDIRECT_COMMANDS_TOKEN_INDEX_BUFFER_NVX             = 2,
+       VK_INDIRECT_COMMANDS_TOKEN_VERTEX_BUFFER_NVX    = 3,
+       VK_INDIRECT_COMMANDS_TOKEN_PUSH_CONSTANT_NVX    = 4,
+       VK_INDIRECT_COMMANDS_TOKEN_DRAW_INDEXED_NVX             = 5,
+       VK_INDIRECT_COMMANDS_TOKEN_DRAW_NVX                             = 6,
+       VK_INDIRECT_COMMANDS_TOKEN_DISPATCH_NVX                 = 7,
+
+       VK_INDIRECT_COMMANDS_TOKEN_TYPE_NVX_LAST
+};
+
+enum VkObjectEntryTypeNVX
+{
+       VK_OBJECT_ENTRY_DESCRIPTOR_SET_NVX      = 0,
+       VK_OBJECT_ENTRY_PIPELINE_NVX            = 1,
+       VK_OBJECT_ENTRY_INDEX_BUFFER_NVX        = 2,
+       VK_OBJECT_ENTRY_VERTEX_BUFFER_NVX       = 3,
+       VK_OBJECT_ENTRY_PUSH_CONSTANT_NVX       = 4,
+
+       VK_OBJECT_ENTRY_TYPE_NVX_LAST
+};
+
+enum VkDescriptorUpdateTemplateTypeKHR
+{
+       VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR   = 0,
+       VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR = 1,
+
+       VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_KHR_LAST
+};
+
 enum VkFormatFeatureFlagBits
 {
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT                                             = 0x00000001,
@@ -779,6 +870,8 @@ enum VkFormatFeatureFlagBits
        VK_FORMAT_FEATURE_BLIT_DST_BIT                                                  = 0x00000800,
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT               = 0x00001000,
        VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG    = 0x00002000,
+       VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR                                  = 0x00004000,
+       VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR                                  = 0x00008000,
 };
 typedef deUint32 VkFormatFeatureFlags;
 
@@ -797,11 +890,12 @@ typedef deUint32 VkImageUsageFlags;
 
 enum VkImageCreateFlagBits
 {
-       VK_IMAGE_CREATE_SPARSE_BINDING_BIT              = 0x00000001,
-       VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT    = 0x00000002,
-       VK_IMAGE_CREATE_SPARSE_ALIASED_BIT              = 0x00000004,
-       VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT              = 0x00000008,
-       VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT             = 0x00000010,
+       VK_IMAGE_CREATE_SPARSE_BINDING_BIT                      = 0x00000001,
+       VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT            = 0x00000002,
+       VK_IMAGE_CREATE_SPARSE_ALIASED_BIT                      = 0x00000004,
+       VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT                      = 0x00000008,
+       VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT                     = 0x00000010,
+       VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR     = 0x00000020,
 };
 typedef deUint32 VkImageCreateFlags;
 
@@ -861,6 +955,7 @@ enum VkPipelineStageFlagBits
        VK_PIPELINE_STAGE_HOST_BIT                                                              = 0x00004000,
        VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                                              = 0x00008000,
        VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                                              = 0x00010000,
+       VK_PIPELINE_STAGE_COMMAND_PROCESS_BIT_NVX                               = 0x00020000,
 };
 typedef deUint32 VkPipelineStageFlags;
 
@@ -979,6 +1074,12 @@ enum VkColorComponentFlagBits
 };
 typedef deUint32 VkColorComponentFlags;
 
+enum VkDescriptorSetLayoutCreateFlagBits
+{
+       VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
+};
+typedef deUint32 VkDescriptorSetLayoutCreateFlags;
+
 enum VkDescriptorPoolCreateFlagBits
 {
        VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT       = 0x00000001,
@@ -1102,6 +1203,39 @@ enum VkDebugReportFlagBitsEXT
 };
 typedef deUint32 VkDebugReportFlagsEXT;
 
+enum VkExternalMemoryHandleTypeFlagBitsNV
+{
+       VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV              = 0x00000001,
+       VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV  = 0x00000002,
+       VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV               = 0x00000004,
+       VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV   = 0x00000008,
+};
+typedef deUint32 VkExternalMemoryHandleTypeFlagsNV;
+
+enum VkExternalMemoryFeatureFlagBitsNV
+{
+       VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV        = 0x00000001,
+       VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV            = 0x00000002,
+       VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV            = 0x00000004,
+};
+typedef deUint32 VkExternalMemoryFeatureFlagsNV;
+
+enum VkIndirectCommandsLayoutUsageFlagBitsNVX
+{
+       VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NVX   = 0x00000001,
+       VK_INDIRECT_COMMANDS_LAYOUT_USAGE_SPARSE_SEQUENCES_BIT_NVX              = 0x00000002,
+       VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EMPTY_EXECUTIONS_BIT_NVX              = 0x00000004,
+       VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NVX             = 0x00000008,
+};
+typedef deUint32 VkIndirectCommandsLayoutUsageFlagsNVX;
+
+enum VkObjectEntryUsageFlagBitsNVX
+{
+       VK_OBJECT_ENTRY_USAGE_GRAPHICS_BIT_NVX  = 0x00000001,
+       VK_OBJECT_ENTRY_USAGE_COMPUTE_BIT_NVX   = 0x00000002,
+};
+typedef deUint32 VkObjectEntryUsageFlagsNVX;
+
 typedef deUint32 VkInstanceCreateFlags;
 
 typedef deUint32 VkDeviceCreateFlags;
@@ -1148,8 +1282,6 @@ typedef deUint32 VkPipelineLayoutCreateFlags;
 
 typedef deUint32 VkSamplerCreateFlags;
 
-typedef deUint32 VkDescriptorSetLayoutCreateFlags;
-
 typedef deUint32 VkDescriptorPoolResetFlags;
 
 typedef deUint32 VkFramebufferCreateFlags;
@@ -1176,16 +1308,22 @@ typedef deUint32 VkAndroidSurfaceCreateFlagsKHR;
 
 typedef deUint32 VkWin32SurfaceCreateFlagsKHR;
 
-VK_DEFINE_PLATFORM_TYPE(XlibDisplayPtr,                        void*);
-VK_DEFINE_PLATFORM_TYPE(XlibWindow,                            deUintptr);
-VK_DEFINE_PLATFORM_TYPE(XlibVisualID,                  deUint32);
-VK_DEFINE_PLATFORM_TYPE(XcbConnectionPtr,              void*);
-VK_DEFINE_PLATFORM_TYPE(XcbWindow,                             deUintptr);
-VK_DEFINE_PLATFORM_TYPE(XcbVisualid,                   deUint32);
-VK_DEFINE_PLATFORM_TYPE(WaylandDisplayPtr,             void*);
-VK_DEFINE_PLATFORM_TYPE(WaylandSurfacePtr,             void*);
-VK_DEFINE_PLATFORM_TYPE(MirConnectionPtr,              void*);
-VK_DEFINE_PLATFORM_TYPE(MirSurfacePtr,                 void*);
-VK_DEFINE_PLATFORM_TYPE(AndroidNativeWindowPtr,        void*);
-VK_DEFINE_PLATFORM_TYPE(Win32InstanceHandle,   void*);
-VK_DEFINE_PLATFORM_TYPE(Win32WindowHandle,             void*);
+typedef deUint32 VkCommandPoolTrimFlagsKHR;
+
+typedef deUint32 VkDescriptorUpdateTemplateCreateFlagsKHR;
+
+VK_DEFINE_PLATFORM_TYPE(XlibDisplayPtr,                                void*);
+VK_DEFINE_PLATFORM_TYPE(XlibWindow,                                    deUintptr);
+VK_DEFINE_PLATFORM_TYPE(XlibVisualID,                          deUint32);
+VK_DEFINE_PLATFORM_TYPE(XcbConnectionPtr,                      void*);
+VK_DEFINE_PLATFORM_TYPE(XcbWindow,                                     deUintptr);
+VK_DEFINE_PLATFORM_TYPE(XcbVisualid,                           deUint32);
+VK_DEFINE_PLATFORM_TYPE(WaylandDisplayPtr,                     void*);
+VK_DEFINE_PLATFORM_TYPE(WaylandSurfacePtr,                     void*);
+VK_DEFINE_PLATFORM_TYPE(MirConnectionPtr,                      void*);
+VK_DEFINE_PLATFORM_TYPE(MirSurfacePtr,                         void*);
+VK_DEFINE_PLATFORM_TYPE(AndroidNativeWindowPtr,                void*);
+VK_DEFINE_PLATFORM_TYPE(Win32InstanceHandle,           void*);
+VK_DEFINE_PLATFORM_TYPE(Win32WindowHandle,                     void*);
+VK_DEFINE_PLATFORM_TYPE(Win32Handle,                           void*);
+VK_DEFINE_PLATFORM_TYPE(Win32SecurityAttributesPtr,    const void*);