diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index c615bb35f9a..e2337adfdec 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -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 1 +#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 2 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" typedef enum VkQueryResultStatusKHR { @@ -66,12 +66,12 @@ typedef enum VkVideoComponentBitDepthFlagBitsKHR { } VkVideoComponentBitDepthFlagBitsKHR; typedef VkFlags VkVideoComponentBitDepthFlagsKHR; -typedef enum VkVideoCapabilitiesFlagBitsKHR { - VK_VIDEO_CAPABILITIES_PROTECTED_CONTENT_BIT_KHR = 0x00000001, - VK_VIDEO_CAPABILITIES_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, - VK_VIDEO_CAPABILITIES_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF -} VkVideoCapabilitiesFlagBitsKHR; -typedef VkFlags VkVideoCapabilitiesFlagsKHR; +typedef enum VkVideoCapabilityFlagBitsKHR { + VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, + VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, + VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkVideoCapabilityFlagBitsKHR; +typedef VkFlags VkVideoCapabilityFlagsKHR; typedef enum VkVideoSessionCreateFlagBitsKHR { VK_VIDEO_SESSION_CREATE_DEFAULT_KHR = 0, @@ -120,16 +120,16 @@ typedef struct VkVideoProfilesKHR { } VkVideoProfilesKHR; typedef struct VkVideoCapabilitiesKHR { - VkStructureType sType; - void* pNext; - VkVideoCapabilitiesFlagsKHR capabilityFlags; - VkDeviceSize minBitstreamBufferOffsetAlignment; - VkDeviceSize minBitstreamBufferSizeAlignment; - VkExtent2D videoPictureExtentGranularity; - VkExtent2D minExtent; - VkExtent2D maxExtent; - uint32_t maxReferencePicturesSlotsCount; - uint32_t maxReferencePicturesActiveCount; + VkStructureType sType; + void* pNext; + VkVideoCapabilityFlagsKHR capabilityFlags; + VkDeviceSize minBitstreamBufferOffsetAlignment; + VkDeviceSize minBitstreamBufferSizeAlignment; + VkExtent2D videoPictureExtentGranularity; + VkExtent2D minExtent; + VkExtent2D maxExtent; + uint32_t maxReferencePicturesSlotsCount; + uint32_t maxReferencePicturesActiveCount; } VkVideoCapabilitiesKHR; typedef struct VkPhysicalDeviceVideoFormatInfoKHR { @@ -433,10 +433,10 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( #define VK_EXT_video_encode_h264 1 #include "vk_video/vulkan_video_codec_h264std.h" #include "vk_video/vulkan_video_codec_h264std_encode.h" -#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 1 +#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 2 #define VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_EXT_video_encode_h264" -typedef enum VkVideoEncodeH264CapabilitiesFlagBitsEXT { +typedef enum VkVideoEncodeH264CapabilityFlagBitsEXT { VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00000001, VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00000002, VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT = 0x00000004, @@ -448,9 +448,9 @@ typedef enum VkVideoEncodeH264CapabilitiesFlagBitsEXT { VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000100, VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000200, VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000400, - VK_VIDEO_ENCODE_H264_CAPABILITIES_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkVideoEncodeH264CapabilitiesFlagBitsEXT; -typedef VkFlags VkVideoEncodeH264CapabilitiesFlagsEXT; + VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkVideoEncodeH264CapabilityFlagBitsEXT; +typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; typedef enum VkVideoEncodeH264InputModeFlagBitsEXT { VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, @@ -475,19 +475,19 @@ typedef enum VkVideoEncodeH264CreateFlagBitsEXT { } VkVideoEncodeH264CreateFlagBitsEXT; typedef VkFlags VkVideoEncodeH264CreateFlagsEXT; typedef struct VkVideoEncodeH264CapabilitiesEXT { - VkStructureType sType; - const void* pNext; - VkVideoEncodeH264CapabilitiesFlagsEXT flags; - VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; - VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; - VkExtent2D minPictureSizeInMbs; - VkExtent2D maxPictureSizeInMbs; - VkExtent2D inputImageDataAlignment; - uint8_t maxNumL0ReferenceForP; - uint8_t maxNumL0ReferenceForB; - uint8_t maxNumL1Reference; - uint8_t qualityLevelCount; - VkExtensionProperties stdExtensionVersion; + VkStructureType sType; + const void* pNext; + VkVideoEncodeH264CapabilityFlagsEXT flags; + VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; + VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; + VkExtent2D minPictureSizeInMbs; + VkExtent2D maxPictureSizeInMbs; + VkExtent2D inputImageDataAlignment; + uint8_t maxNumL0ReferenceForP; + uint8_t maxNumL0ReferenceForB; + uint8_t maxNumL1Reference; + uint8_t qualityLevelCount; + VkExtensionProperties stdExtensionVersion; } VkVideoEncodeH264CapabilitiesEXT; typedef struct VkVideoEncodeH264SessionCreateInfoEXT { @@ -567,22 +567,22 @@ typedef struct VkVideoEncodeH264ProfileEXT { #define VK_EXT_video_decode_h264 1 #include "vk_video/vulkan_video_codec_h264std_decode.h" -#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 1 +#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 3 #define VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME "VK_EXT_video_decode_h264" -typedef enum VkVideoDecodeH264FieldLayoutFlagBitsEXT { - VK_VIDEO_DECODE_H264_PROGRESSIVE_PICTURES_ONLY_EXT = 0, - VK_VIDEO_DECODE_H264_FIELD_LAYOUT_LINE_INTERLACED_PLANE_BIT_EXT = 0x00000001, - VK_VIDEO_DECODE_H264_FIELD_LAYOUT_SEPARATE_INTERLACED_PLANE_BIT_EXT = 0x00000002, - VK_VIDEO_DECODE_H264_FIELD_LAYOUT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF -} VkVideoDecodeH264FieldLayoutFlagBitsEXT; -typedef VkFlags VkVideoDecodeH264FieldLayoutFlagsEXT; +typedef enum VkVideoDecodeH264PictureLayoutFlagBitsEXT { + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT = 0, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT = 0x00000001, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT = 0x00000002, + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkVideoDecodeH264PictureLayoutFlagBitsEXT; +typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; typedef VkFlags VkVideoDecodeH264CreateFlagsEXT; typedef struct VkVideoDecodeH264ProfileEXT { - VkStructureType sType; - const void* pNext; - StdVideoH264ProfileIdc stdProfileIdc; - VkVideoDecodeH264FieldLayoutFlagsEXT fieldLayout; + VkStructureType sType; + const void* pNext; + StdVideoH264ProfileIdc stdProfileIdc; + VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout; } VkVideoDecodeH264ProfileEXT; typedef struct VkVideoDecodeH264CapabilitiesEXT { diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index a5aafcc95b4..36013cbed75 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -20,7 +20,7 @@ extern "C" { #define VK_VERSION_1_0 1 -#include "vulkan/vk_platform.h" +#include "vk_platform.h" #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -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 185 +#define VK_HEADER_VERSION 190 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -754,6 +754,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV = 1000277007, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV = 1000278000, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = 1000278001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = 1000280000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = 1000280001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = 1000281001, VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, @@ -824,6 +826,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001, VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, @@ -1706,13 +1709,15 @@ typedef enum VkAttachmentLoadOp { VK_ATTACHMENT_LOAD_OP_LOAD = 0, VK_ATTACHMENT_LOAD_OP_CLEAR = 1, VK_ATTACHMENT_LOAD_OP_DONT_CARE = 2, + VK_ATTACHMENT_LOAD_OP_NONE_EXT = 1000400000, VK_ATTACHMENT_LOAD_OP_MAX_ENUM = 0x7FFFFFFF } VkAttachmentLoadOp; typedef enum VkAttachmentStoreOp { VK_ATTACHMENT_STORE_OP_STORE = 0, VK_ATTACHMENT_STORE_OP_DONT_CARE = 1, - VK_ATTACHMENT_STORE_OP_NONE_QCOM = 1000301000, + VK_ATTACHMENT_STORE_OP_NONE_EXT = 1000301000, + VK_ATTACHMENT_STORE_OP_NONE_QCOM = VK_ATTACHMENT_STORE_OP_NONE_EXT, VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF } VkAttachmentStoreOp; @@ -2123,10 +2128,6 @@ typedef enum VkImageViewCreateFlagBits { VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkImageViewCreateFlagBits; typedef VkFlags VkImageViewCreateFlags; - -typedef enum VkShaderModuleCreateFlagBits { - VK_SHADER_MODULE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF -} VkShaderModuleCreateFlagBits; typedef VkFlags VkShaderModuleCreateFlags; typedef enum VkPipelineCacheCreateFlagBits { @@ -5282,6 +5283,7 @@ typedef enum VkDriverId { VK_DRIVER_ID_MOLTENVK = 14, VK_DRIVER_ID_COREAVI_PROPRIETARY = 15, VK_DRIVER_ID_JUICE_PROPRIETARY = 16, + VK_DRIVER_ID_VERISILICON_PROPRIETARY = 17, 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, @@ -7864,6 +7866,52 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR #endif +#define VK_KHR_shader_integer_dot_product 1 +#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 +#define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" +typedef struct VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR { + VkStructureType sType; + void* pNext; + VkBool32 shaderIntegerDotProduct; +} VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR; + +typedef struct VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR { + VkStructureType sType; + void* pNext; + VkBool32 integerDotProduct8BitUnsignedAccelerated; + VkBool32 integerDotProduct8BitSignedAccelerated; + VkBool32 integerDotProduct8BitMixedSignednessAccelerated; + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProduct16BitUnsignedAccelerated; + VkBool32 integerDotProduct16BitSignedAccelerated; + VkBool32 integerDotProduct16BitMixedSignednessAccelerated; + VkBool32 integerDotProduct32BitUnsignedAccelerated; + VkBool32 integerDotProduct32BitSignedAccelerated; + VkBool32 integerDotProduct32BitMixedSignednessAccelerated; + VkBool32 integerDotProduct64BitUnsignedAccelerated; + VkBool32 integerDotProduct64BitSignedAccelerated; + VkBool32 integerDotProduct64BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; +} VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR; + + + #define VK_KHR_pipeline_library 1 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" @@ -10133,9 +10181,10 @@ typedef VkGeometryFlagBitsKHR VkGeometryFlagBitsNV; typedef enum VkGeometryInstanceFlagBitsKHR { VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = 0x00000001, - VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = 0x00000002, + VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, + VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_NV = VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR, @@ -12450,6 +12499,18 @@ typedef struct VkPhysicalDeviceDrmPropertiesEXT { +#define VK_EXT_primitive_topology_list_restart 1 +#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 +#define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" +typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 primitiveTopologyListRestart; + VkBool32 primitiveTopologyPatchListRestart; +} VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; + + + #define VK_HUAWEI_subpass_shading 1 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" @@ -12666,9 +12727,14 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( #endif +#define VK_EXT_load_store_op_none 1 +#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 +#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" + + #define VK_KHR_acceleration_structure 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) -#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 11 +#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 12 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" typedef enum VkBuildAccelerationStructureModeKHR { diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index eaad2c300da..50d55cda392 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -75,7 +75,7 @@ branch of the member gitlab server. - #include "vulkan/vk_platform.h" + #include "vk_platform.h" WSI extensions @@ -155,7 +155,7 @@ branch of the member gitlab server. // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 185 +#define VK_HEADER_VERSION 190 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -261,12 +261,11 @@ typedef void CAMetalLayer; typedef VkFlags VkPipelineCreateFlags; typedef VkFlags VkColorComponentFlags; typedef VkFlags VkFenceCreateFlags; - When VkSemaphoreCreateFlagBits is first extended, need to add a requires= attribute for it to VkSemaphoreCreateFlags typedef VkFlags VkSemaphoreCreateFlags; typedef VkFlags VkFormatFeatureFlags; typedef VkFlags VkQueryControlFlags; typedef VkFlags VkQueryResultFlags; - typedef VkFlags VkShaderModuleCreateFlags; + typedef VkFlags VkShaderModuleCreateFlags; typedef VkFlags VkEventCreateFlags; typedef VkFlags VkCommandPoolCreateFlags; typedef VkFlags VkCommandPoolResetFlags; @@ -386,7 +385,7 @@ typedef void CAMetalLayer; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; - typedef VkFlags VkVideoCapabilitiesFlagsKHR; + typedef VkFlags VkVideoCapabilityFlagsKHR; typedef VkFlags VkVideoSessionCreateFlagsKHR; typedef VkFlags VkVideoBeginCodingFlagsKHR; typedef VkFlags VkVideoEndCodingFlagsKHR; @@ -397,7 +396,7 @@ typedef void CAMetalLayer; typedef VkFlags VkVideoDecodeFlagsKHR; Video Decode H.264 extension - typedef VkFlags VkVideoDecodeH264FieldLayoutFlagsEXT; + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; typedef VkFlags VkVideoDecodeH264CreateFlagsEXT; Video Decode H.265 extension @@ -411,7 +410,7 @@ typedef void CAMetalLayer; typedef VkFlags VkVideoComponentBitDepthFlagsKHR; Video Encode H.264 extension - typedef VkFlags VkVideoEncodeH264CapabilitiesFlagsEXT; + typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT; typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT; typedef VkFlags VkVideoEncodeH264CreateFlagsEXT; @@ -548,7 +547,7 @@ typedef void CAMetalLayer; - When VkSemaphoreCreateFlagBits is first extended, need to add a type enum tag for it here + Extensions @@ -698,7 +697,7 @@ typedef void CAMetalLayer; - + @@ -708,7 +707,7 @@ typedef void CAMetalLayer; Video H.264 Decode extensions - + Video H.265 Decode extensions @@ -718,7 +717,7 @@ typedef void CAMetalLayer; Video H.264 Encode extensions - + @@ -2087,7 +2086,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - uint32_t maxMultiDrawCount + uint32_t maxMultiDrawCount VkStructureType sType @@ -2360,18 +2359,18 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkExternalMemoryHandleTypeFlagBits handleType zx_handle_t handle VkStructureType sType - void* pNext + void* pNext uint32_t memoryTypeBits VkStructureType sType - const void* pNext + const void* pNext VkDeviceMemory memory VkExternalMemoryHandleTypeFlagBits handleType @@ -2766,7 +2765,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t swapchainCountCopy of VkPresentInfoKHR::swapchainCount const uint64_t* pPresentIdsPresent ID values for each swapchain @@ -3176,7 +3175,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 multiDraw @@ -3351,7 +3350,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 globalPriorityQuery @@ -3799,7 +3798,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 shaderBufferFloat16Atomics VkBool32 shaderBufferFloat16AtomicAdd VkBool32 shaderBufferFloat16AtomicMinMax @@ -4641,6 +4640,12 @@ typedef void CAMetalLayer; void* pNext VkImageLayout stencilLayout + + VkStructureType sType + void* pNext + VkBool32 primitiveTopologyListRestart + VkBool32 primitiveTopologyPatchListRestart + VkStructureTypesType @@ -4735,7 +4740,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkRenderPass renderPass uint32_t subpass @@ -5065,7 +5070,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - const uint8_t* pVersionData + const uint8_t* pVersionData VkStructureType sType @@ -5140,12 +5145,12 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 shaderZeroInitializeWorkgroupMemory VkStructureType sType - void* pNext + void* pNext VkBool32 shaderSubgroupUniformControlFlow @@ -5168,7 +5173,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 workgroupMemoryExplicitLayout VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout VkBool32 workgroupMemoryExplicitLayout8BitAccess @@ -5394,7 +5399,7 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 mutableDescriptorType @@ -5403,23 +5408,23 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext uint32_t mutableDescriptorTypeListCount const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists VkStructureType sType - void* pNext + void* pNext VkBool32 vertexInputDynamicState VkStructureType sType - void* pNext + void* pNext VkBool32 externalMemoryRDMA VkStructureTypesType - void* pNext + void* pNext uint32_t binding uint32_t stride VkVertexInputRate inputRate @@ -5427,7 +5432,7 @@ typedef void CAMetalLayer; VkStructureTypesType - void* pNext + void* pNext uint32_t locationlocation of the shader vertex attrib uint32_t bindingVertex buffer binding id VkFormat formatformat of source data @@ -5446,7 +5451,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineStageFlags2KHR srcStageMask VkAccessFlags2KHR srcAccessMask VkPipelineStageFlags2KHR dstStageMask @@ -5454,7 +5459,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineStageFlags2KHR srcStageMask VkAccessFlags2KHR srcAccessMask VkPipelineStageFlags2KHR dstStageMask @@ -5468,7 +5473,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkPipelineStageFlags2KHR srcStageMask VkAccessFlags2KHR srcAccessMask VkPipelineStageFlags2KHR dstStageMask @@ -5481,7 +5486,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkDependencyFlags dependencyFlags uint32_t memoryBarrierCount const VkMemoryBarrier2KHR* pMemoryBarriers @@ -5492,7 +5497,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkSemaphore semaphore uint64_t value VkPipelineStageFlags2KHR stageMask @@ -5500,13 +5505,13 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + const void* pNext VkCommandBuffer commandBuffer uint32_t deviceMask VkStructureType sType - const void* pNext + const void* pNext VkSubmitFlagsKHR flags uint32_t waitSemaphoreInfoCount const VkSemaphoreSubmitInfoKHR* pWaitSemaphoreInfos @@ -5517,45 +5522,45 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkPipelineStageFlags2KHR checkpointExecutionStageMask VkStructureType sType - void* pNext + void* pNext VkPipelineStageFlags2KHR stage void* pCheckpointMarker VkStructureType sType - void* pNext + void* pNext VkBool32 synchronization2 VkStructureTypesType - void* pNext + void* pNext VkVideoCodecOperationFlagsKHR videoCodecOperations VkStructureTypesType - void* pNext + void* pNext uint32_t profileCount const VkVideoProfileKHR* pProfiles VkStructureTypesType - void* pNext + void* pNext VkImageUsageFlags imageUsage const VkVideoProfilesKHR* pVideoProfiles VkStructureTypesType - void* pNext + void* pNext VkFormat format VkStructureTypesType - void* pNext + void* pNext VkVideoCodecOperationFlagBitsKHR videoCodecOperation VkVideoChromaSubsamplingFlagsKHR chromaSubsampling VkVideoComponentBitDepthFlagsKHR lumaBitDepth @@ -5563,8 +5568,8 @@ typedef void CAMetalLayer; VkStructureTypesType - void* pNext - VkVideoCapabilitiesFlagsKHR capabilityFlags + void* pNext + VkVideoCapabilityFlagsKHR capabilityFlags VkDeviceSize minBitstreamBufferOffsetAlignment VkDeviceSize minBitstreamBufferSizeAlignment VkExtent2D videoPictureExtentGranularity @@ -5575,13 +5580,13 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t memoryBindIndex VkMemoryRequirements2* pMemoryRequirements VkStructureTypesType - const void* pNext + const void* pNext uint32_t memoryBindIndex VkDeviceMemory memory VkDeviceSize memoryOffset @@ -5589,7 +5594,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext VkOffset2D codedOffsetThe offset to be used for the picture resource, currently only used in field mode VkExtent2D codedExtentThe extent to be used for the picture resource uint32_t baseArrayLayerTThe first array layer to be accessed for the Decode or Encode Operations @@ -5597,13 +5602,13 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext int8_t slotIndexThe reference slot index const VkVideoPictureResourceKHR* pPictureResourceThe reference picture resource VkStructureTypesType - const void* pNext + const void* pNext VkVideoDecodeFlagsKHR flags VkOffset2D codedOffset VkExtent2D codedExtent @@ -5645,20 +5650,20 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext - StdVideoH264ProfileIdc stdProfileIdc - VkVideoDecodeH264FieldLayoutFlagsEXT fieldLayout + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout VkStructureTypesType - void* pNext + void* pNext uint32_t maxLevel VkOffset2D fieldOffsetGranularity VkExtensionProperties stdExtensionVersion VkStructureTypesType - const void* pNext + const void* pNext VkVideoDecodeH264CreateFlagsEXT flags const VkExtensionProperties* pStdExtensionVersion @@ -5666,7 +5671,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t spsStdCount const StdVideoH264SequenceParameterSet* pSpsStd uint32_t ppsStdCount @@ -5674,26 +5679,26 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t maxSpsStdCount uint32_t maxPpsStdCount const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo VkStructureTypesType - const void* pNext + const void* pNext const StdVideoDecodeH264PictureInfo* pStdPictureInfo uint32_t slicesCount const uint32_t* pSlicesDataOffsets VkStructureTypesType - const void* pNext + const void* pNext const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo VkStructureTypesType - const void*pNext + const void*pNext const StdVideoDecodeH264Mvc* pStdMvc #include "vk_video/vulkan_video_codec_h265std.h" @@ -5720,24 +5725,24 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext StdVideoH265ProfileIdc stdProfileIdc VkStructureTypesType - void* pNext + void* pNext uint32_t maxLevel VkExtensionProperties stdExtensionVersion VkStructureTypesType - const void* pNext + const void* pNext VkVideoDecodeH265CreateFlagsEXT flags const VkExtensionProperties* pStdExtensionVersion VkStructureTypesType - const void* pNext + const void* pNext uint32_t spsStdCount const StdVideoH265SequenceParameterSet* pSpsStd uint32_t ppsStdCount @@ -5745,26 +5750,26 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t maxSpsStdCount uint32_t maxPpsStdCount const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo VkStructureTypesType - const void* pNext + const void* pNext StdVideoDecodeH265PictureInfo* pStdPictureInfo uint32_t slicesCount const uint32_t* pSlicesDataOffsets VkStructureTypesType - const void* pNext + const void* pNext const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo VkStructureTypesType - const void* pNext + const void* pNext uint32_t queueFamilyIndex VkVideoSessionCreateFlagsKHR flags const VkVideoProfileKHR* pVideoProfile @@ -5776,18 +5781,18 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext VkVideoSessionParametersKHR videoSessionParametersTemplate VkVideoSessionKHR videoSession VkStructureTypesType - const void* pNext + const void* pNext uint32_t updateSequenceCount VkStructureTypesType - const void* pNext + const void* pNext VkVideoBeginCodingFlagsKHR flags VkVideoCodingQualityPresetFlagsKHR codecQualityPreset VkVideoSessionKHR videoSession @@ -5797,12 +5802,12 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext VkVideoEndCodingFlagsKHR flags VkStructureTypesType - const void* pNext + const void* pNext VkVideoCodingControlFlagsKHR flags @@ -5821,7 +5826,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext VkVideoEncodeRateControlFlagsKHR flags VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode uint32_t averageBitrate @@ -5832,8 +5837,8 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext - VkVideoEncodeH264CapabilitiesFlagsEXT flags + const void* pNext + VkVideoEncodeH264CapabilityFlagsEXT flags VkVideoEncodeH264InputModeFlagsEXT inputModeFlags VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags VkExtent2D minPictureSizeInMbs @@ -5847,7 +5852,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext VkVideoEncodeH264CreateFlagsEXT flags VkExtent2D maxPictureSizeInMbs const VkExtensionProperties* pStdExtensionVersion @@ -5863,7 +5868,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t spsStdCount const StdVideoH264SequenceParameterSet* pSpsStd uint32_t ppsStdCount @@ -5871,20 +5876,20 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint32_t maxSpsStdCount uint32_t maxPpsStdCount const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo VkStructureTypesType - const void* pNext + const void* pNext int8_t slotIndex const StdVideoEncodeH264PictureInfo* pStdPictureInfo VkStructureTypesType - const void* pNext + const void* pNext uint8_t refDefaultFinalList0EntryCount const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries uint8_t refDefaultFinalList1EntryCount @@ -5895,7 +5900,7 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext uint8_t spsId VkBool32 emitSpsEnable uint32_t ppsIdEntryCount @@ -5903,12 +5908,12 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext + const void* pNext StdVideoH264ProfileIdc stdProfileIdc VkStructureTypesType - const void* pNext + const void* pNext const StdVideoEncodeH264SliceHeader* pSliceHeaderStd uint32_t mbCount uint8_t refFinalList0EntryCount @@ -5921,12 +5926,12 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 inheritedViewportScissor2D VkStructureType sType - const void* pNext + const void* pNext VkBool32 viewportScissor2D uint32_t viewportDepthCount const VkViewport* pViewportDepths @@ -5938,36 +5943,36 @@ typedef void CAMetalLayer; VkStructureType sType - void* pNext + void* pNext VkBool32 provokingVertexLast VkBool32 transformFeedbackPreservesProvokingVertex VkStructureType sType - void* pNext - VkBool32 provokingVertexModePerPipeline - VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex + void* pNext + VkBool32 provokingVertexModePerPipeline + VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex VkStructureType sType - const void* pNext + const void* pNext VkProvokingVertexModeEXT provokingVertexMode VkStructureType sType - const void* pNext + const void* pNext size_t dataSize const void* pData VkStructureType sType - const void* pNext + const void* pNext VkCuModuleNVX module const char* pName VkStructureType sType - const void* pNext + const void* pNext VkCuFunctionNVX function uint32_t gridDimX uint32_t gridDimY @@ -5981,19 +5986,58 @@ typedef void CAMetalLayer; size_t extraCount const void* const * pExtras + + VkStructureType sType + void* pNext + VkBool32 shaderIntegerDotProduct + + + VkStructureType sType + void* pNext + VkBool32 integerDotProduct8BitUnsignedAccelerated + VkBool32 integerDotProduct8BitSignedAccelerated + VkBool32 integerDotProduct8BitMixedSignednessAccelerated + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProduct16BitUnsignedAccelerated + VkBool32 integerDotProduct16BitSignedAccelerated + VkBool32 integerDotProduct16BitMixedSignednessAccelerated + VkBool32 integerDotProduct32BitUnsignedAccelerated + VkBool32 integerDotProduct32BitSignedAccelerated + VkBool32 integerDotProduct32BitMixedSignednessAccelerated + VkBool32 integerDotProduct64BitUnsignedAccelerated + VkBool32 integerDotProduct64BitSignedAccelerated + VkBool32 integerDotProduct64BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated + VkStructureType sType - void* pNext - VkBool32 hasPrimary - VkBool32 hasRender - int64_t primaryMajor - int64_t primaryMinor - int64_t renderMajor - int64_t renderMinor + void* pNext + VkBool32 hasPrimary + VkBool32 hasRender + int64_t primaryMajor + int64_t primaryMinor + int64_t renderMajor + int64_t renderMinor VkStructureType sType - void* pNext + void* pNext VkBool32 rayTracingMotionBlur VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect @@ -6192,7 +6236,8 @@ typedef void CAMetalLayer; - + + @@ -6651,8 +6696,10 @@ typedef void CAMetalLayer; - - + + + + @@ -6745,7 +6792,8 @@ typedef void CAMetalLayer; - When VkSemaphoreCreateFlagBits is first extended, need to add a bitmask enums tag for it here + + @@ -7227,6 +7275,7 @@ typedef void CAMetalLayer; + @@ -7260,9 +7309,10 @@ typedef void CAMetalLayer; - + + @@ -7564,9 +7614,9 @@ typedef void CAMetalLayer; - - - + + + @@ -7578,10 +7628,10 @@ typedef void CAMetalLayer; - - - - + + + + @@ -7609,7 +7659,7 @@ typedef void CAMetalLayer; - + @@ -10683,13 +10733,13 @@ typedef void CAMetalLayer; uint32_t connectorId VkDisplayKHR* display - - VkResult vkWaitForPresentKHR - VkDevice device - VkSwapchainKHR swapchain - uint64_t presentId - uint64_t timeout - + + VkResult vkWaitForPresentKHR + VkDevice device + VkSwapchainKHR swapchain + uint64_t presentId + uint64_t timeout + @@ -10774,7 +10824,7 @@ typedef void CAMetalLayer; - + @@ -10810,10 +10860,9 @@ typedef void CAMetalLayer; - + - - + @@ -10891,7 +10940,7 @@ typedef void CAMetalLayer; - + @@ -10911,7 +10960,7 @@ typedef void CAMetalLayer; - + @@ -10933,7 +10982,7 @@ typedef void CAMetalLayer; - + @@ -10961,7 +11010,6 @@ typedef void CAMetalLayer; - @@ -10969,8 +11017,7 @@ typedef void CAMetalLayer; - - + @@ -10992,29 +11039,29 @@ typedef void CAMetalLayer; - + - + - + - + - - + + - + - + - + - + @@ -11367,6 +11414,7 @@ typedef void CAMetalLayer; + @@ -12033,7 +12081,7 @@ typedef void CAMetalLayer; - + @@ -12067,8 +12115,8 @@ typedef void CAMetalLayer; - - + + @@ -12277,7 +12325,7 @@ typedef void CAMetalLayer; - + @@ -12290,8 +12338,8 @@ typedef void CAMetalLayer; - - + + @@ -12317,7 +12365,7 @@ typedef void CAMetalLayer; - + @@ -12328,8 +12376,8 @@ typedef void CAMetalLayer; - - + + @@ -13704,7 +13752,7 @@ typedef void CAMetalLayer; - + @@ -15035,9 +15083,9 @@ typedef void CAMetalLayer; - - - + + + @@ -15417,10 +15465,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -15577,8 +15629,8 @@ typedef void CAMetalLayer; - - + + @@ -15624,6 +15676,7 @@ typedef void CAMetalLayer; + @@ -15686,7 +15739,7 @@ typedef void CAMetalLayer; - + @@ -16205,10 +16258,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -16552,10 +16607,12 @@ typedef void CAMetalLayer; - + - - + + + + @@ -16678,6 +16735,19 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + @@ -16860,6 +16930,9 @@ typedef void CAMetalLayer; + + + @@ -16907,8 +16980,8 @@ typedef void CAMetalLayer; - - + + @@ -16920,17 +16993,17 @@ typedef void CAMetalLayer; - - + + - - - + + + - - + + @@ -17279,5 +17352,17 @@ typedef void CAMetalLayer; + + + + + + + + + + + +