diff --git a/bin/khronos-update.py b/bin/khronos-update.py index 31a61a89cfb..fe29921ad4a 100755 --- a/bin/khronos-update.py +++ b/bin/khronos-update.py @@ -212,6 +212,7 @@ SOURCES = [ Source('include/vulkan/vulkan_ios.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_ios.h'), Source('include/vulkan/vulkan_macos.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_macos.h'), Source('include/vulkan/vulkan_metal.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_metal.h'), + Source('include/vulkan/vulkan_ohos.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_ohos.h'), Source('include/vulkan/vulkan_screen.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_screen.h'), Source('include/vulkan/vulkan_vi.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_vi.h'), Source('include/vulkan/vulkan_wayland.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/main/include/vulkan/vulkan_wayland.h'), diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index 90605819242..9457a520d8c 100644 --- a/include/vulkan/vulkan.h +++ b/include/vulkan/vulkan.h @@ -96,4 +96,8 @@ #include "vulkan_beta.h" #endif +#ifdef VK_USE_PLATFORM_OHOS +#include "vulkan_ohos.h" +#endif + #endif // VULKAN_H_ diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index fa027c82291..4005c88776e 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -69,7 +69,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 317 +#define VK_HEADER_VERSION 318 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) @@ -1277,6 +1277,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002, VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003, + VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS = 1000587000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, @@ -1289,6 +1290,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR = 1000421000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM = 1000609000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE = 1000611000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE = 1000611001, + VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE = 1000611002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR = 1000286000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR = 1000286001, #ifdef VK_ENABLE_BETA_EXTENSIONS @@ -3075,6 +3079,7 @@ typedef VkFlags VkFramebufferCreateFlags; typedef enum VkRenderPassCreateFlagBits { VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM = 0x00000002, + VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x00000004, VK_RENDER_PASS_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkRenderPassCreateFlagBits; typedef VkFlags VkRenderPassCreateFlags; @@ -7048,6 +7053,7 @@ typedef enum VkRenderingFlagBits { VK_RENDERING_RESUMING_BIT = 0x00000004, VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, VK_RENDERING_CONTENTS_INLINE_BIT_KHR = 0x00000010, + VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x00000020, VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, VK_RENDERING_RESUMING_BIT_KHR = VK_RENDERING_RESUMING_BIT, @@ -8009,6 +8015,7 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BI static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM = 0x2000000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ULL; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ULL; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE = 0x10000000000ULL; typedef VkFlags64 VkBufferUsageFlags2; @@ -12381,10 +12388,8 @@ typedef enum VkComponentTypeKHR { VK_COMPONENT_TYPE_BFLOAT16_KHR = 1000141000, VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000, VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001, - VK_COMPONENT_TYPE_FLOAT_E4M3_NV = 1000491002, - VK_COMPONENT_TYPE_FLOAT_E5M2_NV = 1000491003, - VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000567000, - VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000567001, + VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT = 1000491002, + VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT = 1000491003, VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, @@ -12396,6 +12401,8 @@ typedef enum VkComponentTypeKHR { VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, + VK_COMPONENT_TYPE_FLOAT_E4M3_NV = VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT, + VK_COMPONENT_TYPE_FLOAT_E5M2_NV = VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT, VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF } VkComponentTypeKHR; @@ -20023,7 +20030,7 @@ typedef struct VkPhysicalDeviceDescriptorBufferTensorFeaturesARM { typedef struct VkPhysicalDeviceDescriptorBufferTensorPropertiesARM { VkStructureType sType; - const void* pNext; + void* pNext; size_t tensorCaptureReplayDescriptorDataSize; size_t tensorViewCaptureReplayDescriptorDataSize; size_t tensorDescriptorSize; @@ -22087,6 +22094,30 @@ typedef struct VkPhysicalDeviceFormatPackFeaturesARM { +// VK_VALVE_fragment_density_map_layered is a preprocessor guard. Do not pass it to API calls. +#define VK_VALVE_fragment_density_map_layered 1 +#define VK_VALVE_FRAGMENT_DENSITY_MAP_LAYERED_SPEC_VERSION 1 +#define VK_VALVE_FRAGMENT_DENSITY_MAP_LAYERED_EXTENSION_NAME "VK_VALVE_fragment_density_map_layered" +typedef struct VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE { + VkStructureType sType; + void* pNext; + VkBool32 fragmentDensityMapLayered; +} VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE; + +typedef struct VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE { + VkStructureType sType; + void* pNext; + uint32_t maxFragmentDensityMapLayers; +} VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE; + +typedef struct VkPipelineFragmentDensityMapLayeredCreateInfoVALVE { + VkStructureType sType; + const void* pNext; + uint32_t maxFragmentDensityMapLayers; +} VkPipelineFragmentDensityMapLayeredCreateInfoVALVE; + + + // VK_NV_present_metering is a preprocessor guard. Do not pass it to API calls. #define VK_NV_present_metering 1 #define VK_NV_PRESENT_METERING_SPEC_VERSION 1 diff --git a/include/vulkan/vulkan_ohos.h b/include/vulkan/vulkan_ohos.h new file mode 100644 index 00000000000..b2e1b0fbf03 --- /dev/null +++ b/include/vulkan/vulkan_ohos.h @@ -0,0 +1,51 @@ +#ifndef VULKAN_OHOS_H_ +#define VULKAN_OHOS_H_ 1 + +/* +** Copyright 2015-2025 The Khronos Group Inc. +** +** SPDX-License-Identifier: Apache-2.0 +*/ + +/* +** This header is generated from the Khronos Vulkan XML API Registry. +** +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + + + +// VK_OHOS_surface is a preprocessor guard. Do not pass it to API calls. +#define VK_OHOS_surface 1 +typedef struct NativeWindow OHNativeWindow; +#define VK_OHOS_SURFACE_SPEC_VERSION 1 +#define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface" +typedef VkFlags VkSurfaceCreateFlagsOHOS; +typedef struct VkOHSurfaceCreateInfoOHOS { + VkStructureType sType; + const void* pNext; + VkSurfaceCreateFlagsOHOS flags; + OHNativeWindow* window; +} VkOHSurfaceCreateInfoOHOS; + +typedef VkOHSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS; + +typedef VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS)(VkInstance instance, const VkSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS( + VkInstance instance, + const VkSurfaceCreateInfoOHOS* pCreateInfo, + const VkAllocationCallbacks* pAllocator, + VkSurfaceKHR* pSurface); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index 0351aef9341..5fbf706bcc0 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -35,6 +35,7 @@ branch of the member gitlab server. + @@ -70,6 +71,7 @@ branch of the member gitlab server. + @@ -179,7 +181,7 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 317 +#define VK_HEADER_VERSION 318 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) // Version of this file @@ -278,6 +280,8 @@ typedef void* MTLSharedEvent_id; typedef uint64_t VkDeviceSize; typedef uint64_t VkDeviceAddress; + typedef struct NativeWindow OHNativeWindow; + Basic C types, pulled in via vk_platform.h @@ -502,6 +506,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkShaderCreateFlagsEXT; typedef VkFlags VkTileShadingRenderPassFlagsQCOM; typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; + typedef VkFlags VkSurfaceCreateFlagsOHOS; Video Core extension typedef VkFlags VkVideoCodecOperationFlagsKHR; @@ -4047,7 +4052,7 @@ typedef void* MTLSharedEvent_id; VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting VkBool32 depthStencilSwizzleOneSupport - VkBool32 polygonModePointSize + VkBool32 polygonModePointSize VkBool32 nonStrictSinglePixelWideLinesUseParallelogram VkBool32 nonStrictWideLinesUseParallelogram @@ -6095,7 +6100,7 @@ typedef void* MTLSharedEvent_id; VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting VkBool32 depthStencilSwizzleOneSupport - VkBool32 polygonModePointSize + VkBool32 polygonModePointSize VkBool32 nonStrictSinglePixelWideLinesUseParallelogram VkBool32 nonStrictWideLinesUseParallelogram VkBool32 blockTexelViewCompatibleMultipleLayers @@ -6132,7 +6137,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext uint32_t faultCount - VkFaultData*pFaults + VkFaultData* pFaults PFN_vkFaultCallbackFunction pfnFaultCallback @@ -6597,13 +6602,13 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - void*pNext + void* pNext VkBool32 clustercullingShader VkBool32 multiviewClusterCullingShader VkStructureType sType - void*pNext + void* pNext VkBool32 clusterShadingRate @@ -10358,6 +10363,21 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext + + VkStructureType sType + void* pNext + uint32_t maxFragmentDensityMapLayers + + + VkStructureType sType + void* pNext + VkBool32 fragmentDensityMapLayered + + + VkStructureType sType + const void* pNext + uint32_t maxFragmentDensityMapLayers + VkStructureType sType const void* pNext @@ -10507,9 +10527,9 @@ typedef void* MTLSharedEvent_id; VkStructureType sType const void* pNext uint32_t dimensionCount - const uint64_t*pSrcOffset - const uint64_t*pDstOffset - const uint64_t*pExtent + const uint64_t* pSrcOffset + const uint64_t* pDstOffset + const uint64_t* pExtent VkStructureType sType @@ -10518,10 +10538,10 @@ typedef void* MTLSharedEvent_id; VkStructureType sType - const void* pNext - size_t tensorCaptureReplayDescriptorDataSize - size_t tensorViewCaptureReplayDescriptorDataSize - size_t tensorDescriptorSize + void* pNext + size_t tensorCaptureReplayDescriptorDataSize + size_t tensorViewCaptureReplayDescriptorDataSize + size_t tensorDescriptorSize VkStructureType sType @@ -10572,6 +10592,13 @@ typedef void* MTLSharedEvent_id; VkBool32 shaderFloat8 VkBool32 shaderFloat8CooperativeMatrix + + VkStructureType sType + const void* pNext + VkSurfaceCreateFlagsOHOS flags + OHNativeWindow* window + + @@ -13935,6 +13962,13 @@ typedef void* MTLSharedEvent_id; const VkAllocationCallbacks* pAllocator VkSurfaceKHR* pSurface + + VkResult vkCreateSurfaceOHOS + VkInstance instance + const VkSurfaceCreateInfoOHOS* pCreateInfo + const VkAllocationCallbacks* pAllocator + VkSurfaceKHR* pSurface + VkResult vkGetPhysicalDeviceDisplayPropertiesKHR VkPhysicalDevice physicalDevice @@ -15722,7 +15756,7 @@ typedef void* MTLSharedEvent_id; VkResult vkQueueSetPerformanceConfigurationINTEL - VkQueue queue + VkQueue queue VkPerformanceConfigurationINTEL configuration @@ -20338,7 +20372,7 @@ typedef void* MTLSharedEvent_id; - + @@ -26246,6 +26280,7 @@ typedef void* MTLSharedEvent_id; + @@ -26569,8 +26604,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -26755,6 +26790,7 @@ typedef void* MTLSharedEvent_id; + @@ -27449,8 +27485,8 @@ typedef void* MTLSharedEvent_id; - - + + @@ -27767,10 +27803,16 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + @@ -27965,13 +28007,20 @@ typedef void* MTLSharedEvent_id; - + - - - - - + + + + + + + + + + + + @@ -28125,6 +28174,9 @@ typedef void* MTLSharedEvent_id; + + +