mirror of
https://github.com/ZDoom/zdoom-macos-deps.git
synced 2024-11-10 14:41:43 +00:00
update vulkan-headers to 1.3.224
This commit is contained in:
parent
5a68c9c131
commit
39dc52f022
20 changed files with 21805 additions and 16958 deletions
1516
deps/vulkan-headers/include/vulkan/vulkan.hpp
vendored
1516
deps/vulkan-headers/include/vulkan/vulkan.hpp
vendored
File diff suppressed because it is too large
Load diff
26
deps/vulkan-headers/include/vulkan/vulkan_beta.h
vendored
26
deps/vulkan-headers/include/vulkan/vulkan_beta.h
vendored
|
@ -22,7 +22,7 @@ extern "C" {
|
|||
#define VK_KHR_video_queue 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
|
||||
#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 3
|
||||
#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 4
|
||||
#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
|
||||
|
||||
typedef enum VkQueryResultStatusKHR {
|
||||
|
@ -102,7 +102,7 @@ typedef VkFlags VkVideoCodingQualityPresetFlagsKHR;
|
|||
typedef struct VkQueueFamilyQueryResultStatusProperties2KHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 supported;
|
||||
VkBool32 queryResultStatusSupport;
|
||||
} VkQueueFamilyQueryResultStatusProperties2KHR;
|
||||
|
||||
typedef struct VkVideoQueueFamilyProperties2KHR {
|
||||
|
@ -113,7 +113,7 @@ typedef struct VkVideoQueueFamilyProperties2KHR {
|
|||
|
||||
typedef struct VkVideoProfileKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
const void* pNext;
|
||||
VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
|
||||
VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
|
||||
VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
|
||||
|
@ -122,7 +122,7 @@ typedef struct VkVideoProfileKHR {
|
|||
|
||||
typedef struct VkVideoProfilesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
const void* pNext;
|
||||
uint32_t profileCount;
|
||||
const VkVideoProfileKHR* pProfiles;
|
||||
} VkVideoProfilesKHR;
|
||||
|
@ -142,16 +142,20 @@ typedef struct VkVideoCapabilitiesKHR {
|
|||
} VkVideoCapabilitiesKHR;
|
||||
|
||||
typedef struct VkPhysicalDeviceVideoFormatInfoKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkImageUsageFlags imageUsage;
|
||||
const VkVideoProfilesKHR* pVideoProfiles;
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkImageUsageFlags imageUsage;
|
||||
} VkPhysicalDeviceVideoFormatInfoKHR;
|
||||
|
||||
typedef struct VkVideoFormatPropertiesKHR {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkFormat format;
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkFormat format;
|
||||
VkComponentMapping componentMapping;
|
||||
VkImageCreateFlags imageCreateFlags;
|
||||
VkImageType imageType;
|
||||
VkImageTiling imageTiling;
|
||||
VkImageUsageFlags imageUsageFlags;
|
||||
} VkVideoFormatPropertiesKHR;
|
||||
|
||||
typedef struct VkVideoPictureResourceKHR {
|
||||
|
|
297
deps/vulkan-headers/include/vulkan/vulkan_core.h
vendored
297
deps/vulkan-headers/include/vulkan/vulkan_core.h
vendored
|
@ -72,7 +72,7 @@ extern "C" {
|
|||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 216
|
||||
#define VK_HEADER_VERSION 224
|
||||
|
||||
// Complete version of this file
|
||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
|
||||
|
@ -168,6 +168,24 @@ typedef enum VkResult {
|
|||
VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001,
|
||||
VK_ERROR_VALIDATION_FAILED_EXT = -1000011001,
|
||||
VK_ERROR_INVALID_SHADER_NV = -1000012000,
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000,
|
||||
#endif
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001,
|
||||
#endif
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002,
|
||||
#endif
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003,
|
||||
#endif
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004,
|
||||
#endif
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005,
|
||||
#endif
|
||||
VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000,
|
||||
VK_ERROR_NOT_PERMITTED_KHR = -1000174001,
|
||||
VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000,
|
||||
|
@ -596,6 +614,9 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN = 1000062000,
|
||||
VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT = 1000067000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT = 1000067001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT = 1000068000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT = 1000068001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT = 1000068002,
|
||||
VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073000,
|
||||
VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR = 1000073001,
|
||||
VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR = 1000073002,
|
||||
|
@ -871,6 +892,18 @@ typedef enum VkStructureType {
|
|||
#endif
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000,
|
||||
VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT = 1000311003,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT = 1000311004,
|
||||
VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT = 1000311005,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT = 1000311006,
|
||||
VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT = 1000311007,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT = 1000311008,
|
||||
VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT = 1000311009,
|
||||
VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311010,
|
||||
VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
|
||||
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
|
||||
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
|
||||
|
@ -896,6 +929,7 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002,
|
||||
VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003,
|
||||
VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000,
|
||||
|
@ -932,6 +966,9 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000,
|
||||
VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001,
|
||||
VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
|
||||
VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX = 1000378000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
|
||||
|
@ -949,15 +986,27 @@ typedef enum VkStructureType {
|
|||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001,
|
||||
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001,
|
||||
VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001,
|
||||
VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002,
|
||||
VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001,
|
||||
VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002,
|
||||
VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
|
||||
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
|
||||
VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES,
|
||||
VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
|
||||
|
@ -1176,6 +1225,7 @@ typedef enum VkImageLayout {
|
|||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002,
|
||||
#endif
|
||||
VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000,
|
||||
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
|
||||
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
|
||||
VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV = VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR,
|
||||
|
@ -1875,8 +1925,8 @@ typedef enum VkBorderColor {
|
|||
typedef enum VkFilter {
|
||||
VK_FILTER_NEAREST = 0,
|
||||
VK_FILTER_LINEAR = 1,
|
||||
VK_FILTER_CUBIC_IMG = 1000015000,
|
||||
VK_FILTER_CUBIC_EXT = VK_FILTER_CUBIC_IMG,
|
||||
VK_FILTER_CUBIC_EXT = 1000015000,
|
||||
VK_FILTER_CUBIC_IMG = VK_FILTER_CUBIC_EXT,
|
||||
VK_FILTER_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkFilter;
|
||||
|
||||
|
@ -1912,6 +1962,8 @@ typedef enum VkDescriptorType {
|
|||
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000,
|
||||
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000,
|
||||
VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000,
|
||||
VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000,
|
||||
VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001,
|
||||
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK,
|
||||
VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkDescriptorType;
|
||||
|
@ -2047,7 +2099,6 @@ typedef enum VkFormatFeatureFlagBits {
|
|||
VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000,
|
||||
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000,
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000,
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = 0x00002000,
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000,
|
||||
#endif
|
||||
|
@ -2055,6 +2106,7 @@ typedef enum VkFormatFeatureFlagBits {
|
|||
VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000,
|
||||
#endif
|
||||
VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000,
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000,
|
||||
VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000,
|
||||
VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000,
|
||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
|
@ -2063,6 +2115,7 @@ typedef enum VkFormatFeatureFlagBits {
|
|||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000,
|
||||
#endif
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT,
|
||||
VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
|
||||
VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT,
|
||||
|
@ -2073,7 +2126,6 @@ typedef enum VkFormatFeatureFlagBits {
|
|||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR = VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT,
|
||||
VK_FORMAT_FEATURE_DISJOINT_BIT_KHR = VK_FORMAT_FEATURE_DISJOINT_BIT,
|
||||
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT_KHR = VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT,
|
||||
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG,
|
||||
VK_FORMAT_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkFormatFeatureFlagBits;
|
||||
typedef VkFlags VkFormatFeatureFlags;
|
||||
|
@ -2094,6 +2146,7 @@ typedef enum VkImageCreateFlagBits {
|
|||
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
|
||||
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
|
||||
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
|
||||
VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
|
||||
VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
|
||||
VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
|
||||
VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
|
||||
|
@ -2147,7 +2200,10 @@ typedef enum VkImageUsageFlagBits {
|
|||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||
VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000,
|
||||
#endif
|
||||
VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000,
|
||||
VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000,
|
||||
VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000,
|
||||
VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM = 0x00200000,
|
||||
VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV = VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
|
||||
VK_IMAGE_USAGE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkImageUsageFlagBits;
|
||||
|
@ -2396,6 +2452,8 @@ typedef enum VkPipelineCreateFlagBits {
|
|||
VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
|
||||
VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
|
||||
VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
|
||||
VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000,
|
||||
VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000,
|
||||
VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT,
|
||||
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR,
|
||||
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT,
|
||||
|
@ -2482,6 +2540,8 @@ typedef VkFlags VkShaderStageFlags;
|
|||
typedef enum VkSamplerCreateFlagBits {
|
||||
VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
|
||||
VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
|
||||
VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
|
||||
VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
|
||||
VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||
} VkSamplerCreateFlagBits;
|
||||
typedef VkFlags VkSamplerCreateFlags;
|
||||
|
@ -2515,6 +2575,7 @@ typedef enum VkDependencyFlagBits {
|
|||
VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
|
||||
VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004,
|
||||
VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002,
|
||||
VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008,
|
||||
VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT,
|
||||
VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT,
|
||||
VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
|
||||
|
@ -5544,6 +5605,7 @@ typedef enum VkDriverId {
|
|||
VK_DRIVER_ID_MESA_PANVK = 20,
|
||||
VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
|
||||
VK_DRIVER_ID_MESA_VENUS = 22,
|
||||
VK_DRIVER_ID_MESA_DOZEN = 23,
|
||||
VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
|
||||
VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
|
||||
VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
|
||||
|
@ -6545,6 +6607,10 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT
|
|||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL;
|
||||
#endif
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL;
|
||||
static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL;
|
||||
|
||||
typedef struct VkPhysicalDeviceVulkan13Features {
|
||||
VkStructureType sType;
|
||||
|
@ -10249,6 +10315,51 @@ typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
|
|||
|
||||
|
||||
|
||||
#define VK_EXT_pipeline_robustness 1
|
||||
#define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1
|
||||
#define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness"
|
||||
|
||||
typedef enum VkPipelineRobustnessBufferBehaviorEXT {
|
||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
|
||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT = 1,
|
||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT = 2,
|
||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT = 3,
|
||||
VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||
} VkPipelineRobustnessBufferBehaviorEXT;
|
||||
|
||||
typedef enum VkPipelineRobustnessImageBehaviorEXT {
|
||||
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DEVICE_DEFAULT_EXT = 0,
|
||||
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT = 1,
|
||||
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_EXT = 2,
|
||||
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT = 3,
|
||||
VK_PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||
} VkPipelineRobustnessImageBehaviorEXT;
|
||||
typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 pipelineRobustness;
|
||||
} VkPhysicalDevicePipelineRobustnessFeaturesEXT;
|
||||
|
||||
typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers;
|
||||
VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers;
|
||||
VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs;
|
||||
VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages;
|
||||
} VkPhysicalDevicePipelineRobustnessPropertiesEXT;
|
||||
|
||||
typedef struct VkPipelineRobustnessCreateInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkPipelineRobustnessBufferBehaviorEXT storageBuffers;
|
||||
VkPipelineRobustnessBufferBehaviorEXT uniformBuffers;
|
||||
VkPipelineRobustnessBufferBehaviorEXT vertexInputs;
|
||||
VkPipelineRobustnessImageBehaviorEXT images;
|
||||
} VkPipelineRobustnessCreateInfoEXT;
|
||||
|
||||
|
||||
|
||||
#define VK_EXT_conditional_rendering 1
|
||||
#define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2
|
||||
#define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering"
|
||||
|
@ -13080,7 +13191,7 @@ typedef VkPhysicalDeviceTexelBufferAlignmentProperties VkPhysicalDeviceTexelBuff
|
|||
|
||||
|
||||
#define VK_QCOM_render_pass_transform 1
|
||||
#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 2
|
||||
#define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 3
|
||||
#define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform"
|
||||
typedef struct VkRenderPassTransformBeginInfoQCOM {
|
||||
VkStructureType sType;
|
||||
|
@ -13622,6 +13733,17 @@ VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT(
|
|||
#endif
|
||||
|
||||
|
||||
#define VK_EXT_attachment_feedback_loop_layout 1
|
||||
#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2
|
||||
#define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout"
|
||||
typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 attachmentFeedbackLoopLayout;
|
||||
} VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
|
||||
|
||||
|
||||
|
||||
#define VK_EXT_4444_formats 1
|
||||
#define VK_EXT_4444_FORMATS_SPEC_VERSION 1
|
||||
#define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats"
|
||||
|
@ -13892,6 +14014,30 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelinePropertiesEXT(
|
|||
#endif
|
||||
|
||||
|
||||
#define VK_EXT_multisampled_render_to_single_sampled 1
|
||||
#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1
|
||||
#define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled"
|
||||
typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 multisampledRenderToSingleSampled;
|
||||
} VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
|
||||
|
||||
typedef struct VkSubpassResolvePerformanceQueryEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 optimal;
|
||||
} VkSubpassResolvePerformanceQueryEXT;
|
||||
|
||||
typedef struct VkMultisampledRenderToSingleSampledInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkBool32 multisampledRenderToSingleSampledEnable;
|
||||
VkSampleCountFlagBits rasterizationSamples;
|
||||
} VkMultisampledRenderToSingleSampledInfoEXT;
|
||||
|
||||
|
||||
|
||||
#define VK_EXT_extended_dynamic_state2 1
|
||||
#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1
|
||||
#define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2"
|
||||
|
@ -14141,6 +14287,17 @@ VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE(
|
|||
#endif
|
||||
|
||||
|
||||
#define VK_EXT_non_seamless_cube_map 1
|
||||
#define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1
|
||||
#define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map"
|
||||
typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 nonSeamlessCubeMap;
|
||||
} VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
|
||||
|
||||
|
||||
|
||||
#define VK_QCOM_fragment_density_map_offset 1
|
||||
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1
|
||||
#define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset"
|
||||
|
@ -14192,6 +14349,36 @@ typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT {
|
|||
|
||||
|
||||
|
||||
#define VK_QCOM_image_processing 1
|
||||
#define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1
|
||||
#define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing"
|
||||
typedef struct VkImageViewSampleWeightCreateInfoQCOM {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkOffset2D filterCenter;
|
||||
VkExtent2D filterSize;
|
||||
uint32_t numPhases;
|
||||
} VkImageViewSampleWeightCreateInfoQCOM;
|
||||
|
||||
typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 textureSampleWeighted;
|
||||
VkBool32 textureBoxFilter;
|
||||
VkBool32 textureBlockMatch;
|
||||
} VkPhysicalDeviceImageProcessingFeaturesQCOM;
|
||||
|
||||
typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t maxWeightFilterPhases;
|
||||
VkExtent2D maxWeightFilterDimension;
|
||||
VkExtent2D maxBlockMatchRegion;
|
||||
VkExtent2D maxBoxFilterBlockSize;
|
||||
} VkPhysicalDeviceImageProcessingPropertiesQCOM;
|
||||
|
||||
|
||||
|
||||
#define VK_EXT_subpass_merge_feedback 1
|
||||
#define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2
|
||||
#define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback"
|
||||
|
@ -14249,6 +14436,104 @@ typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT {
|
|||
|
||||
|
||||
|
||||
#define VK_EXT_shader_module_identifier 1
|
||||
#define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U
|
||||
#define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1
|
||||
#define VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME "VK_EXT_shader_module_identifier"
|
||||
typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 shaderModuleIdentifier;
|
||||
} VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT;
|
||||
|
||||
typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint8_t shaderModuleIdentifierAlgorithmUUID[VK_UUID_SIZE];
|
||||
} VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT;
|
||||
|
||||
typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint32_t identifierSize;
|
||||
const uint8_t* pIdentifier;
|
||||
} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;
|
||||
|
||||
typedef struct VkShaderModuleIdentifierEXT {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint32_t identifierSize;
|
||||
uint8_t identifier[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT];
|
||||
} VkShaderModuleIdentifierEXT;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkGetShaderModuleIdentifierEXT)(VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier);
|
||||
typedef void (VKAPI_PTR *PFN_vkGetShaderModuleCreateInfoIdentifierEXT)(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleIdentifierEXT(
|
||||
VkDevice device,
|
||||
VkShaderModule shaderModule,
|
||||
VkShaderModuleIdentifierEXT* pIdentifier);
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL vkGetShaderModuleCreateInfoIdentifierEXT(
|
||||
VkDevice device,
|
||||
const VkShaderModuleCreateInfo* pCreateInfo,
|
||||
VkShaderModuleIdentifierEXT* pIdentifier);
|
||||
#endif
|
||||
|
||||
|
||||
#define VK_QCOM_tile_properties 1
|
||||
#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
|
||||
#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
|
||||
typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 tileProperties;
|
||||
} VkPhysicalDeviceTilePropertiesFeaturesQCOM;
|
||||
|
||||
typedef struct VkTilePropertiesQCOM {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkExtent3D tileSize;
|
||||
VkExtent2D apronSize;
|
||||
VkOffset2D origin;
|
||||
} VkTilePropertiesQCOM;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetFramebufferTilePropertiesQCOM)(VkDevice device, VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetDynamicRenderingTilePropertiesQCOM)(VkDevice device, const VkRenderingInfo* pRenderingInfo, VkTilePropertiesQCOM* pProperties);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetFramebufferTilePropertiesQCOM(
|
||||
VkDevice device,
|
||||
VkFramebuffer framebuffer,
|
||||
uint32_t* pPropertiesCount,
|
||||
VkTilePropertiesQCOM* pProperties);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetDynamicRenderingTilePropertiesQCOM(
|
||||
VkDevice device,
|
||||
const VkRenderingInfo* pRenderingInfo,
|
||||
VkTilePropertiesQCOM* pProperties);
|
||||
#endif
|
||||
|
||||
|
||||
#define VK_SEC_amigo_profiling 1
|
||||
#define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1
|
||||
#define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling"
|
||||
typedef struct VkPhysicalDeviceAmigoProfilingFeaturesSEC {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkBool32 amigoProfiling;
|
||||
} VkPhysicalDeviceAmigoProfilingFeaturesSEC;
|
||||
|
||||
typedef struct VkAmigoProfilingSubmitInfoSEC {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
uint64_t firstDrawTimestamp;
|
||||
uint64_t swapBufferTimestamp;
|
||||
} VkAmigoProfilingSubmitInfoSEC;
|
||||
|
||||
|
||||
|
||||
#define VK_KHR_acceleration_structure 1
|
||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
|
||||
#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
|
||||
|
|
7482
deps/vulkan-headers/include/vulkan/vulkan_enums.hpp
vendored
7482
deps/vulkan-headers/include/vulkan/vulkan_enums.hpp
vendored
File diff suppressed because it is too large
Load diff
205
deps/vulkan-headers/include/vulkan/vulkan_funcs.hpp
vendored
205
deps/vulkan-headers/include/vulkan/vulkan_funcs.hpp
vendored
|
@ -17968,6 +17968,44 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
//=== VK_EXT_metal_objects ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void Device::exportMetalObjectsEXT( VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT * pMetalObjectsInfo,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkExportMetalObjectsEXT( m_device, reinterpret_cast<VkExportMetalObjectsInfoEXT *>( pMetalObjectsInfo ) );
|
||||
}
|
||||
|
||||
# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT
|
||||
Device::exportMetalObjectsEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT metalObjectsInfo;
|
||||
d.vkExportMetalObjectsEXT( m_device, reinterpret_cast<VkExportMetalObjectsInfoEXT *>( &metalObjectsInfo ) );
|
||||
|
||||
return metalObjectsInfo;
|
||||
}
|
||||
|
||||
template <typename X, typename Y, typename... Z, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...> Device::exportMetalObjectsEXT( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
StructureChain<X, Y, Z...> structureChain;
|
||||
VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT & metalObjectsInfo = structureChain.template get<VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT>();
|
||||
d.vkExportMetalObjectsEXT( m_device, reinterpret_cast<VkExportMetalObjectsInfoEXT *>( &metalObjectsInfo ) );
|
||||
|
||||
return structureChain;
|
||||
}
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
//=== VK_KHR_synchronization2 ===
|
||||
|
||||
template <typename Dispatch>
|
||||
|
@ -19346,21 +19384,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelineProperties );
|
||||
}
|
||||
|
||||
template <typename X, typename Y, typename... Z, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
|
||||
Device::getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
StructureChain<X, Y, Z...> structureChain;
|
||||
VULKAN_HPP_NAMESPACE::BaseOutStructure & pipelineProperties = structureChain.template get<VULKAN_HPP_NAMESPACE::BaseOutStructure>();
|
||||
VkResult result = d.vkGetPipelinePropertiesEXT(
|
||||
m_device, reinterpret_cast<const VkPipelineInfoEXT *>( &pipelineInfo ), reinterpret_cast<VkBaseOutStructure *>( &pipelineProperties ) );
|
||||
resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" );
|
||||
|
||||
return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), structureChain );
|
||||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state2 ===
|
||||
|
@ -19791,5 +19814,157 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_EXT_shader_module_identifier ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void Device::getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkGetShaderModuleIdentifierEXT( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( pIdentifier ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
|
||||
Device::getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT identifier;
|
||||
d.vkGetShaderModuleIdentifierEXT( m_device, static_cast<VkShaderModule>( shaderModule ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) );
|
||||
|
||||
return identifier;
|
||||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE void Device::getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkGetShaderModuleCreateInfoIdentifierEXT(
|
||||
m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>( pCreateInfo ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( pIdentifier ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
|
||||
Device::getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT identifier;
|
||||
d.vkGetShaderModuleCreateInfoIdentifierEXT(
|
||||
m_device, reinterpret_cast<const VkShaderModuleCreateInfo *>( &createInfo ), reinterpret_cast<VkShaderModuleIdentifierEXT *>( &identifier ) );
|
||||
|
||||
return identifier;
|
||||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_QCOM_tile_properties ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
|
||||
uint32_t * pPropertiesCount,
|
||||
VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>( d.vkGetFramebufferTilePropertiesQCOM(
|
||||
m_device, static_cast<VkFramebuffer>( framebuffer ), pPropertiesCount, reinterpret_cast<VkTilePropertiesQCOM *>( pProperties ) ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename TilePropertiesQCOMAllocator, typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
|
||||
Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator> properties;
|
||||
uint32_t propertiesCount;
|
||||
VkResult result;
|
||||
do
|
||||
{
|
||||
result = d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, nullptr );
|
||||
if ( ( result == VK_SUCCESS ) && propertiesCount )
|
||||
{
|
||||
properties.resize( propertiesCount );
|
||||
result = d.vkGetFramebufferTilePropertiesQCOM(
|
||||
m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, reinterpret_cast<VkTilePropertiesQCOM *>( properties.data() ) );
|
||||
}
|
||||
} while ( result == VK_INCOMPLETE );
|
||||
|
||||
VULKAN_HPP_ASSERT( propertiesCount <= properties.size() );
|
||||
if ( propertiesCount < properties.size() )
|
||||
{
|
||||
properties.resize( propertiesCount );
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
|
||||
template <typename TilePropertiesQCOMAllocator,
|
||||
typename Dispatch,
|
||||
typename B1,
|
||||
typename std::enable_if<std::is_same<typename B1::value_type, TilePropertiesQCOM>::value, int>::type>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
|
||||
Device::getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
|
||||
TilePropertiesQCOMAllocator & tilePropertiesQCOMAllocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator> properties( tilePropertiesQCOMAllocator );
|
||||
uint32_t propertiesCount;
|
||||
VkResult result;
|
||||
do
|
||||
{
|
||||
result = d.vkGetFramebufferTilePropertiesQCOM( m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, nullptr );
|
||||
if ( ( result == VK_SUCCESS ) && propertiesCount )
|
||||
{
|
||||
properties.resize( propertiesCount );
|
||||
result = d.vkGetFramebufferTilePropertiesQCOM(
|
||||
m_device, static_cast<VkFramebuffer>( framebuffer ), &propertiesCount, reinterpret_cast<VkTilePropertiesQCOM *>( properties.data() ) );
|
||||
}
|
||||
} while ( result == VK_INCOMPLETE );
|
||||
|
||||
VULKAN_HPP_ASSERT( propertiesCount <= properties.size() );
|
||||
if ( propertiesCount < properties.size() )
|
||||
{
|
||||
properties.resize( propertiesCount );
|
||||
}
|
||||
return properties;
|
||||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_INLINE Result Device::getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,
|
||||
VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>( d.vkGetDynamicRenderingTilePropertiesQCOM(
|
||||
m_device, reinterpret_cast<const VkRenderingInfo *>( pRenderingInfo ), reinterpret_cast<VkTilePropertiesQCOM *>( pProperties ) ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::TilePropertiesQCOM
|
||||
Device::getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
|
||||
VULKAN_HPP_NAMESPACE::TilePropertiesQCOM properties;
|
||||
d.vkGetDynamicRenderingTilePropertiesQCOM(
|
||||
m_device, reinterpret_cast<const VkRenderingInfo *>( &renderingInfo ), reinterpret_cast<VkTilePropertiesQCOM *>( &properties ) );
|
||||
|
||||
return properties;
|
||||
}
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
#endif
|
||||
|
|
|
@ -674,6 +674,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct ImageViewASTCDecodeModeEXT;
|
||||
struct PhysicalDeviceASTCDecodeFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_pipeline_robustness ===
|
||||
struct PhysicalDevicePipelineRobustnessFeaturesEXT;
|
||||
struct PhysicalDevicePipelineRobustnessPropertiesEXT;
|
||||
struct PipelineRobustnessCreateInfoEXT;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_WIN32_KHR )
|
||||
//=== VK_KHR_external_memory_win32 ===
|
||||
struct ImportMemoryWin32HandleInfoKHR;
|
||||
|
@ -1187,6 +1192,22 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct PhysicalDeviceDiagnosticsConfigFeaturesNV;
|
||||
struct DeviceDiagnosticsConfigCreateInfoNV;
|
||||
|
||||
#if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
//=== VK_EXT_metal_objects ===
|
||||
struct ExportMetalObjectCreateInfoEXT;
|
||||
struct ExportMetalObjectsInfoEXT;
|
||||
struct ExportMetalDeviceInfoEXT;
|
||||
struct ExportMetalCommandQueueInfoEXT;
|
||||
struct ExportMetalBufferInfoEXT;
|
||||
struct ImportMetalBufferInfoEXT;
|
||||
struct ExportMetalTextureInfoEXT;
|
||||
struct ImportMetalTextureInfoEXT;
|
||||
struct ExportMetalIOSurfaceInfoEXT;
|
||||
struct ImportMetalIOSurfaceInfoEXT;
|
||||
struct ExportMetalSharedEventInfoEXT;
|
||||
struct ImportMetalSharedEventInfoEXT;
|
||||
#endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
//=== VK_KHR_synchronization2 ===
|
||||
struct QueueFamilyCheckpointProperties2NV;
|
||||
struct CheckpointData2NV;
|
||||
|
@ -1242,6 +1263,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct ImageSubresource2EXT;
|
||||
struct ImageCompressionPropertiesEXT;
|
||||
|
||||
//=== VK_EXT_attachment_feedback_loop_layout ===
|
||||
struct PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_4444_formats ===
|
||||
struct PhysicalDevice4444FormatsFeaturesEXT;
|
||||
|
||||
|
@ -1331,6 +1355,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct PipelinePropertiesIdentifierEXT;
|
||||
struct PhysicalDevicePipelinePropertiesFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_multisampled_render_to_single_sampled ===
|
||||
struct PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT;
|
||||
struct SubpassResolvePerformanceQueryEXT;
|
||||
struct MultisampledRenderToSingleSampledInfoEXT;
|
||||
|
||||
//=== VK_EXT_extended_dynamic_state2 ===
|
||||
struct PhysicalDeviceExtendedDynamicState2FeaturesEXT;
|
||||
|
||||
|
@ -1375,6 +1404,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct DescriptorSetBindingReferenceVALVE;
|
||||
struct DescriptorSetLayoutHostMappingInfoVALVE;
|
||||
|
||||
//=== VK_EXT_non_seamless_cube_map ===
|
||||
struct PhysicalDeviceNonSeamlessCubeMapFeaturesEXT;
|
||||
|
||||
//=== VK_QCOM_fragment_density_map_offset ===
|
||||
struct PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM;
|
||||
struct PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM;
|
||||
|
@ -1386,6 +1418,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_EXT_image_compression_control_swapchain ===
|
||||
struct PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT;
|
||||
|
||||
//=== VK_QCOM_image_processing ===
|
||||
struct ImageViewSampleWeightCreateInfoQCOM;
|
||||
struct PhysicalDeviceImageProcessingFeaturesQCOM;
|
||||
struct PhysicalDeviceImageProcessingPropertiesQCOM;
|
||||
|
||||
//=== VK_EXT_subpass_merge_feedback ===
|
||||
struct PhysicalDeviceSubpassMergeFeedbackFeaturesEXT;
|
||||
struct RenderPassCreationControlEXT;
|
||||
|
@ -1394,6 +1431,20 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
struct RenderPassSubpassFeedbackInfoEXT;
|
||||
struct RenderPassSubpassFeedbackCreateInfoEXT;
|
||||
|
||||
//=== VK_EXT_shader_module_identifier ===
|
||||
struct PhysicalDeviceShaderModuleIdentifierFeaturesEXT;
|
||||
struct PhysicalDeviceShaderModuleIdentifierPropertiesEXT;
|
||||
struct PipelineShaderStageModuleIdentifierCreateInfoEXT;
|
||||
struct ShaderModuleIdentifierEXT;
|
||||
|
||||
//=== VK_QCOM_tile_properties ===
|
||||
struct PhysicalDeviceTilePropertiesFeaturesQCOM;
|
||||
struct TilePropertiesQCOM;
|
||||
|
||||
//=== VK_SEC_amigo_profiling ===
|
||||
struct PhysicalDeviceAmigoProfilingFeaturesSEC;
|
||||
struct AmigoProfilingSubmitInfoSEC;
|
||||
|
||||
//===============
|
||||
//=== HANDLEs ===
|
||||
//===============
|
||||
|
@ -1464,8 +1515,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkSurfaceKHR m_surfaceKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SurfaceKHR ) == sizeof( VkSurfaceKHR ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SurfaceKHR>::value, "SurfaceKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSurfaceKHR>
|
||||
|
@ -1554,10 +1603,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDebugReportCallbackEXT m_debugReportCallbackEXT = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT ) == sizeof( VkDebugReportCallbackEXT ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::value,
|
||||
"DebugReportCallbackEXT is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDebugReportCallbackEXT>
|
||||
|
@ -1646,10 +1691,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT ) == sizeof( VkDebugUtilsMessengerEXT ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::value,
|
||||
"DebugUtilsMessengerEXT is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDebugUtilsMessengerEXT>
|
||||
|
@ -1729,8 +1770,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDisplayKHR m_displayKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DisplayKHR ) == sizeof( VkDisplayKHR ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DisplayKHR>::value, "DisplayKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDisplayKHR>
|
||||
|
@ -1816,8 +1855,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkSwapchainKHR m_swapchainKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SwapchainKHR ) == sizeof( VkSwapchainKHR ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SwapchainKHR>::value, "SwapchainKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSwapchainKHR>
|
||||
|
@ -1903,8 +1940,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkSemaphore m_semaphore = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Semaphore ) == sizeof( VkSemaphore ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Semaphore>::value, "Semaphore is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSemaphore>
|
||||
|
@ -1990,8 +2025,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkFence m_fence = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Fence ) == sizeof( VkFence ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Fence>::value, "Fence is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eFence>
|
||||
|
@ -2080,10 +2113,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL ) == sizeof( VkPerformanceConfigurationINTEL ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::value,
|
||||
"PerformanceConfigurationINTEL is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePerformanceConfigurationINTEL>
|
||||
|
@ -2163,8 +2192,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkQueryPool m_queryPool = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::QueryPool ) == sizeof( VkQueryPool ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::QueryPool>::value, "QueryPool is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eQueryPool>
|
||||
|
@ -2250,8 +2277,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkBuffer m_buffer = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Buffer ) == sizeof( VkBuffer ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Buffer>::value, "Buffer is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBuffer>
|
||||
|
@ -2337,9 +2362,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPipelineLayout m_pipelineLayout = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineLayout ) == sizeof( VkPipelineLayout ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineLayout>::value,
|
||||
"PipelineLayout is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipelineLayout>
|
||||
|
@ -2425,9 +2447,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDescriptorSet m_descriptorSet = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSet ) == sizeof( VkDescriptorSet ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorSet>::value,
|
||||
"DescriptorSet is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSet>
|
||||
|
@ -2513,8 +2532,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkImageView m_imageView = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageView ) == sizeof( VkImageView ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageView>::value, "ImageView is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eImageView>
|
||||
|
@ -2600,8 +2617,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPipeline m_pipeline = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Pipeline ) == sizeof( VkPipeline ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Pipeline>::value, "Pipeline is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipeline>
|
||||
|
@ -2687,8 +2702,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkImage m_image = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Image ) == sizeof( VkImage ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Image>::value, "Image is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eImage>
|
||||
|
@ -2777,10 +2790,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkAccelerationStructureNV m_accelerationStructureNV = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureNV ) == sizeof( VkAccelerationStructureNV ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::value,
|
||||
"AccelerationStructureNV is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureNV>
|
||||
|
@ -2869,10 +2878,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate ) == sizeof( VkDescriptorUpdateTemplate ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::value,
|
||||
"DescriptorUpdateTemplate is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorUpdateTemplate>
|
||||
|
@ -2959,8 +2964,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkEvent m_event = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Event ) == sizeof( VkEvent ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Event>::value, "Event is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eEvent>
|
||||
|
@ -3049,10 +3052,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkAccelerationStructureKHR m_accelerationStructureKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR ) == sizeof( VkAccelerationStructureKHR ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::value,
|
||||
"AccelerationStructureKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eAccelerationStructureKHR>
|
||||
|
@ -4876,9 +4875,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkCommandBuffer m_commandBuffer = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CommandBuffer ) == sizeof( VkCommandBuffer ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CommandBuffer>::value,
|
||||
"CommandBuffer is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCommandBuffer>
|
||||
|
@ -4964,8 +4960,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDeviceMemory m_deviceMemory = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DeviceMemory ) == sizeof( VkDeviceMemory ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DeviceMemory>::value, "DeviceMemory is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDeviceMemory>
|
||||
|
@ -5052,9 +5046,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkVideoSessionKHR m_videoSessionKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionKHR ) == sizeof( VkVideoSessionKHR ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoSessionKHR>::value,
|
||||
"VideoSessionKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionKHR>
|
||||
|
@ -5138,10 +5129,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDeferredOperationKHR m_deferredOperationKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DeferredOperationKHR ) == sizeof( VkDeferredOperationKHR ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::value,
|
||||
"DeferredOperationKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDeferredOperationKHR>
|
||||
|
@ -5225,10 +5212,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA ) == sizeof( VkBufferCollectionFUCHSIA ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIA>::value,
|
||||
"BufferCollectionFUCHSIA is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIA>
|
||||
|
@ -5315,8 +5298,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkBufferView m_bufferView = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferView ) == sizeof( VkBufferView ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferView>::value, "BufferView is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBufferView>
|
||||
|
@ -5402,8 +5383,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkCommandPool m_commandPool = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CommandPool ) == sizeof( VkCommandPool ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CommandPool>::value, "CommandPool is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCommandPool>
|
||||
|
@ -5489,9 +5468,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPipelineCache m_pipelineCache = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCache ) == sizeof( VkPipelineCache ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineCache>::value,
|
||||
"PipelineCache is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePipelineCache>
|
||||
|
@ -5577,9 +5553,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkCuFunctionNVX m_cuFunctionNVX = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CuFunctionNVX ) == sizeof( VkCuFunctionNVX ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CuFunctionNVX>::value,
|
||||
"CuFunctionNVX is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCuFunctionNVX>
|
||||
|
@ -5665,8 +5638,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkCuModuleNVX m_cuModuleNVX = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CuModuleNVX ) == sizeof( VkCuModuleNVX ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CuModuleNVX>::value, "CuModuleNVX is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eCuModuleNVX>
|
||||
|
@ -5752,9 +5723,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDescriptorPool m_descriptorPool = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorPool ) == sizeof( VkDescriptorPool ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorPool>::value,
|
||||
"DescriptorPool is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorPool>
|
||||
|
@ -5843,9 +5811,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDescriptorSetLayout m_descriptorSetLayout = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSetLayout ) == sizeof( VkDescriptorSetLayout ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::value,
|
||||
"DescriptorSetLayout is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDescriptorSetLayout>
|
||||
|
@ -5931,8 +5896,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkFramebuffer m_framebuffer = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Framebuffer ) == sizeof( VkFramebuffer ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Framebuffer>::value, "Framebuffer is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eFramebuffer>
|
||||
|
@ -6021,10 +5984,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV ) == sizeof( VkIndirectCommandsLayoutNV ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::value,
|
||||
"IndirectCommandsLayoutNV is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eIndirectCommandsLayoutNV>
|
||||
|
@ -6104,9 +6063,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPrivateDataSlot m_privateDataSlot = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PrivateDataSlot ) == sizeof( VkPrivateDataSlot ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PrivateDataSlot>::value,
|
||||
"PrivateDataSlot is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePrivateDataSlot>
|
||||
|
@ -6187,8 +6143,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkRenderPass m_renderPass = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderPass ) == sizeof( VkRenderPass ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPass>::value, "RenderPass is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eRenderPass>
|
||||
|
@ -6274,8 +6228,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkSampler m_sampler = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Sampler ) == sizeof( VkSampler ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Sampler>::value, "Sampler is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSampler>
|
||||
|
@ -6364,10 +6316,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkSamplerYcbcrConversion m_samplerYcbcrConversion = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ) == sizeof( VkSamplerYcbcrConversion ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::value,
|
||||
"SamplerYcbcrConversion is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eSamplerYcbcrConversion>
|
||||
|
@ -6454,8 +6402,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkShaderModule m_shaderModule = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ShaderModule ) == sizeof( VkShaderModule ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ShaderModule>::value, "ShaderModule is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eShaderModule>
|
||||
|
@ -6543,9 +6489,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkValidationCacheEXT m_validationCacheEXT = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ValidationCacheEXT ) == sizeof( VkValidationCacheEXT ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::value,
|
||||
"ValidationCacheEXT is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eValidationCacheEXT>
|
||||
|
@ -6635,10 +6578,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkVideoSessionParametersKHR m_videoSessionParametersKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR ) == sizeof( VkVideoSessionParametersKHR ),
|
||||
"handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>::value,
|
||||
"VideoSessionParametersKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eVideoSessionParametersKHR>
|
||||
|
@ -6866,8 +6805,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkQueue m_queue = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Queue ) == sizeof( VkQueue ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Queue>::value, "Queue is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eQueue>
|
||||
|
@ -10909,6 +10846,22 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
//=== VK_EXT_metal_objects ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void exportMetalObjectsEXT( VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT * pMetalObjectsInfo,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT
|
||||
exportMetalObjectsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
|
||||
exportMetalObjectsEXT( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
//=== VK_EXT_image_compression_control ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
|
@ -11216,9 +11169,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<VULKAN_HPP_NAMESPACE::BaseOutStructure>::type
|
||||
getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<StructureChain<X, Y, Z...>>::type
|
||||
getPipelinePropertiesEXT( const VULKAN_HPP_NAMESPACE::PipelineInfoEXT & pipelineInfo, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_EXT_pageable_device_local_memory ===
|
||||
|
@ -11304,6 +11254,63 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_EXT_shader_module_identifier ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
|
||||
getShaderModuleIdentifierEXT( VULKAN_HPP_NAMESPACE::ShaderModule shaderModule,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
void getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo * pCreateInfo,
|
||||
VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT * pIdentifier,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT
|
||||
getShaderModuleCreateInfoIdentifierEXT( const VULKAN_HPP_NAMESPACE::ShaderModuleCreateInfo & createInfo,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
//=== VK_QCOM_tile_properties ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
|
||||
uint32_t * pPropertiesCount,
|
||||
VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename TilePropertiesQCOMAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>,
|
||||
typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
|
||||
getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
template <typename TilePropertiesQCOMAllocator = std::allocator<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>,
|
||||
typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
|
||||
typename B1 = TilePropertiesQCOMAllocator,
|
||||
typename std::enable_if<std::is_same<typename B1::value_type, TilePropertiesQCOM>::value, int>::type = 0>
|
||||
VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM, TilePropertiesQCOMAllocator>>::type
|
||||
getFramebufferTilePropertiesQCOM( VULKAN_HPP_NAMESPACE::Framebuffer framebuffer,
|
||||
TilePropertiesQCOMAllocator & tilePropertiesQCOMAllocator,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
Result getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo * pRenderingInfo,
|
||||
VULKAN_HPP_NAMESPACE::TilePropertiesQCOM * pProperties,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::TilePropertiesQCOM
|
||||
getDynamicRenderingTilePropertiesQCOM( const VULKAN_HPP_NAMESPACE::RenderingInfo & renderingInfo,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
operator VkDevice() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return m_device;
|
||||
|
@ -11322,8 +11329,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDevice m_device = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Device ) == sizeof( VkDevice ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Device>::value, "Device is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDevice>
|
||||
|
@ -11409,9 +11414,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkDisplayModeKHR m_displayModeKHR = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DisplayModeKHR ) == sizeof( VkDisplayModeKHR ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::value,
|
||||
"DisplayModeKHR is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eDisplayModeKHR>
|
||||
|
@ -12751,9 +12753,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkPhysicalDevice m_physicalDevice = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevice ) == sizeof( VkPhysicalDevice ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDevice>::value,
|
||||
"PhysicalDevice is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::ePhysicalDevice>
|
||||
|
@ -13442,8 +13441,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
private:
|
||||
VkInstance m_instance = {};
|
||||
};
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Instance ) == sizeof( VkInstance ), "handle and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Instance>::value, "Instance is not nothrow_move_constructible!" );
|
||||
|
||||
template <>
|
||||
struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eInstance>
|
||||
|
|
552
deps/vulkan-headers/include/vulkan/vulkan_hash.hpp
vendored
552
deps/vulkan-headers/include/vulkan/vulkan_hash.hpp
vendored
|
@ -842,6 +842,20 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::AmigoProfilingSubmitInfoSEC>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::AmigoProfilingSubmitInfoSEC const & amigoProfilingSubmitInfoSEC ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.firstDrawTimestamp );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, amigoProfilingSubmitInfoSEC.swapBufferTimestamp );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ComponentMapping>
|
||||
{
|
||||
|
@ -3784,6 +3798,134 @@ namespace std
|
|||
};
|
||||
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalBufferInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalBufferInfoEXT const & exportMetalBufferInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.memory );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalBufferInfoEXT.mtlBuffer );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalCommandQueueInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalCommandQueueInfoEXT const & exportMetalCommandQueueInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.queue );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalCommandQueueInfoEXT.mtlCommandQueue );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalDeviceInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalDeviceInfoEXT const & exportMetalDeviceInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalDeviceInfoEXT.mtlDevice );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalIOSurfaceInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalIOSurfaceInfoEXT const & exportMetalIOSurfaceInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.image );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalIOSurfaceInfoEXT.ioSurface );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalObjectCreateInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalObjectCreateInfoEXT const & exportMetalObjectCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectCreateInfoEXT.exportObjectType );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalObjectsInfoEXT const & exportMetalObjectsInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectsInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalObjectsInfoEXT.pNext );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalSharedEventInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalSharedEventInfoEXT const & exportMetalSharedEventInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.semaphore );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.event );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalSharedEventInfoEXT.mtlSharedEvent );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportMetalTextureInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ExportMetalTextureInfoEXT const & exportMetalTextureInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.image );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.imageView );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.bufferView );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.plane );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, exportMetalTextureInfoEXT.mtlTexture );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ExportSemaphoreCreateInfo>
|
||||
{
|
||||
|
@ -4984,6 +5126,21 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImageViewSampleWeightCreateInfoQCOM>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewSampleWeightCreateInfoQCOM const & imageViewSampleWeightCreateInfoQCOM ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.filterCenter );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.filterSize );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, imageViewSampleWeightCreateInfoQCOM.numPhases );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImageViewUsageCreateInfo>
|
||||
{
|
||||
|
@ -5141,6 +5298,67 @@ namespace std
|
|||
};
|
||||
# endif /*VK_USE_PLATFORM_FUCHSIA*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImportMetalBufferInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMetalBufferInfoEXT const & importMetalBufferInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalBufferInfoEXT.mtlBuffer );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImportMetalIOSurfaceInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMetalIOSurfaceInfoEXT const & importMetalIOSurfaceInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalIOSurfaceInfoEXT.ioSurface );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImportMetalSharedEventInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMetalSharedEventInfoEXT const & importMetalSharedEventInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalSharedEventInfoEXT.mtlSharedEvent );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_METAL_EXT )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImportMetalTextureInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImportMetalTextureInfoEXT const & importMetalTextureInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.plane );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, importMetalTextureInfoEXT.mtlTexture );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_USE_PLATFORM_METAL_EXT*/
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR>
|
||||
{
|
||||
|
@ -5678,6 +5896,21 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::MultisampledRenderToSingleSampledInfoEXT>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::MultisampledRenderToSingleSampledInfoEXT const & multisampledRenderToSingleSampledInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.multisampledRenderToSingleSampledEnable );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, multisampledRenderToSingleSampledInfoEXT.rasterizationSamples );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::MultiviewPerViewAttributesInfoNVX>
|
||||
{
|
||||
|
@ -5942,6 +6175,34 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAmigoProfilingFeaturesSEC>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceAmigoProfilingFeaturesSEC const & physicalDeviceAmigoProfilingFeaturesSEC ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAmigoProfilingFeaturesSEC.amigoProfiling );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT const &
|
||||
physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT.attachmentFeedbackLoopLayout );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceBlendOperationAdvancedFeaturesEXT>
|
||||
{
|
||||
|
@ -7039,6 +7300,39 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingFeaturesQCOM>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingFeaturesQCOM const & physicalDeviceImageProcessingFeaturesQCOM ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureSampleWeighted );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureBoxFilter );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingFeaturesQCOM.textureBlockMatch );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingPropertiesQCOM>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageProcessingPropertiesQCOM const & physicalDeviceImageProcessingPropertiesQCOM ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxWeightFilterPhases );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxWeightFilterDimension );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxBlockMatchRegion );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImageProcessingPropertiesQCOM.maxBoxFilterBlockSize );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageRobustnessFeatures>
|
||||
{
|
||||
|
@ -7530,6 +7824,20 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT const &
|
||||
physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceMultisampledRenderToSingleSampledFeaturesEXT.multisampledRenderToSingleSampled );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewFeatures>
|
||||
{
|
||||
|
@ -7587,6 +7895,20 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceNonSeamlessCubeMapFeaturesEXT const & physicalDeviceNonSeamlessCubeMapFeaturesEXT ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceNonSeamlessCubeMapFeaturesEXT.nonSeamlessCubeMap );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePCIBusInfoPropertiesEXT>
|
||||
{
|
||||
|
@ -7691,6 +8013,37 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessFeaturesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessFeaturesEXT const & physicalDevicePipelineRobustnessFeaturesEXT ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessFeaturesEXT.pipelineRobustness );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessPropertiesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevicePipelineRobustnessPropertiesEXT const & physicalDevicePipelineRobustnessPropertiesEXT ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessStorageBuffers );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessUniformBuffers );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessVertexInputs );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDevicePipelineRobustnessPropertiesEXT.defaultRobustnessImages );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevicePointClippingProperties>
|
||||
{
|
||||
|
@ -8481,6 +8834,37 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT>
|
||||
{
|
||||
std::size_t operator()(
|
||||
VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierFeaturesEXT const & physicalDeviceShaderModuleIdentifierFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierFeaturesEXT.shaderModuleIdentifier );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierPropertiesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderModuleIdentifierPropertiesEXT const & physicalDeviceShaderModuleIdentifierPropertiesEXT )
|
||||
const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.pNext );
|
||||
for ( size_t i = 0; i < VK_UUID_SIZE; ++i )
|
||||
{
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceShaderModuleIdentifierPropertiesEXT.shaderModuleIdentifierAlgorithmUUID[i] );
|
||||
}
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderSMBuiltinsFeaturesNV>
|
||||
{
|
||||
|
@ -8762,6 +9146,20 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTilePropertiesFeaturesQCOM>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceTilePropertiesFeaturesQCOM const & physicalDeviceTilePropertiesFeaturesQCOM ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceTilePropertiesFeaturesQCOM.tileProperties );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceTimelineSemaphoreFeatures>
|
||||
{
|
||||
|
@ -8929,40 +9327,6 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfileKHR const & videoProfileKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.videoCodecOperation );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaSubsampling );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.lumaBitDepth );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaBitDepth );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfilesKHR const & videoProfilesKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.profileCount );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pProfiles );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR>
|
||||
|
@ -8973,7 +9337,6 @@ namespace std
|
|||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.imageUsage );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pVideoProfiles );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
@ -9791,6 +10154,22 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineRobustnessCreateInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineRobustnessCreateInfoEXT const & pipelineRobustnessCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.storageBuffers );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.uniformBuffers );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.vertexInputs );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineRobustnessCreateInfoEXT.images );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineSampleLocationsStateCreateInfoEXT>
|
||||
{
|
||||
|
@ -9806,6 +10185,21 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageModuleIdentifierCreateInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineShaderStageModuleIdentifierCreateInfoEXT const & pipelineShaderStageModuleIdentifierCreateInfoEXT )
|
||||
const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.identifierSize );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, pipelineShaderStageModuleIdentifierCreateInfoEXT.pIdentifier );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineShaderStageRequiredSubgroupSizeCreateInfo>
|
||||
{
|
||||
|
@ -10258,7 +10652,7 @@ namespace std
|
|||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.supported );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.queryResultStatusSupport );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
@ -11012,6 +11406,23 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModuleIdentifierEXT const & shaderModuleIdentifierEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.identifierSize );
|
||||
for ( size_t i = 0; i < VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT; ++i )
|
||||
{
|
||||
VULKAN_HPP_HASH_COMBINE( seed, shaderModuleIdentifierEXT.identifier[i] );
|
||||
}
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::ShaderModuleValidationCacheCreateInfoEXT>
|
||||
{
|
||||
|
@ -11251,6 +11662,19 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::SubpassResolvePerformanceQueryEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::SubpassResolvePerformanceQueryEXT const & subpassResolvePerformanceQueryEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, subpassResolvePerformanceQueryEXT.optimal );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::SubpassShadingPipelineCreateInfoHUAWEI>
|
||||
{
|
||||
|
@ -11488,6 +11912,21 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::TilePropertiesQCOM>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::TilePropertiesQCOM const & tilePropertiesQCOM ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.tileSize );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.apronSize );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, tilePropertiesQCOM.origin );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::TimelineSemaphoreSubmitInfo>
|
||||
{
|
||||
|
@ -12597,6 +13036,11 @@ namespace std
|
|||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.format );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.componentMapping );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageCreateFlags );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageTiling );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageUsageFlags );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
@ -12618,6 +13062,40 @@ namespace std
|
|||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfileKHR const & videoProfileKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.videoCodecOperation );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaSubsampling );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.lumaBitDepth );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaBitDepth );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfilesKHR const & videoProfilesKHR ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.profileCount );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pProfiles );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
# if defined( VK_ENABLE_BETA_EXTENSIONS )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR>
|
||||
|
@ -12864,4 +13342,4 @@ namespace std
|
|||
#endif // 14 <= VULKAN_HPP_CPP_VERSION
|
||||
|
||||
} // namespace std
|
||||
#endif // VULKAN_HASH_HPP
|
||||
#endif
|
||||
|
|
141
deps/vulkan-headers/include/vulkan/vulkan_metal.h
vendored
141
deps/vulkan-headers/include/vulkan/vulkan_metal.h
vendored
|
@ -20,7 +20,6 @@ extern "C" {
|
|||
|
||||
|
||||
#define VK_EXT_metal_surface 1
|
||||
|
||||
#ifdef __OBJC__
|
||||
@class CAMetalLayer;
|
||||
#else
|
||||
|
@ -47,6 +46,146 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
|
|||
VkSurfaceKHR* pSurface);
|
||||
#endif
|
||||
|
||||
|
||||
#define VK_EXT_metal_objects 1
|
||||
#ifdef __OBJC__
|
||||
@protocol MTLDevice;
|
||||
typedef id<MTLDevice> MTLDevice_id;
|
||||
#else
|
||||
typedef void* MTLDevice_id;
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
@protocol MTLCommandQueue;
|
||||
typedef id<MTLCommandQueue> MTLCommandQueue_id;
|
||||
#else
|
||||
typedef void* MTLCommandQueue_id;
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
@protocol MTLBuffer;
|
||||
typedef id<MTLBuffer> MTLBuffer_id;
|
||||
#else
|
||||
typedef void* MTLBuffer_id;
|
||||
#endif
|
||||
|
||||
#ifdef __OBJC__
|
||||
@protocol MTLTexture;
|
||||
typedef id<MTLTexture> MTLTexture_id;
|
||||
#else
|
||||
typedef void* MTLTexture_id;
|
||||
#endif
|
||||
|
||||
typedef struct __IOSurface* IOSurfaceRef;
|
||||
#ifdef __OBJC__
|
||||
@protocol MTLSharedEvent;
|
||||
typedef id<MTLSharedEvent> MTLSharedEvent_id;
|
||||
#else
|
||||
typedef void* MTLSharedEvent_id;
|
||||
#endif
|
||||
|
||||
#define VK_EXT_METAL_OBJECTS_SPEC_VERSION 1
|
||||
#define VK_EXT_METAL_OBJECTS_EXTENSION_NAME "VK_EXT_metal_objects"
|
||||
|
||||
typedef enum VkExportMetalObjectTypeFlagBitsEXT {
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 0x00000001,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 0x00000002,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 0x00000004,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 0x00000008,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 0x00000010,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 0x00000020,
|
||||
VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||
} VkExportMetalObjectTypeFlagBitsEXT;
|
||||
typedef VkFlags VkExportMetalObjectTypeFlagsEXT;
|
||||
typedef struct VkExportMetalObjectCreateInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkExportMetalObjectTypeFlagBitsEXT exportObjectType;
|
||||
} VkExportMetalObjectCreateInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalObjectsInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
} VkExportMetalObjectsInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalDeviceInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
MTLDevice_id mtlDevice;
|
||||
} VkExportMetalDeviceInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalCommandQueueInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkQueue queue;
|
||||
MTLCommandQueue_id mtlCommandQueue;
|
||||
} VkExportMetalCommandQueueInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalBufferInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkDeviceMemory memory;
|
||||
MTLBuffer_id mtlBuffer;
|
||||
} VkExportMetalBufferInfoEXT;
|
||||
|
||||
typedef struct VkImportMetalBufferInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
MTLBuffer_id mtlBuffer;
|
||||
} VkImportMetalBufferInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalTextureInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkImage image;
|
||||
VkImageView imageView;
|
||||
VkBufferView bufferView;
|
||||
VkImageAspectFlagBits plane;
|
||||
MTLTexture_id mtlTexture;
|
||||
} VkExportMetalTextureInfoEXT;
|
||||
|
||||
typedef struct VkImportMetalTextureInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkImageAspectFlagBits plane;
|
||||
MTLTexture_id mtlTexture;
|
||||
} VkImportMetalTextureInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalIOSurfaceInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkImage image;
|
||||
IOSurfaceRef ioSurface;
|
||||
} VkExportMetalIOSurfaceInfoEXT;
|
||||
|
||||
typedef struct VkImportMetalIOSurfaceInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
IOSurfaceRef ioSurface;
|
||||
} VkImportMetalIOSurfaceInfoEXT;
|
||||
|
||||
typedef struct VkExportMetalSharedEventInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkSemaphore semaphore;
|
||||
VkEvent event;
|
||||
MTLSharedEvent_id mtlSharedEvent;
|
||||
} VkExportMetalSharedEventInfoEXT;
|
||||
|
||||
typedef struct VkImportMetalSharedEventInfoEXT {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
MTLSharedEvent_id mtlSharedEvent;
|
||||
} VkImportMetalSharedEventInfoEXT;
|
||||
|
||||
typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(
|
||||
VkDevice device,
|
||||
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
2773
deps/vulkan-headers/include/vulkan/vulkan_raii.hpp
vendored
2773
deps/vulkan-headers/include/vulkan/vulkan_raii.hpp
vendored
File diff suppressed because it is too large
Load diff
11212
deps/vulkan-headers/include/vulkan/vulkan_structs.hpp
vendored
11212
deps/vulkan-headers/include/vulkan/vulkan_structs.hpp
vendored
File diff suppressed because it is too large
Load diff
7687
deps/vulkan-headers/include/vulkan/vulkan_to_string.hpp
vendored
Normal file
7687
deps/vulkan-headers/include/vulkan/vulkan_to_string.hpp
vendored
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6,9 +6,11 @@
|
|||
|
||||
import os
|
||||
import re
|
||||
from generator import (GeneratorOptions, OutputGenerator, noneStr,
|
||||
regSortFeatures, write)
|
||||
|
||||
from generator import (GeneratorOptions,
|
||||
MissingGeneratorOptionsConventionsError,
|
||||
MissingGeneratorOptionsError, MissingRegistryError,
|
||||
OutputGenerator, noneStr, regSortFeatures, write)
|
||||
|
||||
class CGeneratorOptions(GeneratorOptions):
|
||||
"""CGeneratorOptions - subclass of GeneratorOptions.
|
||||
|
@ -17,12 +19,14 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
generation."""
|
||||
|
||||
def __init__(self,
|
||||
prefixText="",
|
||||
prefixText='',
|
||||
genFuncPointers=True,
|
||||
protectFile=True,
|
||||
protectFeature=True,
|
||||
protectProto=None,
|
||||
protectProtoStr=None,
|
||||
protectExtensionProto=None,
|
||||
protectExtensionProtoStr=None,
|
||||
apicall='',
|
||||
apientry='',
|
||||
apientryp='',
|
||||
|
@ -31,6 +35,7 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
alignFuncParam=0,
|
||||
genEnumBeginEndRange=False,
|
||||
genAliasMacro=False,
|
||||
genStructExtendsComment=False,
|
||||
aliasMacro='',
|
||||
misracstyle=False,
|
||||
misracppstyle=False,
|
||||
|
@ -40,11 +45,11 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
Additional parameters beyond parent class:
|
||||
|
||||
- prefixText - list of strings to prefix generated header with
|
||||
(usually a copyright statement + calling convention macros).
|
||||
(usually a copyright statement + calling convention macros)
|
||||
- protectFile - True if multiple inclusion protection should be
|
||||
generated (based on the filename) around the entire header.
|
||||
generated (based on the filename) around the entire header
|
||||
- protectFeature - True if #ifndef..#endif protection should be
|
||||
generated around a feature interface in the header file.
|
||||
generated around a feature interface in the header file
|
||||
- genFuncPointers - True if function pointer typedefs should be
|
||||
generated
|
||||
- protectProto - If conditional protection should be generated
|
||||
|
@ -54,12 +59,19 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
set to None.
|
||||
- protectProtoStr - #ifdef/#ifndef symbol to use around prototype
|
||||
declarations, if protectProto is set
|
||||
- protectExtensionProto - If conditional protection should be generated
|
||||
around extension prototype declarations, set to either '#ifdef'
|
||||
to require opt-in (#ifdef protectExtensionProtoStr) or '#ifndef'
|
||||
to require opt-out (#ifndef protectExtensionProtoStr). Otherwise
|
||||
set to None
|
||||
- protectExtensionProtoStr - #ifdef/#ifndef symbol to use around
|
||||
extension prototype declarations, if protectExtensionProto is set
|
||||
- apicall - string to use for the function declaration prefix,
|
||||
such as APICALL on Windows.
|
||||
such as APICALL on Windows
|
||||
- apientry - string to use for the calling convention macro,
|
||||
in typedefs, such as APIENTRY.
|
||||
in typedefs, such as APIENTRY
|
||||
- apientryp - string to use for the calling convention macro
|
||||
in function pointer typedefs, such as APIENTRYP.
|
||||
in function pointer typedefs, such as APIENTRYP
|
||||
- indentFuncProto - True if prototype declarations should put each
|
||||
parameter on a separate line
|
||||
- indentFuncPointer - True if typedefed function pointers should put each
|
||||
|
@ -70,6 +82,9 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
be generated for enumerated types
|
||||
- genAliasMacro - True if the OpenXR alias macro should be generated
|
||||
for aliased types (unclear what other circumstances this is useful)
|
||||
- genStructExtendsComment - True if comments showing the structures
|
||||
whose pNext chain a structure extends are included before its
|
||||
definition
|
||||
- aliasMacro - alias macro to inject when genAliasMacro is True
|
||||
- misracstyle - generate MISRA C-friendly headers
|
||||
- misracppstyle - generate MISRA C++-friendly headers"""
|
||||
|
@ -94,6 +109,12 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
self.protectProtoStr = protectProtoStr
|
||||
"""#ifdef/#ifndef symbol to use around prototype declarations, if protectProto is set"""
|
||||
|
||||
self.protectExtensionProto = protectExtensionProto
|
||||
"""If conditional protection should be generated around extension prototype declarations, set to either '#ifdef' to require opt-in (#ifdef protectExtensionProtoStr) or '#ifndef' to require opt-out (#ifndef protectExtensionProtoStr). Otherwise set to None."""
|
||||
|
||||
self.protectExtensionProtoStr = protectExtensionProtoStr
|
||||
"""#ifdef/#ifndef symbol to use around extension prototype declarations, if protectExtensionProto is set"""
|
||||
|
||||
self.apicall = apicall
|
||||
"""string to use for the function declaration prefix, such as APICALL on Windows."""
|
||||
|
||||
|
@ -118,6 +139,9 @@ class CGeneratorOptions(GeneratorOptions):
|
|||
self.genAliasMacro = genAliasMacro
|
||||
"""True if the OpenXR alias macro should be generated for aliased types (unclear what other circumstances this is useful)"""
|
||||
|
||||
self.genStructExtendsComment = genStructExtendsComment
|
||||
"""True if comments showing the structures whose pNext chain a structure extends are included before its definition"""
|
||||
|
||||
self.aliasMacro = aliasMacro
|
||||
"""alias macro to inject when genAliasMacro is True"""
|
||||
|
||||
|
@ -148,10 +172,12 @@ class COutputGenerator(OutputGenerator):
|
|||
|
||||
def beginFile(self, genOpts):
|
||||
OutputGenerator.beginFile(self, genOpts)
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
# C-specific
|
||||
#
|
||||
# Multiple inclusion protection & C++ wrappers.
|
||||
if genOpts.protectFile and self.genOpts.filename:
|
||||
if self.genOpts.protectFile and self.genOpts.filename:
|
||||
headerSym = re.sub(r'\.h', '_h_',
|
||||
os.path.basename(self.genOpts.filename)).upper()
|
||||
write('#ifndef', headerSym, file=self.outFile)
|
||||
|
@ -173,6 +199,8 @@ class COutputGenerator(OutputGenerator):
|
|||
def endFile(self):
|
||||
# C-specific
|
||||
# Finish C++ wrapper and multiple inclusion protection
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
self.newline()
|
||||
write('#ifdef __cplusplus', file=self.outFile)
|
||||
write('}', file=self.outFile)
|
||||
|
@ -193,42 +221,80 @@ class COutputGenerator(OutputGenerator):
|
|||
self.sections = {section: [] for section in self.ALL_SECTIONS}
|
||||
self.feature_not_empty = False
|
||||
|
||||
def _endProtectComment(self, protect_str, protect_directive='#ifdef'):
|
||||
if protect_directive is None or protect_str is None:
|
||||
raise RuntimeError('Should not call in here without something to protect')
|
||||
|
||||
# Do not put comments after #endif closing blocks if this is not set
|
||||
if not self.genOpts.conventions.protectProtoComment:
|
||||
return ''
|
||||
elif 'ifdef' in protect_directive:
|
||||
return f' /* {protect_str} */'
|
||||
else:
|
||||
return f' /* !{protect_str} */'
|
||||
|
||||
def endFeature(self):
|
||||
"Actually write the interface to the output file."
|
||||
# C-specific
|
||||
if self.emit:
|
||||
if self.feature_not_empty:
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
is_core = self.featureName and self.featureName.startswith(self.conventions.api_prefix + 'VERSION_')
|
||||
if self.genOpts.conventions.writeFeature(self.featureExtraProtect, self.genOpts.filename):
|
||||
self.newline()
|
||||
if self.genOpts.protectFeature:
|
||||
write('#ifndef', self.featureName, file=self.outFile)
|
||||
|
||||
# If type declarations are needed by other features based on
|
||||
# this one, it may be necessary to suppress the ExtraProtect,
|
||||
# or move it below the 'for section...' loop.
|
||||
if self.featureExtraProtect is not None:
|
||||
write('#ifdef', self.featureExtraProtect, file=self.outFile)
|
||||
self.newline()
|
||||
|
||||
write('#define', self.featureName, '1', file=self.outFile)
|
||||
for section in self.TYPE_SECTIONS:
|
||||
contents = self.sections[section]
|
||||
if contents:
|
||||
write('\n'.join(contents), file=self.outFile)
|
||||
|
||||
if self.genOpts.genFuncPointers and self.sections['commandPointer']:
|
||||
write('\n'.join(self.sections['commandPointer']), file=self.outFile)
|
||||
self.newline()
|
||||
|
||||
if self.sections['command']:
|
||||
if self.genOpts.protectProto:
|
||||
write(self.genOpts.protectProto,
|
||||
self.genOpts.protectProtoStr, file=self.outFile)
|
||||
if self.genOpts.protectExtensionProto and not is_core:
|
||||
write(self.genOpts.protectExtensionProto,
|
||||
self.genOpts.protectExtensionProtoStr, file=self.outFile)
|
||||
write('\n'.join(self.sections['command']), end='', file=self.outFile)
|
||||
if self.genOpts.protectExtensionProto and not is_core:
|
||||
write('#endif' +
|
||||
self._endProtectComment(protect_directive=self.genOpts.protectExtensionProto,
|
||||
protect_str=self.genOpts.protectExtensionProtoStr),
|
||||
file=self.outFile)
|
||||
if self.genOpts.protectProto:
|
||||
write('#endif', file=self.outFile)
|
||||
write('#endif' +
|
||||
self._endProtectComment(protect_directive=self.genOpts.protectProto,
|
||||
protect_str=self.genOpts.protectProtoStr),
|
||||
file=self.outFile)
|
||||
else:
|
||||
self.newline()
|
||||
|
||||
if self.featureExtraProtect is not None:
|
||||
write('#endif /*', self.featureExtraProtect, '*/', file=self.outFile)
|
||||
write('#endif' +
|
||||
self._endProtectComment(protect_str=self.featureExtraProtect),
|
||||
file=self.outFile)
|
||||
|
||||
if self.genOpts.protectFeature:
|
||||
write('#endif /*', self.featureName, '*/', file=self.outFile)
|
||||
write('#endif' +
|
||||
self._endProtectComment(protect_str=self.featureName),
|
||||
file=self.outFile)
|
||||
# Finish processing in superclass
|
||||
OutputGenerator.endFeature(self)
|
||||
|
||||
|
@ -264,6 +330,8 @@ class COutputGenerator(OutputGenerator):
|
|||
# special-purpose generator.
|
||||
self.genStruct(typeinfo, name, alias)
|
||||
else:
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
# OpenXR: this section was not under 'else:' previously, just fell through
|
||||
if alias:
|
||||
# If the type is an alias, just emit a typedef declaration
|
||||
|
@ -288,7 +356,7 @@ class COutputGenerator(OutputGenerator):
|
|||
"""Generate protection string.
|
||||
|
||||
Protection strings are the strings defining the OS/Platform/Graphics
|
||||
requirements for a given OpenXR command. When generating the
|
||||
requirements for a given API command. When generating the
|
||||
language header files, we need to make sure the items specific to a
|
||||
graphics API or OS platform are properly wrapped in #ifs."""
|
||||
protect_if_str = ''
|
||||
|
@ -297,7 +365,7 @@ class COutputGenerator(OutputGenerator):
|
|||
return (protect_if_str, protect_end_str)
|
||||
|
||||
if ',' in protect_str:
|
||||
protect_list = protect_str.split(",")
|
||||
protect_list = protect_str.split(',')
|
||||
protect_defs = ('defined(%s)' % d for d in protect_list)
|
||||
protect_def_str = ' && '.join(protect_defs)
|
||||
protect_if_str = '#if %s\n' % protect_def_str
|
||||
|
@ -310,6 +378,8 @@ class COutputGenerator(OutputGenerator):
|
|||
|
||||
def typeMayAlias(self, typeName):
|
||||
if not self.may_alias:
|
||||
if self.registry is None:
|
||||
raise MissingRegistryError()
|
||||
# First time we have asked if a type may alias.
|
||||
# So, populate the set of all names of types that may.
|
||||
|
||||
|
@ -319,9 +389,9 @@ class COutputGenerator(OutputGenerator):
|
|||
if data.elem.get('mayalias') == 'true')
|
||||
|
||||
# Every type mentioned in some other type's parentstruct attribute.
|
||||
parent_structs = (otherType.elem.get('parentstruct')
|
||||
for otherType in self.registry.typedict.values())
|
||||
self.may_alias.update(set(x for x in parent_structs
|
||||
polymorphic_bases = (otherType.elem.get('parentstruct')
|
||||
for otherType in self.registry.typedict.values())
|
||||
self.may_alias.update(set(x for x in polymorphic_bases
|
||||
if x is not None))
|
||||
return typeName in self.may_alias
|
||||
|
||||
|
@ -339,6 +409,9 @@ class COutputGenerator(OutputGenerator):
|
|||
generate a typedef of that alias."""
|
||||
OutputGenerator.genStruct(self, typeinfo, typeName, alias)
|
||||
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
|
||||
typeElem = typeinfo.elem
|
||||
|
||||
if alias:
|
||||
|
@ -348,6 +421,11 @@ class COutputGenerator(OutputGenerator):
|
|||
(protect_begin, protect_end) = self.genProtectString(typeElem.get('protect'))
|
||||
if protect_begin:
|
||||
body += protect_begin
|
||||
|
||||
if self.genOpts.genStructExtendsComment:
|
||||
structextends = typeElem.get('structextends')
|
||||
body += '// ' + typeName + ' extends ' + structextends + '\n' if structextends else ''
|
||||
|
||||
body += 'typedef ' + typeElem.get('category')
|
||||
|
||||
# This is an OpenXR-specific alternative where aliasing refers
|
||||
|
@ -391,11 +469,16 @@ class COutputGenerator(OutputGenerator):
|
|||
body = 'typedef ' + alias + ' ' + groupName + ';\n'
|
||||
self.appendSection(section, body)
|
||||
else:
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
(section, body) = self.buildEnumCDecl(self.genOpts.genEnumBeginEndRange, groupinfo, groupName)
|
||||
self.appendSection(section, "\n" + body)
|
||||
self.appendSection(section, '\n' + body)
|
||||
|
||||
def genEnum(self, enuminfo, name, alias):
|
||||
"""Generate the C declaration for a constant (a single <enum> value)."""
|
||||
"""Generate the C declaration for a constant (a single <enum> value).
|
||||
|
||||
<enum> tags may specify their values in several ways, but are usually
|
||||
just integers."""
|
||||
|
||||
OutputGenerator.genEnum(self, enuminfo, name, alias)
|
||||
|
||||
|
@ -410,6 +493,8 @@ class COutputGenerator(OutputGenerator):
|
|||
# prefix = '// ' + name + ' is an alias of command ' + alias + '\n'
|
||||
# else:
|
||||
# prefix = ''
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
|
||||
prefix = ''
|
||||
decls = self.makeCDecls(cmdinfo.elem)
|
||||
|
|
|
@ -17,7 +17,7 @@ import tempfile
|
|||
try:
|
||||
from pathlib import Path
|
||||
except ImportError:
|
||||
from pathlib2 import Path
|
||||
from pathlib2 import Path # type: ignore
|
||||
|
||||
from spec_tools.util import getElemName, getElemType
|
||||
|
||||
|
@ -44,7 +44,7 @@ def enquote(s):
|
|||
for serialization into Python code."""
|
||||
if s:
|
||||
if isinstance(s, str):
|
||||
return "'{}'".format(s)
|
||||
return f"'{s}'"
|
||||
else:
|
||||
return s
|
||||
return None
|
||||
|
@ -55,14 +55,15 @@ def regSortCategoryKey(feature):
|
|||
Sorts by category of the feature name string:
|
||||
|
||||
- Core API features (those defined with a `<feature>` tag)
|
||||
- (sort VKSC after VK)
|
||||
- (sort VKSC after VK - this is Vulkan-specific)
|
||||
- ARB/KHR/OES (Khronos extensions)
|
||||
- other (EXT/vendor extensions)"""
|
||||
|
||||
if feature.elem.tag == 'feature':
|
||||
if feature.name.startswith('VKSC'):
|
||||
return 0.5
|
||||
return 0
|
||||
else:
|
||||
return 0
|
||||
if (feature.category == 'ARB'
|
||||
or feature.category == 'KHR'
|
||||
or feature.category == 'OES'):
|
||||
|
@ -74,10 +75,15 @@ def regSortCategoryKey(feature):
|
|||
def regSortOrderKey(feature):
|
||||
"""Sort key for regSortFeatures - key is the sortorder attribute."""
|
||||
|
||||
# print("regSortOrderKey {} -> {}".format(feature.name, feature.sortorder))
|
||||
return feature.sortorder
|
||||
|
||||
|
||||
def regSortNameKey(feature):
|
||||
"""Sort key for regSortFeatures - key is the extension name."""
|
||||
|
||||
return feature.name
|
||||
|
||||
|
||||
def regSortFeatureVersionKey(feature):
|
||||
"""Sort key for regSortFeatures - key is the feature version.
|
||||
`<extension>` elements all have version number 0."""
|
||||
|
@ -105,6 +111,36 @@ def regSortFeatures(featureList):
|
|||
featureList.sort(key=regSortOrderKey)
|
||||
|
||||
|
||||
class MissingGeneratorOptionsError(RuntimeError):
|
||||
"""Error raised when a Generator tries to do something that requires GeneratorOptions but it is None."""
|
||||
|
||||
def __init__(self, msg=None):
|
||||
full_msg = 'Missing generator options object self.genOpts'
|
||||
if msg:
|
||||
full_msg += ': ' + msg
|
||||
super().__init__(full_msg)
|
||||
|
||||
|
||||
class MissingRegistryError(RuntimeError):
|
||||
"""Error raised when a Generator tries to do something that requires a Registry object but it is None."""
|
||||
|
||||
def __init__(self, msg=None):
|
||||
full_msg = 'Missing Registry object self.registry'
|
||||
if msg:
|
||||
full_msg += ': ' + msg
|
||||
super().__init__(full_msg)
|
||||
|
||||
|
||||
class MissingGeneratorOptionsConventionsError(RuntimeError):
|
||||
"""Error raised when a Generator tries to do something that requires a Conventions object but it is None."""
|
||||
|
||||
def __init__(self, msg=None):
|
||||
full_msg = 'Missing Conventions object self.genOpts.conventions'
|
||||
if msg:
|
||||
full_msg += ': ' + msg
|
||||
super().__init__(full_msg)
|
||||
|
||||
|
||||
class GeneratorOptions:
|
||||
"""Base class for options used during header/documentation production.
|
||||
|
||||
|
@ -137,8 +173,8 @@ class GeneratorOptions:
|
|||
- conventions - may be mandatory for some generators:
|
||||
an object that implements ConventionsBase
|
||||
- filename - basename of file to generate, or None to write to stdout.
|
||||
- directory - directory in which to generate files
|
||||
- genpath - path to previously generated files, such as api.py
|
||||
- directory - directory in which to generate filename
|
||||
- genpath - path to previously generated files, such as apimap.py
|
||||
- apiname - string matching `<api>` 'apiname' attribute, e.g. 'gl'.
|
||||
- profile - string specifying API profile , e.g. 'core', or None.
|
||||
- versions - regex matching API versions to process interfaces for.
|
||||
|
@ -157,8 +193,7 @@ class GeneratorOptions:
|
|||
to None.
|
||||
- emitExtensions - regex matching names of extensions to actually emit
|
||||
interfaces for (though all requested versions are considered when
|
||||
deciding which interfaces to generate).
|
||||
to None.
|
||||
deciding which interfaces to generate). Defaults to None.
|
||||
- emitSpirv - regex matching names of extensions and capabilities
|
||||
to actually emit interfaces for.
|
||||
- emitFormats - regex matching names of formats to actually emit
|
||||
|
@ -170,9 +205,11 @@ class GeneratorOptions:
|
|||
or <extension> being complete. Defaults to True.
|
||||
- sortProcedure - takes a list of FeatureInfo objects and sorts
|
||||
them in place to a preferred order in the generated output.
|
||||
Default is core API versions, ARB/KHR/OES extensions, all other
|
||||
extensions, by core API version number or extension number in each
|
||||
group.
|
||||
Default is
|
||||
- core API versions
|
||||
- Khronos (ARB/KHR/OES) extensions
|
||||
- All other extensions
|
||||
- By core API version number or extension number in each group.
|
||||
|
||||
The regex patterns can be None or empty, in which case they match
|
||||
nothing."""
|
||||
|
@ -184,7 +221,7 @@ class GeneratorOptions:
|
|||
"basename of file to generate, or None to write to stdout."
|
||||
|
||||
self.genpath = genpath
|
||||
"""path to previously generated files, such as api.py"""
|
||||
"""path to previously generated files, such as apimap.py"""
|
||||
|
||||
self.directory = directory
|
||||
"directory in which to generate filename"
|
||||
|
@ -245,6 +282,9 @@ class GeneratorOptions:
|
|||
self.codeGenerator = False
|
||||
"""True if this generator makes compilable code"""
|
||||
|
||||
self.registry = None
|
||||
"""Populated later with the registry object."""
|
||||
|
||||
self.requireCommandAliases = requireCommandAliases
|
||||
"""True if alias= attributes of <command> tags are transitively
|
||||
required."""
|
||||
|
@ -298,9 +338,17 @@ class OutputGenerator:
|
|||
self.diagFile = diagFile
|
||||
# Internal state
|
||||
self.featureName = None
|
||||
"""The current feature name being generated."""
|
||||
|
||||
self.genOpts = None
|
||||
"""The GeneratorOptions subclass instance."""
|
||||
|
||||
self.registry = None
|
||||
"""The specification registry object."""
|
||||
|
||||
self.featureDictionary = {}
|
||||
"""The dictionary of dictionaries of API features."""
|
||||
|
||||
# Used for extension enum value generation
|
||||
self.extBase = 1000000000
|
||||
self.extBlockSize = 1000
|
||||
|
@ -336,9 +384,17 @@ class OutputGenerator:
|
|||
raise UserWarning(
|
||||
'*** FATAL ERROR in Generator.logMsg: unknown level:' + level)
|
||||
|
||||
def enumToValue(self, elem, needsNum, bitwidth = 32, forceSuffix = False):
|
||||
def enumToValue(self, elem, needsNum, bitwidth = 32,
|
||||
forceSuffix = False, parent_for_alias_dereference=None):
|
||||
"""Parse and convert an `<enum>` tag into a value.
|
||||
|
||||
- elem - <enum> Element
|
||||
- needsNum - generate a numeric representation of the element value
|
||||
- bitwidth - size of the numeric representation in bits (32 or 64)
|
||||
- forceSuffix - if True, always use a 'U' / 'ULL' suffix on integers
|
||||
- parent_for_alias_dereference - if not None, an Element containing
|
||||
the parent of elem, used to look for elements this is an alias of
|
||||
|
||||
Returns a list:
|
||||
|
||||
- first element - integer representation of the value, or None
|
||||
|
@ -360,6 +416,11 @@ class OutputGenerator:
|
|||
- An 'alias' attribute contains the name of another enum
|
||||
which this is an alias of. The other enum must be
|
||||
declared first when emitting this enum."""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
|
||||
name = elem.get('name')
|
||||
numVal = None
|
||||
if 'value' in elem.keys():
|
||||
|
@ -384,7 +445,7 @@ class OutputGenerator:
|
|||
bitpos = int(value, 0)
|
||||
numVal = 1 << bitpos
|
||||
value = '0x%08x' % numVal
|
||||
if bitwidth == 64:
|
||||
if bitwidth == 64 or bitpos >= 32:
|
||||
value = value + 'ULL'
|
||||
elif forceSuffix:
|
||||
value = value + 'U'
|
||||
|
@ -411,7 +472,15 @@ class OutputGenerator:
|
|||
self.logMsg('diag', 'Enum', name, '-> offset [', numVal, ',', value, ']')
|
||||
return [numVal, value]
|
||||
if 'alias' in elem.keys():
|
||||
return [None, elem.get('alias')]
|
||||
alias_of = elem.get('alias')
|
||||
if parent_for_alias_dereference is None:
|
||||
return (None, alias_of)
|
||||
siblings = parent_for_alias_dereference.findall('enum')
|
||||
for sib in siblings:
|
||||
sib_name = sib.get('name')
|
||||
if sib_name == alias_of:
|
||||
return self.enumToValue(sib, needsNum)
|
||||
raise RuntimeError("Could not find the aliased enum value")
|
||||
return [None, None]
|
||||
|
||||
def checkDuplicateEnums(self, enums):
|
||||
|
@ -478,6 +547,11 @@ class OutputGenerator:
|
|||
|
||||
def buildEnumCDecl(self, expand, groupinfo, groupName):
|
||||
"""Generate the C declaration for an enum"""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
|
||||
groupElem = groupinfo.elem
|
||||
|
||||
# Determine the required bit width for the enum group.
|
||||
|
@ -629,7 +703,6 @@ class OutputGenerator:
|
|||
maxValidValue = 2**(32 - 1) - 1
|
||||
minValidValue = (maxValidValue * -1) - 1
|
||||
|
||||
|
||||
# Get a list of nested 'enum' tags.
|
||||
enums = groupElem.findall('enum')
|
||||
|
||||
|
@ -649,6 +722,9 @@ class OutputGenerator:
|
|||
# aliases can still get in the wrong order.
|
||||
aliasText = []
|
||||
|
||||
maxName = None
|
||||
minValue = None
|
||||
maxValue = None
|
||||
for elem in enums:
|
||||
# Convert the value to an integer and use that to track min/max.
|
||||
# Values of form -(number) are accepted but nothing more complex.
|
||||
|
@ -689,10 +765,10 @@ class OutputGenerator:
|
|||
if minName is None:
|
||||
minName = maxName = name
|
||||
minValue = maxValue = numVal
|
||||
elif numVal < minValue:
|
||||
elif minValue is None or numVal < minValue:
|
||||
minName = name
|
||||
minValue = numVal
|
||||
elif numVal > maxValue:
|
||||
elif maxValue is None or numVal > maxValue:
|
||||
maxName = name
|
||||
maxValue = numVal
|
||||
|
||||
|
@ -701,17 +777,15 @@ class OutputGenerator:
|
|||
|
||||
# Generate min/max value tokens - legacy use case.
|
||||
if isEnum and expand:
|
||||
body.extend((" {}_BEGIN_RANGE{} = {},".format(expandPrefix, expandSuffix, minName),
|
||||
" {}_END_RANGE{} = {},".format(
|
||||
expandPrefix, expandSuffix, maxName),
|
||||
" {}_RANGE_SIZE{} = ({} - {} + 1),".format(expandPrefix, expandSuffix, maxName, minName)))
|
||||
body.extend((f' {expandPrefix}_BEGIN_RANGE{expandSuffix} = {minName},',
|
||||
f' {expandPrefix}_END_RANGE{expandSuffix} = {maxName},',
|
||||
f' {expandPrefix}_RANGE_SIZE{expandSuffix} = ({maxName} - {minName} + 1),'))
|
||||
|
||||
# Generate a range-padding value to ensure the enum is 32 bits, but
|
||||
# only in code generators, so it does not appear in documentation
|
||||
if (self.genOpts.codeGenerator or
|
||||
self.conventions.generate_max_enum_in_docs):
|
||||
body.append(" {}_MAX_ENUM{} = 0x7FFFFFFF".format(
|
||||
expandPrefix, expandSuffix))
|
||||
body.append(f' {expandPrefix}_MAX_ENUM{expandSuffix} = 0x7FFFFFFF')
|
||||
|
||||
# Postfix
|
||||
body.append("} %s;" % groupName)
|
||||
|
@ -781,18 +855,23 @@ class OutputGenerator:
|
|||
"""Start a new interface file
|
||||
|
||||
- genOpts - GeneratorOptions controlling what is generated and how"""
|
||||
|
||||
self.genOpts = genOpts
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
self.should_insert_may_alias_macro = \
|
||||
self.genOpts.conventions.should_insert_may_alias_macro(self.genOpts)
|
||||
|
||||
# Try to import the API dictionary, api.py, if it exists. Nothing in
|
||||
# api.py cannot be extracted directly from the XML, and in the
|
||||
# Try to import the API dictionary, apimap.py, if it exists. Nothing
|
||||
# in apimap.py cannot be extracted directly from the XML, and in the
|
||||
# future we should do that.
|
||||
if self.genOpts.genpath is not None:
|
||||
try:
|
||||
sys.path.insert(0, self.genOpts.genpath)
|
||||
import api
|
||||
self.apidict = api
|
||||
import apimap
|
||||
self.apidict = apimap
|
||||
except ImportError:
|
||||
self.apidict = None
|
||||
|
||||
|
@ -811,18 +890,23 @@ class OutputGenerator:
|
|||
self.warnFile.flush()
|
||||
if self.diagFile:
|
||||
self.diagFile.flush()
|
||||
if self.outFile != sys.stdout and self.outFile != sys.stderr:
|
||||
self.outFile.close()
|
||||
if self.outFile:
|
||||
self.outFile.flush()
|
||||
if self.outFile != sys.stdout and self.outFile != sys.stderr:
|
||||
self.outFile.close()
|
||||
|
||||
# On successfully generating output, move the temporary file to the
|
||||
# target file.
|
||||
if self.genOpts.filename is not None:
|
||||
if sys.platform == 'win32':
|
||||
directory = Path(self.genOpts.directory)
|
||||
if not Path.exists(directory):
|
||||
os.makedirs(directory)
|
||||
shutil.copy(self.outFile.name, self.genOpts.directory + '/' + self.genOpts.filename)
|
||||
os.remove(self.outFile.name)
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
|
||||
# On successfully generating output, move the temporary file to the
|
||||
# target file.
|
||||
if self.genOpts.filename is not None:
|
||||
if sys.platform == 'win32':
|
||||
directory = Path(self.genOpts.directory)
|
||||
if not Path.exists(directory):
|
||||
os.makedirs(directory)
|
||||
shutil.copy(self.outFile.name, self.genOpts.directory + '/' + self.genOpts.filename)
|
||||
os.remove(self.outFile.name)
|
||||
self.genOpts = None
|
||||
|
||||
def beginFeature(self, interface, emit):
|
||||
|
@ -933,10 +1017,14 @@ class OutputGenerator:
|
|||
|
||||
- name - contents of `<name>` tag
|
||||
- tail - whatever text follows that tag in the Element"""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
return self.genOpts.apientry + name + tail
|
||||
|
||||
def makeTypedefName(self, name, tail):
|
||||
"""Make the function-pointer typedef name for a command."""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
return '(' + self.genOpts.apientryp + 'PFN_' + name + tail + ')'
|
||||
|
||||
def makeCParamDecl(self, param, aligncol):
|
||||
|
@ -947,6 +1035,10 @@ class OutputGenerator:
|
|||
- param - Element (`<param>` or `<member>`) to format
|
||||
- aligncol - if non-zero, attempt to align the nested `<name>` element
|
||||
at this column"""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
indent = ' '
|
||||
paramdecl = indent
|
||||
prefix = noneStr(param.text)
|
||||
|
@ -993,6 +1085,10 @@ class OutputGenerator:
|
|||
or structure/union member).
|
||||
|
||||
- param - Element (`<param>` or `<member>`) to identify"""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
if self.genOpts.conventions is None:
|
||||
raise MissingGeneratorOptionsConventionsError()
|
||||
|
||||
# Allow for missing <name> tag
|
||||
newLen = 0
|
||||
|
@ -1023,6 +1119,9 @@ class OutputGenerator:
|
|||
|
||||
def getHandleParent(self, typename):
|
||||
"""Get the parent of a handle object."""
|
||||
if self.registry is None:
|
||||
raise MissingRegistryError()
|
||||
|
||||
info = self.registry.typedict.get(typename)
|
||||
if info is None:
|
||||
return None
|
||||
|
@ -1046,6 +1145,9 @@ class OutputGenerator:
|
|||
|
||||
def getTypeCategory(self, typename):
|
||||
"""Get the category of a type."""
|
||||
if self.registry is None:
|
||||
raise MissingRegistryError()
|
||||
|
||||
info = self.registry.typedict.get(typename)
|
||||
if info is None:
|
||||
return None
|
||||
|
@ -1060,6 +1162,8 @@ class OutputGenerator:
|
|||
# A conventions object is required for this call.
|
||||
if not self.conventions:
|
||||
raise RuntimeError("To use isStructAlwaysValid, be sure your options include a Conventions object.")
|
||||
if self.registry is None:
|
||||
raise MissingRegistryError()
|
||||
|
||||
if self.conventions.type_always_valid(structname):
|
||||
return True
|
||||
|
@ -1102,6 +1206,21 @@ class OutputGenerator:
|
|||
|
||||
return True
|
||||
|
||||
def paramIsArray(self, param):
|
||||
"""Check if the parameter passed in is a pointer to an array.
|
||||
|
||||
param the XML information for the param
|
||||
"""
|
||||
return param.get('len') is not None
|
||||
|
||||
def paramIsPointer(self, param):
|
||||
"""Check if the parameter passed in is a pointer.
|
||||
|
||||
param the XML information for the param
|
||||
"""
|
||||
tail = param.find('type').tail
|
||||
return tail is not None and '*' in tail
|
||||
|
||||
def isEnumRequired(self, elem):
|
||||
"""Return True if this `<enum>` element is
|
||||
required, False otherwise
|
||||
|
@ -1137,6 +1256,8 @@ class OutputGenerator:
|
|||
`<command>` Element, as a two-element list of strings.
|
||||
|
||||
- cmd - Element containing a `<command>` tag"""
|
||||
if self.genOpts is None:
|
||||
raise MissingGeneratorOptionsError()
|
||||
proto = cmd.find('proto')
|
||||
params = cmd.findall('param')
|
||||
# Begin accumulating prototype and typedef strings
|
||||
|
|
|
@ -5,13 +5,17 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import pdb
|
||||
import re
|
||||
import sys
|
||||
import time
|
||||
import xml.etree.ElementTree as etree
|
||||
|
||||
sys.path.append(os.path.abspath(os.path.dirname(__file__)))
|
||||
|
||||
from cgenerator import CGeneratorOptions, COutputGenerator
|
||||
|
||||
from docgenerator import DocGeneratorOptions, DocOutputGenerator
|
||||
from extensionmetadocgenerator import (ExtensionMetaDocGeneratorOptions,
|
||||
ExtensionMetaDocOutputGenerator)
|
||||
|
@ -27,7 +31,6 @@ from reg import Registry
|
|||
from validitygenerator import ValidityOutputGenerator
|
||||
from apiconventions import APIConventions
|
||||
|
||||
|
||||
# Simple timer functions
|
||||
startTime = None
|
||||
|
||||
|
@ -40,7 +43,7 @@ def startTimer(timeit):
|
|||
|
||||
def endTimer(timeit, msg):
|
||||
global startTime
|
||||
if timeit:
|
||||
if timeit and startTime is not None:
|
||||
endTime = time.process_time()
|
||||
logDiag(msg, endTime - startTime)
|
||||
startTime = None
|
||||
|
@ -91,7 +94,7 @@ def makeGenOpts(args):
|
|||
# Output target directory
|
||||
directory = args.directory
|
||||
|
||||
# Path to generated files, particularly api.py
|
||||
# Path to generated files, particularly apimap.py
|
||||
genpath = args.genpath
|
||||
|
||||
# Generate MISRA C-friendly headers
|
||||
|
@ -118,7 +121,7 @@ def makeGenOpts(args):
|
|||
'/*',
|
||||
'** Copyright 2015-2022 The Khronos Group Inc.',
|
||||
'**',
|
||||
'** SPDX' + '-License-Identifier: Apache-2.0',
|
||||
'** SPDX-License-Identifier' + ': Apache-2.0',
|
||||
'*/',
|
||||
''
|
||||
]
|
||||
|
@ -172,11 +175,11 @@ def makeGenOpts(args):
|
|||
|
||||
# Python and Ruby representations of API information, used by scripts
|
||||
# that do not need to load the full XML.
|
||||
genOpts['api.py'] = [
|
||||
genOpts['apimap.py'] = [
|
||||
PyOutputGenerator,
|
||||
DocGeneratorOptions(
|
||||
conventions = conventions,
|
||||
filename = 'api.py',
|
||||
filename = 'apimap.py',
|
||||
directory = directory,
|
||||
genpath = None,
|
||||
apiname = defaultAPIName,
|
||||
|
@ -190,11 +193,11 @@ def makeGenOpts(args):
|
|||
reparentEnums = False)
|
||||
]
|
||||
|
||||
genOpts['api.rb'] = [
|
||||
genOpts['apimap.rb'] = [
|
||||
RubyOutputGenerator,
|
||||
DocGeneratorOptions(
|
||||
conventions = conventions,
|
||||
filename = 'api.rb',
|
||||
filename = 'apimap.rb',
|
||||
directory = directory,
|
||||
genpath = None,
|
||||
apiname = defaultAPIName,
|
||||
|
@ -394,7 +397,8 @@ def makeGenOpts(args):
|
|||
[ 'vulkan_xlib.h', [ 'VK_KHR_xlib_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_directfb.h', [ 'VK_EXT_directfb_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_xlib_xrandr.h', [ 'VK_EXT_acquire_xlib_display' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_metal.h', [ 'VK_EXT_metal_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_metal.h', [ 'VK_EXT_metal_surface',
|
||||
'VK_EXT_metal_objects' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_screen.h', [ 'VK_QNX_screen_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_beta.h', betaRequireExtensions, betaSuppressExtensions ],
|
||||
]
|
||||
|
@ -547,7 +551,7 @@ def makeGenOpts(args):
|
|||
# but are treated in a similar fashion for generation purposes.
|
||||
#
|
||||
# Each element of the videoStd[] array is an 'extension' name defining
|
||||
# an iterface, and is also the basis for the generated header file name.
|
||||
# an interface, and is also the basis for the generated header file name.
|
||||
|
||||
videoStd = [
|
||||
'vulkan_video_codecs_common',
|
||||
|
@ -666,8 +670,6 @@ def genTarget(args):
|
|||
# Create generator options with parameters specified on command line
|
||||
makeGenOpts(args)
|
||||
|
||||
# pdb.set_trace()
|
||||
|
||||
# Select a generator matching the requested target
|
||||
if args.target in genOpts:
|
||||
createGenerator = genOpts[args.target][0]
|
||||
|
@ -739,8 +741,6 @@ if __name__ == '__main__':
|
|||
help='Use specified registry file instead of vk.xml')
|
||||
parser.add_argument('-time', action='store_true',
|
||||
help='Enable timing')
|
||||
parser.add_argument('-validate', action='store_true',
|
||||
help='Validate the registry properties and exit')
|
||||
parser.add_argument('-genpath', action='store', default='gen',
|
||||
help='Path to generated files')
|
||||
parser.add_argument('-o', action='store', dest='directory',
|
||||
|
@ -778,10 +778,8 @@ if __name__ == '__main__':
|
|||
# Log diagnostics and warnings
|
||||
setLogFile(setDiag = True, setWarn = True, filename = '-')
|
||||
|
||||
(gen, options) = (None, None)
|
||||
if not args.validate:
|
||||
# Create the API generator & generator options
|
||||
(gen, options) = genTarget(args)
|
||||
# Create the API generator & generator options
|
||||
(gen, options) = genTarget(args)
|
||||
|
||||
# Create the registry object with the specified generator and generator
|
||||
# options. The options are set before XML loading as they may affect it.
|
||||
|
@ -797,10 +795,6 @@ if __name__ == '__main__':
|
|||
reg.loadElementTree(tree)
|
||||
endTimer(args.time, '* Time to parse ElementTree =')
|
||||
|
||||
if args.validate:
|
||||
success = reg.validateRegistry()
|
||||
sys.exit(0 if success else 1)
|
||||
|
||||
if args.dump:
|
||||
logDiag('* Dumping registry to regdump.txt')
|
||||
reg.dumpReg(filehandle=open('regdump.txt', 'w', encoding='utf-8'))
|
||||
|
|
92
deps/vulkan-headers/share/vulkan/registry/reg.py
vendored
92
deps/vulkan-headers/share/vulkan/registry/reg.py
vendored
|
@ -11,7 +11,8 @@ import re
|
|||
import sys
|
||||
import xml.etree.ElementTree as etree
|
||||
from collections import defaultdict, deque, namedtuple
|
||||
from generator import OutputGenerator, GeneratorOptions, write
|
||||
|
||||
from generator import GeneratorOptions, OutputGenerator, noneStr, write
|
||||
from apiconventions import APIConventions
|
||||
|
||||
def apiNameMatch(str, supported):
|
||||
|
@ -268,22 +269,21 @@ class FeatureInfo(BaseInfo):
|
|||
attribute of <feature>. Extensions do not have API version
|
||||
numbers and are assigned number 0."""
|
||||
|
||||
self.number = "0"
|
||||
self.number = 0
|
||||
self.supported = None
|
||||
else:
|
||||
# Extract vendor portion of <APIprefix>_<vendor>_<name>
|
||||
self.category = self.name.split('_', 2)[1]
|
||||
self.version = "0"
|
||||
self.versionNumber = "0"
|
||||
self.number = elem.get('number')
|
||||
|
||||
self.number = int(elem.get('number','0'))
|
||||
"""extension number, used for ordering and for assigning
|
||||
enumerant offsets. <feature> features do not have extension
|
||||
numbers and are assigned number 0."""
|
||||
numbers and are assigned number 0, as are extensions without
|
||||
numbers, so sorting works."""
|
||||
|
||||
# If there is no 'number' attribute, use 0, so sorting works
|
||||
if self.number is None:
|
||||
self.number = 0
|
||||
self.supported = elem.get('supported')
|
||||
self.supported = elem.get('supported', 'disabled')
|
||||
|
||||
class SpirvInfo(BaseInfo):
|
||||
"""Registry information about an API <spirvextensions>
|
||||
|
@ -444,6 +444,8 @@ class Registry:
|
|||
def parseTree(self):
|
||||
"""Parse the registry Element, once created"""
|
||||
# This must be the Element for the root <registry>
|
||||
if self.tree is None:
|
||||
raise RuntimeError("Tree not initialized!")
|
||||
self.reg = self.tree.getroot()
|
||||
|
||||
# Preprocess the tree by removing all elements with non-matching
|
||||
|
@ -468,7 +470,10 @@ class Registry:
|
|||
# If the <type> does not already have a 'name' attribute, set
|
||||
# it from contents of its <name> tag.
|
||||
if type_elem.get('name') is None:
|
||||
type_elem.set('name', type_elem.find('name').text)
|
||||
name_elem = type_elem.find('name')
|
||||
if name_elem is None or not name_elem.text:
|
||||
raise RuntimeError("Type without a name!")
|
||||
type_elem.set('name', name_elem.text)
|
||||
self.addElementInfo(type_elem, TypeInfo(type_elem), 'type', self.typedict)
|
||||
|
||||
# Create dictionary of registry enum groups from <enums> tags.
|
||||
|
@ -513,7 +518,10 @@ class Registry:
|
|||
# it from contents of its <proto><name> tag.
|
||||
name = cmd.get('name')
|
||||
if name is None:
|
||||
name = cmd.set('name', cmd.find('proto/name').text)
|
||||
name_elem = cmd.find('proto/name')
|
||||
if name_elem is None or not name_elem.text:
|
||||
raise RuntimeError("Command without a name!")
|
||||
name = cmd.set('name', name_elem.text)
|
||||
ci = CmdInfo(cmd)
|
||||
self.addElementInfo(cmd, ci, 'command', self.cmddict)
|
||||
alias = cmd.get('alias')
|
||||
|
@ -619,10 +627,10 @@ class Registry:
|
|||
# as when redefining an enum in another extension.
|
||||
extnumber = enum.get('extnumber')
|
||||
if not extnumber:
|
||||
enum.set('extnumber', featureInfo.number)
|
||||
enum.set('extnumber', str(featureInfo.number))
|
||||
|
||||
enum.set('extname', featureInfo.name)
|
||||
enum.set('supported', featureInfo.supported)
|
||||
enum.set('supported', noneStr(featureInfo.supported))
|
||||
# Look up the GroupInfo with matching groupName
|
||||
if groupName in self.groupdict:
|
||||
# self.gen.logMsg('diag', 'Matching group',
|
||||
|
@ -632,6 +640,7 @@ class Registry:
|
|||
else:
|
||||
self.gen.logMsg('warn', 'NO matching group',
|
||||
groupName, 'for enum', enum.get('name'), 'found.')
|
||||
# This is Vulkan-specific
|
||||
if groupName == "VkFormat":
|
||||
format_name = enum.get('name')
|
||||
if enum.get('alias'):
|
||||
|
@ -657,9 +666,10 @@ class Registry:
|
|||
disabled_types.append(type_elem.get('name'))
|
||||
for type_elem in self.reg.findall('types/type'):
|
||||
if type_elem.get('name') not in disabled_types:
|
||||
parentStructs = type_elem.get('structextends')
|
||||
if parentStructs is not None:
|
||||
for parent in parentStructs.split(','):
|
||||
# The structure type this may be chained to.
|
||||
struct_extends = type_elem.get('structextends')
|
||||
if struct_extends is not None:
|
||||
for parent in struct_extends.split(','):
|
||||
# self.gen.logMsg('diag', type.get('name'), 'extends', parent)
|
||||
self.validextensionstructs[parent].append(type_elem.get('name'))
|
||||
# Sort the lists so they do not depend on the XML order
|
||||
|
@ -873,7 +883,7 @@ class Registry:
|
|||
self.markCmdRequired(depname, required)
|
||||
|
||||
# Tag all parameter types of this command as required.
|
||||
# This DOES NOT remove types of commands in a <remove>
|
||||
# This does not remove types of commands in a <remove>
|
||||
# tag, because many other commands may use the same type.
|
||||
# We could be more clever and reference count types,
|
||||
# instead of using a boolean.
|
||||
|
@ -901,7 +911,6 @@ class Registry:
|
|||
self.markTypeRequired(typeElem.get('name'), required)
|
||||
for enumElem in feature.findall('enum'):
|
||||
self.markEnumRequired(enumElem.get('name'), required)
|
||||
|
||||
for cmdElem in feature.findall('command'):
|
||||
self.markCmdRequired(cmdElem.get('name'), required)
|
||||
|
||||
|
@ -1231,6 +1240,8 @@ class Registry:
|
|||
if name in enumAliases:
|
||||
elem.set('required', 'true')
|
||||
self.gen.logMsg('diag', '* also need to require alias', name)
|
||||
if f is None:
|
||||
raise RuntimeError("Should not get here")
|
||||
if f.elem.get('category') == 'bitmask':
|
||||
followupFeature = f.elem.get('bitvalues')
|
||||
elif ftype == 'command':
|
||||
|
@ -1253,6 +1264,8 @@ class Registry:
|
|||
# Actually generate the type only if emitting declarations
|
||||
if self.emitFeatures:
|
||||
self.gen.logMsg('diag', 'Emitting', ftype, 'decl for', fname)
|
||||
if genProc is None:
|
||||
raise RuntimeError("genProc is None when we should be emitting")
|
||||
genProc(f, fname, alias)
|
||||
else:
|
||||
self.gen.logMsg('diag', 'Skipping', ftype, fname,
|
||||
|
@ -1417,7 +1430,7 @@ class Registry:
|
|||
# the regexp specified in the generator options. This allows
|
||||
# forcing extensions into an interface even if they are not
|
||||
# tagged appropriately in the registry.
|
||||
# However we still respect the 'supported' attribute.
|
||||
# However, we still respect the 'supported' attribute.
|
||||
if regAddExtensions.match(extName) is not None:
|
||||
if not apiNameMatch(self.genOpts.apiname, ei.elem.get('supported')):
|
||||
self.gen.logMsg('diag', 'NOT including extension',
|
||||
|
@ -1477,7 +1490,6 @@ class Registry:
|
|||
# Sort the features list, if a sort procedure is defined
|
||||
if self.genOpts.sortProcedure:
|
||||
self.genOpts.sortProcedure(features)
|
||||
# print('sortProcedure ->', [f.name for f in features])
|
||||
|
||||
# Passes 1+2: loop over requested API versions and extensions tagging
|
||||
# types/commands/features as required (in an <require> block) or no
|
||||
|
@ -1551,45 +1563,3 @@ class Registry:
|
|||
self.cmddict[cmd].resetState()
|
||||
for cmd in self.apidict:
|
||||
self.apidict[cmd].resetState()
|
||||
|
||||
def __validateStructLimittypes(self, struct):
|
||||
"""Validate 'limittype' attributes for a single struct."""
|
||||
limittypeDiags = namedtuple('limittypeDiags', ['missing', 'invalid'])
|
||||
badFields = defaultdict(lambda : limittypeDiags(missing=[], invalid=[]))
|
||||
validLimittypes = { 'min', 'max', 'bitmask', 'range', 'struct', 'noauto' }
|
||||
for member in struct.getMembers():
|
||||
memberName = member.findtext('name')
|
||||
if memberName in ['sType', 'pNext']:
|
||||
continue
|
||||
limittype = member.get('limittype')
|
||||
if not limittype:
|
||||
badFields[struct.elem.get('name')].missing.append(memberName)
|
||||
elif limittype == 'struct':
|
||||
typeName = member.findtext('type')
|
||||
memberType = self.typedict[typeName]
|
||||
badFields.update(self.__validateStructLimittypes(memberType))
|
||||
elif limittype not in validLimittypes:
|
||||
badFields[struct.elem.get('name')].invalid.append(memberName)
|
||||
return badFields
|
||||
|
||||
def __validateLimittype(self):
|
||||
"""Validate 'limittype' attributes."""
|
||||
badFields = self.__validateStructLimittypes(self.typedict['VkPhysicalDeviceProperties2'])
|
||||
for featStructName in self.validextensionstructs['VkPhysicalDeviceProperties2']:
|
||||
featStruct = self.typedict[featStructName]
|
||||
badFields.update(self.__validateStructLimittypes(featStruct))
|
||||
|
||||
if badFields:
|
||||
self.gen.logMsg('diag', 'SUMMARY OF FIELDS WITH INCORRECT LIMITTYPES')
|
||||
for key in sorted(badFields.keys()):
|
||||
diags = badFields[key]
|
||||
if diags.missing:
|
||||
self.gen.logMsg('diag', ' ', key, 'missing limittype:', ', '.join(badFields[key].missing))
|
||||
if diags.invalid:
|
||||
self.gen.logMsg('diag', ' ', key, 'invalid limittype:', ', '.join(badFields[key].invalid))
|
||||
return False
|
||||
return True
|
||||
|
||||
def validateRegistry(self):
|
||||
"""Validate properties of the registry."""
|
||||
return self.__validateLimittype()
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
# used in generation.
|
||||
|
||||
from enum import Enum
|
||||
import abc
|
||||
import re
|
||||
|
||||
# Type categories that respond "False" to isStructAlwaysValid
|
||||
# basetype is home to typedefs like ..Bool32
|
||||
|
@ -21,13 +23,16 @@ CATEGORIES_REQUIRING_VALIDATION = set(('handle',
|
|||
TYPES_KNOWN_ALWAYS_VALID = set(('char',
|
||||
'float',
|
||||
'int8_t', 'uint8_t',
|
||||
'int16_t', 'uint16_t',
|
||||
'int32_t', 'uint32_t',
|
||||
'int64_t', 'uint64_t',
|
||||
'size_t',
|
||||
'uintptr_t',
|
||||
'intptr_t', 'uintptr_t',
|
||||
'int',
|
||||
))
|
||||
|
||||
# Split an extension name into vendor ID and name portions
|
||||
EXT_NAME_DECOMPOSE_RE = re.compile(r'[A-Z]+_(?P<vendor>[A-Z]+)_(?P<name>[\w_]+)')
|
||||
|
||||
class ProseListFormats(Enum):
|
||||
"""A connective, possibly with a quantifier."""
|
||||
|
@ -42,7 +47,7 @@ class ProseListFormats(Enum):
|
|||
return cls.OR
|
||||
if s == 'and':
|
||||
return cls.AND
|
||||
return None
|
||||
raise RuntimeError("Unrecognized string connective: " + s)
|
||||
|
||||
@property
|
||||
def connective(self):
|
||||
|
@ -63,7 +68,7 @@ class ProseListFormats(Enum):
|
|||
return ''
|
||||
|
||||
|
||||
class ConventionsBase:
|
||||
class ConventionsBase(abc.ABC):
|
||||
"""WG-specific conventions."""
|
||||
|
||||
def __init__(self):
|
||||
|
@ -72,9 +77,10 @@ class ConventionsBase:
|
|||
|
||||
def formatExtension(self, name):
|
||||
"""Mark up an extension name as a link the spec."""
|
||||
return '`apiext:{}`'.format(name)
|
||||
return '`<<{}>>`'.format(name)
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def null(self):
|
||||
"""Preferred spelling of NULL."""
|
||||
raise NotImplementedError
|
||||
|
@ -112,6 +118,38 @@ class ConventionsBase:
|
|||
"""
|
||||
return 'code:'
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def structtype_member_name(self):
|
||||
"""Return name of the structure type member.
|
||||
|
||||
Must implement.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def nextpointer_member_name(self):
|
||||
"""Return name of the structure pointer chain member.
|
||||
|
||||
Must implement.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def xml_api_name(self):
|
||||
"""Return the name used in the default API XML registry for the default API"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@abc.abstractmethod
|
||||
def generate_structure_type_from_name(self, structname):
|
||||
"""Generate a structure type name, like XR_TYPE_CREATE_INSTANCE_INFO.
|
||||
|
||||
Must implement.
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def makeStructName(self, name):
|
||||
"""Prepend the appropriate format macro for a structure to a structure type name.
|
||||
|
||||
|
@ -166,10 +204,12 @@ class ConventionsBase:
|
|||
return ''.join(parts)
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def file_suffix(self):
|
||||
"""Return suffix of generated Asciidoctor files"""
|
||||
raise NotImplementedError
|
||||
|
||||
@abc.abstractmethod
|
||||
def api_name(self, spectype=None):
|
||||
"""Return API or specification name for citations in ref pages.
|
||||
|
||||
|
@ -206,6 +246,7 @@ class ConventionsBase:
|
|||
return self._type_prefix
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def api_prefix(self):
|
||||
"""Return API token prefix.
|
||||
|
||||
|
@ -329,24 +370,43 @@ class ConventionsBase:
|
|||
documentation includes."""
|
||||
return False
|
||||
|
||||
@abc.abstractmethod
|
||||
def extension_file_path(self, name):
|
||||
"""Return file path to an extension appendix relative to a directory
|
||||
containing all such appendices.
|
||||
- name - extension name
|
||||
|
||||
def extension_include_string(self, ext):
|
||||
"""Return format string for include:: line for an extension appendix
|
||||
file. ext is an object with the following members:
|
||||
- name - extension string string
|
||||
- vendor - vendor portion of name
|
||||
- barename - remainder of name
|
||||
|
||||
Must implement."""
|
||||
Must implement."""
|
||||
raise NotImplementedError
|
||||
|
||||
def extension_include_string(self, name):
|
||||
"""Return format string for include:: line for an extension appendix
|
||||
file.
|
||||
- name - extension name"""
|
||||
|
||||
return 'include::{{appendices}}/{}[]'.format(
|
||||
self.extension_file_path(name))
|
||||
|
||||
@property
|
||||
def refpage_generated_include_path(self):
|
||||
"""Return path relative to the generated reference pages, to the
|
||||
generated API include files.
|
||||
def provisional_extension_warning(self):
|
||||
"""Return True if a warning should be included in extension
|
||||
appendices for provisional extensions."""
|
||||
return True
|
||||
|
||||
Must implement."""
|
||||
raise NotImplementedError
|
||||
@property
|
||||
def generated_include_path(self):
|
||||
"""Return path relative to the generated reference pages, to the
|
||||
generated API include files."""
|
||||
|
||||
return '{generated}'
|
||||
|
||||
@property
|
||||
def include_extension_appendix_in_refpage(self):
|
||||
"""Return True if generating extension refpages by embedding
|
||||
extension appendix content (default), False otherwise
|
||||
(OpenXR)."""
|
||||
|
||||
return True
|
||||
|
||||
def valid_flag_bit(self, bitpos):
|
||||
"""Return True if bitpos is an allowed numeric bit position for
|
||||
|
@ -356,3 +416,17 @@ class ConventionsBase:
|
|||
or 64 bits), and may depend on assumptions about compiler
|
||||
handling of sign bits in enumerated types, as well."""
|
||||
return True
|
||||
|
||||
@property
|
||||
def duplicate_aliased_structs(self):
|
||||
"""
|
||||
Should aliased structs have the original struct definition listed in the
|
||||
generated docs snippet?
|
||||
"""
|
||||
return False
|
||||
|
||||
@property
|
||||
def protectProtoComment(self):
|
||||
"""Return True if generated #endif should have a comment matching
|
||||
the protection symbol used in the opening #ifdef/#ifndef."""
|
||||
return False
|
|
@ -1,5 +1,5 @@
|
|||
"""Utility functions not closely tied to other spec_tools types."""
|
||||
# Copyright 2018-2019 Collabora, Ltd.
|
||||
# Copyright (c) 2018-2019 Collabora, Ltd.
|
||||
# Copyright 2013-2022 The Khronos Group Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
|
File diff suppressed because one or more lines are too long
1011
deps/vulkan-headers/share/vulkan/registry/vk.xml
vendored
1011
deps/vulkan-headers/share/vulkan/registry/vk.xml
vendored
File diff suppressed because it is too large
Load diff
|
@ -10,8 +10,7 @@
|
|||
import re
|
||||
import os
|
||||
|
||||
from conventions import ConventionsBase
|
||||
|
||||
from spec_tools.conventions import ConventionsBase
|
||||
|
||||
# Modified from default implementation - see category_requires_validation() below
|
||||
CATEGORIES_REQUIRING_VALIDATION = set(('handle', 'enum', 'bitmask'))
|
||||
|
@ -51,6 +50,10 @@ class VulkanConventions(ConventionsBase):
|
|||
"""Preferred spelling of NULL."""
|
||||
return '`NULL`'
|
||||
|
||||
def formatExtension(self, name):
|
||||
"""Mark up an extension name as a link the spec."""
|
||||
return '`apiext:{}`'.format(name)
|
||||
|
||||
@property
|
||||
def struct_macro(self):
|
||||
"""Get the appropriate format macro for a structure.
|
||||
|
@ -251,21 +254,12 @@ class VulkanConventions(ConventionsBase):
|
|||
|
||||
return True
|
||||
|
||||
def extension_include_string(self, ext):
|
||||
"""Return format string for include:: line for an extension appendix
|
||||
file. ext is an object with the following members:
|
||||
- name - extension string string
|
||||
- vendor - vendor portion of name
|
||||
- barename - remainder of name"""
|
||||
def extension_file_path(self, name):
|
||||
"""Return file path to an extension appendix relative to a directory
|
||||
containing all such appendices.
|
||||
- name - extension name"""
|
||||
|
||||
return 'include::{{appendices}}/{name}{suffix}[]'.format(
|
||||
name=ext.name, suffix=self.file_suffix)
|
||||
|
||||
@property
|
||||
def refpage_generated_include_path(self):
|
||||
"""Return path relative to the generated reference pages, to the
|
||||
generated API include files."""
|
||||
return "{generated}"
|
||||
return f'{name}{self.file_suffix}'
|
||||
|
||||
def valid_flag_bit(self, bitpos):
|
||||
"""Return True if bitpos is an allowed numeric bit position for
|
||||
|
|
Loading…
Reference in a new issue