mirror of
https://gitee.com/openharmony/third_party_vulkan-headers
synced 2024-11-23 07:49:47 +00:00
add ohos surface extension
Signed-off-by: andrewhw <zhangzhao62@huawei.com>
This commit is contained in:
parent
841a390010
commit
9907f82fce
8
BUILD.gn
8
BUILD.gn
@ -27,13 +27,15 @@ config("vulkan_headers_config") {
|
||||
include_dirs = [ "include" ]
|
||||
|
||||
if (is_ohos) {
|
||||
defines = [ "VK_USE_PLATFORM_OHOS" ]
|
||||
defines = [ "VK_USE_PLATFORM_OHOS_OPENHARMONY" ]
|
||||
}
|
||||
if (is_win) {
|
||||
defines = [ "VK_USE_PLATFORM_WIN32_KHR" ]
|
||||
}
|
||||
if (defined(vulkan_use_x11) && vulkan_use_x11) {
|
||||
defines = [ "VK_USE_PLATFORM_XCB_KHR" ]
|
||||
if (is_linux) {
|
||||
if (defined(vulkan_use_x11) && vulkan_use_x11) {
|
||||
defines = [ "VK_USE_PLATFORM_XCB_KHR" ]
|
||||
}
|
||||
}
|
||||
if (is_android) {
|
||||
defines = [ "VK_USE_PLATFORM_ANDROID_KHR" ]
|
||||
|
@ -85,8 +85,7 @@
|
||||
#include "vulkan_screen.h"
|
||||
#endif
|
||||
|
||||
#ifdef VK_USE_PLATFORM_OHOS
|
||||
#include <native_window/window.h>
|
||||
#ifdef VK_USE_PLATFORM_OHOS_OPENHARMONY
|
||||
#include "vulkan_ohos.h"
|
||||
#endif
|
||||
|
||||
|
@ -2952,6 +2952,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
VkResult vkCreateOHOSSurfaceOpenHarmony(VkInstance instance,
|
||||
const VkOHOSSurfaceCreateInfoOpenHarmony * pCreateInfo,
|
||||
const VkAllocationCallbacks * pAllocator,
|
||||
VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCreateOHOSSurfaceOpenHarmony( instance, pCreateInfo, pAllocator, pSurface );
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
VkResult vkCreateDebugReportCallbackEXT( VkInstance instance,
|
||||
@ -11378,6 +11390,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder = 0;
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
PFN_vkCreateOHOSSurfaceOpenHarmony vkCreateOHOSSurfaceOpenHarmony = 0;
|
||||
#else
|
||||
PFN_dummy vkCreateOHOSSurfaceOpenHarmony_placeholder = 0;
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT = 0;
|
||||
PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
|
||||
@ -12426,6 +12445,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
vkCreateOHOSSurfaceOpenHarmony =
|
||||
PFN_vkCreateOHOSSurfaceOpenHarmony( vkGetInstanceProcAddr( instance, "vkCreateOHOSSurfaceOpenHarmony" ) );
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
vkCreateDebugReportCallbackEXT =
|
||||
PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
|
||||
|
@ -926,6 +926,16 @@ typedef enum VkStructureType {
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = 1000413001,
|
||||
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002,
|
||||
VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003,
|
||||
VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY = 1000451000,
|
||||
VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_USAGE_OPENHARMONY = 1000452000,
|
||||
VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_PROPERTIES_OPENHARMONY = 1000452001,
|
||||
VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_FORMAT_PROPERTIES_OPENHARMONY = 1000452002,
|
||||
VK_STRUCTURE_TYPE_IMPORT_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY = 1000452003,
|
||||
VK_STRUCTURE_TYPE_MEMORY_GET_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY = 1000452004,
|
||||
VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OPENHARMONY = 1000452005,
|
||||
VK_STRUCTURE_TYPE_NATIVE_BUFFER_OPENHARMONY = 1000453001,
|
||||
VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OPENHARMONY = 1000453002,
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OPENHARMONY = 1000453003,
|
||||
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,
|
||||
@ -4612,6 +4622,7 @@ typedef enum VkExternalMemoryHandleTypeFlagBits {
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OHOS_NATIVE_BUFFER_BIT_OPENHARMONY = 0x00002000,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,
|
||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,
|
||||
|
@ -5644,6 +5644,19 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_ohos_surface ===
|
||||
|
||||
enum class OHOSSurfaceCreateFlagsBitsOpenHarmony : VkOHOSSurfaceCreateFlagsOpenHarmony
|
||||
{
|
||||
};
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( OHOSSurfaceCreateFlagsBitsOpenHarmony )
|
||||
{
|
||||
return "(void)";
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
enum class DebugReportFlagBitsEXT : VkDebugReportFlagsEXT
|
||||
@ -15626,6 +15639,17 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
using OHOSSurfaceCreateFlagsOpenHarmony = Flags<OHOSSurfaceCreateFlagsBitsOpenHarmony>;
|
||||
|
||||
VULKAN_HPP_INLINE std::string to_string( OHOSSurfaceCreateFlagsOpenHarmony )
|
||||
{
|
||||
return "{}";
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
using DebugReportFlagsEXT = Flags<DebugReportFlagBitsEXT>;
|
||||
|
@ -8717,6 +8717,68 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
|
||||
Instance::createOHOSSurfaceOpenHarmony( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony * pCreateInfo,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
return static_cast<Result>(
|
||||
d.vkCreateOHOSSurfaceOpenHarmony( m_instance,
|
||||
reinterpret_cast<const VkOHOSSurfaceCreateInfoOpenHarmony *>( pCreateInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
|
||||
reinterpret_cast<VkSurfaceKHR *>( pSurface ) ) );
|
||||
}
|
||||
|
||||
# ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
|
||||
typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
|
||||
Instance::createOHOSSurfaceOpenHarmony( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
|
||||
Result result = static_cast<Result>(
|
||||
d.vkCreateOHOSSurfaceOpenHarmony( m_instance,
|
||||
reinterpret_cast<const VkOHOSSurfaceCreateInfoOpenHarmony *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>(
|
||||
static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
|
||||
return createResultValue( result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createOHOSSurfaceOpenHarmony" );
|
||||
}
|
||||
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch>
|
||||
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
|
||||
typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
|
||||
Instance::createOHOSSurfaceOpenHarmonyUnique( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
|
||||
Dispatch const & d ) const
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
VULKAN_HPP_NAMESPACE::SurfaceKHR surface;
|
||||
Result result = static_cast<Result>(
|
||||
d.vkCreateOHOSSurfaceOpenHarmony( m_instance,
|
||||
reinterpret_cast<const VkOHOSSurfaceCreateInfoOpenHarmony *>( &createInfo ),
|
||||
reinterpret_cast<const VkAllocationCallbacks *>(
|
||||
static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
|
||||
reinterpret_cast<VkSurfaceKHR *>( &surface ) ) );
|
||||
ObjectDestroy<Instance, Dispatch> deleter( *this, allocator, d );
|
||||
return createResultValue<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>(
|
||||
result, surface, VULKAN_HPP_NAMESPACE_STRING "::Instance::createOHOSSurfaceOpenHarmonyUnique", deleter );
|
||||
}
|
||||
# endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
template <typename Dispatch>
|
||||
|
@ -414,6 +414,11 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
struct Win32SurfaceCreateInfoKHR;
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
struct OHOSSurfaceCreateInfoOpenHarmony;
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
struct DebugReportCallbackCreateInfoEXT;
|
||||
|
||||
@ -13979,6 +13984,34 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
#if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD Result
|
||||
createOHOSSurfaceOpenHarmony( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony * pCreateInfo,
|
||||
const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
|
||||
VULKAN_HPP_NAMESPACE::SurfaceKHR * pSurface,
|
||||
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_WHEN_NO_EXCEPTIONS typename ResultValueType<VULKAN_HPP_NAMESPACE::SurfaceKHR>::type
|
||||
createOHOSSurfaceOpenHarmony( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
|
||||
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# ifndef VULKAN_HPP_NO_SMART_HANDLE
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
|
||||
typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::SurfaceKHR, Dispatch>>::type
|
||||
createOHOSSurfaceOpenHarmonyUnique( const VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony & createInfo,
|
||||
Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
|
||||
VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
|
||||
# endif /*VULKAN_HPP_NO_SMART_HANDLE*/
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
#endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
|
||||
|
@ -17,29 +17,93 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#define VK_OHOS_openhm_surface 1
|
||||
#define VK_OHOS_OPENHM_SURFACE_SPEC_VERSION 1
|
||||
#define VK_OHOS_OPENHM_SURFACE_EXTENSION_NAME "VK_OHOS_openhm_surface"
|
||||
typedef VkFlags VkOpenhmSurfaceCreateFlagsOHOS;
|
||||
typedef struct VkOpenhmSurfaceCreateInfoOHOS {
|
||||
#define VK_OpenHarmony_OHOS_surface 1
|
||||
struct NativeWindow;
|
||||
#define VK_OPENHARMONY_OHOS_SURFACE_SPEC_VERSION 1
|
||||
#define VK_OPENHARMONY_OHOS_SURFACE_EXTENSION_NAME "VK_OpenHarmony_OHOS_surface"
|
||||
// VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY
|
||||
typedef VkFlags VkOHOSSurfaceCreateFlagsOpenHarmony;
|
||||
typedef struct VkOHOSSurfaceCreateInfoOpenHarmony {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkOpenhmSurfaceCreateFlagsOHOS flags;
|
||||
OHNativeWindow* window;
|
||||
} VkOpenhmSurfaceCreateInfoOHOS;
|
||||
VkOHOSSurfaceCreateFlagsOpenHarmony flags;
|
||||
NativeWindow* window;
|
||||
} VkOHOSSurfaceCreateInfoOpenHarmony;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_VkCreateOpenhmSurfaceOHOS)(VkInstance instance, const VkOpenhmSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateOHOSSurfaceOpenHarmony)(VkInstance instance, const VkOHOSSurfaceCreateInfoOpenHarmony* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL VkCreateOpenhmSurfaceOHOS(
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateOHOSSurfaceOpenHarmony(
|
||||
VkInstance instance,
|
||||
const VkOpenhmSurfaceCreateInfoOHOS* pCreateInfo,
|
||||
const VkOHOSSurfaceCreateInfoOpenHarmony* pCreateInfo,
|
||||
const VkAllocationCallbacks* pAllocator,
|
||||
VkSurfaceKHR* pSurface);
|
||||
#endif
|
||||
|
||||
#define VK_OpenHarmony_external_memory_OHOS_native_buffer 1
|
||||
struct OH_NativeBuffer;
|
||||
#define VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_SPEC_VERSION 1
|
||||
#define VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_EXTENSION_NAME "VK_OpenHarmony_external_memory_OHOS_native_buffer"
|
||||
typedef struct VkOHOSNativeBufferUsageOpenHarmony {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint64_t OHOSNativeBufferUsage;
|
||||
} VkOHOSNativeBufferUsageOpenHarmony;
|
||||
|
||||
typedef struct VkOHOSNativeBufferPropertiesOpenHarmony {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkDeviceSize allocationSize;
|
||||
uint32_t memoryTypeBits;
|
||||
} VkOHOSNativeBufferPropertiesOpenHarmony;
|
||||
|
||||
typedef struct VkOHOSNativeBufferFormatPropertiesOpenHarmony {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
VkFormat format;
|
||||
uint64_t externalFormat;
|
||||
VkFormatFeatureFlags formatFeatures;
|
||||
VkComponentMapping samplerYcbcrConversionComponents;
|
||||
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
||||
VkSamplerYcbcrRange suggestedYcbcrRange;
|
||||
VkChromaLocation suggestedXChromaOffset;
|
||||
VkChromaLocation suggestedYChromaOffset;
|
||||
} VkOHOSNativeBufferFormatPropertiesOpenHarmony;
|
||||
|
||||
typedef struct VkImportOHOSNativeBufferInfoOpenHarmony {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
struct OH_NativeBuffer* buffer;
|
||||
} VkImportOHOSNativeBufferInfoOpenHarmony;
|
||||
|
||||
typedef struct VkMemoryGetOHOSNativeBufferInfoOpenHarmony {
|
||||
VkStructureType sType;
|
||||
const void* pNext;
|
||||
VkDeviceMemory memory;
|
||||
} VkMemoryGetOHOSNativeBufferInfoOpenHarmony;
|
||||
|
||||
typedef struct VkExternalFormatOpenHarmony {
|
||||
VkStructureType sType;
|
||||
void* pNext;
|
||||
uint64_t externalFormat;
|
||||
} VkExternalFormatOpenHarmony;
|
||||
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetOHOSNativeBufferPropertiesOpenHarmony)(VkDevice device, const struct OH_NativeBuffer* buffer, VkOHOSNativeBufferPropertiesOpenHarmony* pProperties);
|
||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryOHOSNativeBufferOpenHarmony)(VkDevice device, const VkMemoryGetOHOSNativeBufferInfoOpenHarmony* pInfo, struct OH_NativeBuffer** pBuffer);
|
||||
|
||||
#ifndef VK_NO_PROTOTYPES
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetOHOSNativeBufferPropertiesOpenHarmony(
|
||||
VkDevice device,
|
||||
const struct OH_NativeBuffer* buffer,
|
||||
VkOHOSNativeBufferPropertiesOpenHarmony* pProperties);
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryOHOSNativeBufferOpenHarmony(
|
||||
VkDevice device,
|
||||
const VkMemoryGetOHOSNativeBufferInfoOpenHarmony* pInfo,
|
||||
struct OH_NativeBuffer** pBuffer);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -204,6 +204,12 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
|
||||
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
vkCreateOHOSSurfaceOpenHarmony =
|
||||
PFN_vkCreateOHOSSurfaceOpenHarmony( vkGetInstanceProcAddr( instance, "vkCreateOHOSSurfaceOpenHarmony" ) );
|
||||
# endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_KHR_device_group ===
|
||||
vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR(
|
||||
vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
|
||||
@ -517,6 +523,13 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
PFN_dummy vkCreateAndroidSurfaceKHR_placeholder = 0;
|
||||
# endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
PFN_vkCreateOHOSSurfaceOpenHarmony vkCreateOHOSSurfaceOpenHarmony = 0;
|
||||
# else
|
||||
PFN_dummy vkCreateOHOSSurfaceOpenHarmony_placeholder = 0;
|
||||
# endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_KHR_device_group ===
|
||||
PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
|
||||
|
||||
@ -2511,6 +2524,14 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
|
||||
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR createOHOSSurfaceOpenHarmony(
|
||||
VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
|
||||
# endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT createDebugReportCallbackEXT(
|
||||
@ -12440,6 +12461,18 @@ namespace VULKAN_HPP_NAMESPACE
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_WIN32_KHR*/
|
||||
|
||||
# if defined( VK_USE_PLATFORM_OHOS_OPENHARMONY )
|
||||
//=== VK_OpenHarmony_OHOS_surface ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR Instance::createOHOSSurfaceOpenHarmony(
|
||||
VULKAN_HPP_NAMESPACE::OHOSSurfaceCreateInfoOpenHarmony const & createInfo,
|
||||
VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const
|
||||
{
|
||||
return VULKAN_HPP_RAII_NAMESPACE::SurfaceKHR( *this, createInfo, allocator );
|
||||
}
|
||||
# endif /*VK_USE_PLATFORM_OHOS_OPENHARMONY*/
|
||||
|
||||
|
||||
//=== VK_EXT_debug_report ===
|
||||
|
||||
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DebugReportCallbackEXT
|
||||
|
@ -397,6 +397,11 @@ def makeGenOpts(args):
|
||||
[ 'vulkan_metal.h', [ 'VK_EXT_metal_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_screen.h', [ 'VK_QNX_screen_surface' ], commonSuppressExtensions ],
|
||||
[ 'vulkan_beta.h', betaRequireExtensions, betaSuppressExtensions ],
|
||||
[ 'vulkan_ohos.h', [ 'VK_OpenHarmony_OHOS_surface',
|
||||
'VK_OpenHarmony_external_memory_ohos_native_buffer'
|
||||
], commonSuppressExtensions +
|
||||
[ 'VK_KHR_format_feature_flags2',
|
||||
] ],
|
||||
]
|
||||
|
||||
for platform in platforms:
|
||||
|
@ -38006,6 +38006,46 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"vkCreateOHOSSurfaceOpenHarmony": {
|
||||
"(VK_KHR_surface)+(VK_OpenHarmony_OHOS_surface)": [
|
||||
{
|
||||
"vuid": "VUID-vkCreateOHOSSurfaceOpenHarmony-instance-parameter",
|
||||
"text": " <code>instance</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkInstance\">VkInstance</a> handle"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-vkCreateOHOSSurfaceOpenHarmony-pCreateInfo-parameter",
|
||||
"text": " <code>pCreateInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkOHOSSurfaceCreateInfoOpenHarmony\">VkOHOSSurfaceCreateInfoOpenHarmony</a> structure"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-vkCreateOHOSSurfaceOpenHarmony-pAllocator-parameter",
|
||||
"text": " If <code>pAllocator</code> is not <code>NULL</code>, <code>pAllocator</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAllocationCallbacks\">VkAllocationCallbacks</a> structure"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-vkCreateOHOSSurfaceOpenHarmony-pSurface-parameter",
|
||||
"text": " <code>pSurface</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkSurfaceKHR\">VkSurfaceKHR</a> handle"
|
||||
}
|
||||
]
|
||||
},
|
||||
"VkOHOSSurfaceCreateInfoOpenHarmony": {
|
||||
"(VK_KHR_surface)+(VK_OpenHarmony_OHOS_surface)": [
|
||||
{
|
||||
"vuid": "VUID-VkOHOSSurfaceCreateInfoOpenHarmony-window-01248",
|
||||
"text": " <code>window</code> <strong class=\"purple\">must</strong> point to a valid OHOS <code>ANativeWindow</code>"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-VkOHOSSurfaceCreateInfoOpenHarmony-sType-sType",
|
||||
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY</code>"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-VkOHOSSurfaceCreateInfoOpenHarmony-pNext-pNext",
|
||||
"text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
|
||||
},
|
||||
{
|
||||
"vuid": "VUID-VkOHOSSurfaceCreateInfoOpenHarmony-flags-zerobitmask",
|
||||
"text": " <code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>"
|
||||
}
|
||||
]
|
||||
},
|
||||
"vkDestroySurfaceKHR": {
|
||||
"(VK_KHR_surface)": [
|
||||
{
|
||||
|
@ -34,6 +34,7 @@ branch of the member gitlab server.
|
||||
<platform name="ggp" protect="VK_USE_PLATFORM_GGP" comment="Google Games Platform"/>
|
||||
<platform name="provisional" protect="VK_ENABLE_BETA_EXTENSIONS" comment="Enable declarations for beta/provisional extensions"/>
|
||||
<platform name="screen" protect="VK_USE_PLATFORM_SCREEN_QNX" comment="QNX Screen Graphics Subsystem"/>
|
||||
<platform name="OHOS" protect="VK_USE_PLATFORM_OHOS_OPENHARMONY" comment="OpenHarmony Graphics Subsystem"/>
|
||||
</platforms>
|
||||
|
||||
<tags comment="Vulkan vendor/author tags for extensions and layers">
|
||||
@ -72,6 +73,8 @@ branch of the member gitlab server.
|
||||
<tag name="QNX" author="BlackBerry Limited" contact="Mike Gorchak @mgorchak-blackberry"/>
|
||||
<tag name="JUICE" author="Juice Technologies, Inc." contact="David McCloskey @damcclos, Dean Beeler @canadacow"/>
|
||||
<tag name="FB" author="Facebook, Inc" contact="Artem Bolgar @artyom17"/>
|
||||
<tag name="OpenHarmony" author="Huawei Technologies Co. Ltd." contact="Xindong Shi @stonehwsxd"/>
|
||||
<tag name="OpenHarmony" author="Huawei Technologies Co. Ltd." contact="Zhao Zhang @andrew0229"/>
|
||||
</tags>
|
||||
|
||||
<types comment="Vulkan type definitions">
|
||||
@ -334,6 +337,7 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<type category="bitmask">typedef <type>VkFlags</type> <name>VkStreamDescriptorSurfaceCreateFlagsGGP</name>;</type>
|
||||
<type category="bitmask">typedef <type>VkFlags</type> <name>VkHeadlessSurfaceCreateFlagsEXT</name>;</type>
|
||||
<type category="bitmask">typedef <type>VkFlags</type> <name>VkScreenSurfaceCreateFlagsQNX</name>;</type>
|
||||
<type category="bitmask">typedef <type>VkFlags</type> <name>VkOHOSSurfaceCreateFlagsOpenHarmony</name>;</type>
|
||||
<type requires="VkPeerMemoryFeatureFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkPeerMemoryFeatureFlags</name>;</type>
|
||||
<type category="bitmask" name="VkPeerMemoryFeatureFlagsKHR" alias="VkPeerMemoryFeatureFlags"/>
|
||||
<type requires="VkMemoryAllocateFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryAllocateFlags</name>;</type>
|
||||
@ -1940,6 +1944,12 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<member noautovalidity="true">struct <type>_screen_context</type>* <name>context</name></member>
|
||||
<member noautovalidity="true">struct <type>_screen_window</type>* <name>window</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkOHOSSurfaceCreateInfoOpenHarmony">
|
||||
<member values="VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY"><type>VkStructureType</type> <name>sType</name></member>
|
||||
<member optional="true">const <type>void</type>* <name>pNext</name></member>
|
||||
<member optional="true"><type>VkOHOSSurfaceCreateInfoOpenHarmony</type> <name>flags</name></member>
|
||||
<member noautovalidity="true">struct <type>NativeWindow</type>* <name>window</name></member>
|
||||
</type>
|
||||
<type category="struct" name="VkSurfaceFormatKHR" returnedonly="true">
|
||||
<member><type>VkFormat</type> <name>format</name><comment>Supported pair of rendering format</comment></member>
|
||||
<member><type>VkColorSpaceKHR</type> <name>colorSpace</name><comment>and color space for the surface</comment></member>
|
||||
@ -17634,6 +17644,56 @@ typedef void <name>CAMetalLayer</name>;
|
||||
<enum value=""VK_EXT_extension_438"" name="VK_EXT_EXTENSION_438_EXTENSION_NAME"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_OpenHarmony_OHOS_surface" number="452" type="instance" requires="VK_KHR_surface" platform="OHOS" author="OpenHarmony" contact="Xindong Shi @stonehwsxd" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_OpenHarmony_OHOS_SURFACE_SPEC_VERSION"/>
|
||||
<enum value=""VK_OpenHarmony_OHOS_surface"" name="VK_OpenHarmony_OHOS_SURFACE_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_OHOS_SURFACE_CREATE_INFO_OPENHARMONY"/>
|
||||
<type name="VkOHOSSurfaceCreateFlagsOpenHarmony"/>
|
||||
<type name="VkOHOSSurfaceCreateInfoOpenHarmony"/>
|
||||
<command name="vkCreateOHOSSurfaceOpenHarmony"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_OpenHarmony_external_memory_OHOS_native_buffer" number="453" type="device" author="OpenHarmony" requires="VK_KHR_sampler_ycbcr_conversion,VK_KHR_external_memory,VK_EXT_queue_family_foreign,VK_KHR_dedicated_allocation" platform="OHOS" contact="Zhao Zhang @andrew0229" supported="vulkan">
|
||||
<require>
|
||||
<enum value="1" name="VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_SPEC_VERSION"/>
|
||||
<enum value=""VK_OpenHarmony_external_memory_OHOS_native_buffer"" name="VK_OPENHARMONY_EXTERNAL_MEMORY_OHOS_NATIVE_BUFFER_EXTENSION_NAME"/>
|
||||
<enum bitpos="14" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_OHOS_NATIVE_BUFFER_BIT_OPENHARMONY"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_USAGE_OPENHARMONY"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_PROPERTIES_OPENHARMONY"/>
|
||||
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_OHOS_NATIVE_BUFFER_FORMAT_PROPERTIES_OPENHARMONY"/>
|
||||
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY"/>
|
||||
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_GET_OHOS_NATIVE_BUFFER_INFO_OPENHARMONY"/>
|
||||
<enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OPENHARMONY"/>
|
||||
<type name="VkOHOSNativeBufferUsageOpenHarmony"/>
|
||||
<type name="VkOHOSNativeBufferPropertiesOpenHarmony"/>
|
||||
<type name="VkOHOSNativeBufferFormatPropertiesOpenHarmony"/>
|
||||
<type name="VkImportOHOSNativeBufferInfoOpenHarmony"/>
|
||||
<type name="VkMemoryGetOHOSNativeBufferInfoOpenHarmony"/>
|
||||
<type name="VkExternalFormatOpenHarmony"/>
|
||||
<command name="vkGetOHOSNativeBufferPropertiesOpenHarmony"/>
|
||||
<command name="vkGetMemoryOHOSNativeBufferOpenHarmony"/>
|
||||
<type name="OH_NativeBuffer"/>
|
||||
</require>
|
||||
</extension>
|
||||
<extension name="VK_OHOS_native_buffer" number="454" type="device" author="OpenHarmony" platform="OHOS" contact="Zhao Zhang @andrew0229" supported="disabled">
|
||||
<require>
|
||||
<comment>VK_OHOS_native_buffer is used between the OpenharmonyOS Vulkan loader and drivers to implement the WSI extensions.</comment>
|
||||
<enum value="1" name="VK_OHOS_NATIVE_BUFFER_SPEC_VERSION"/>
|
||||
<enum value=""VK_OHOS_native_buffer"" name="VK_OHOS_NATIVE_BUFFER_EXTENSION_NAME"/>
|
||||
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_NATIVE_BUFFER_OPENHARMONY"/>
|
||||
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_IMAGE_CREATE_INFO_OPENHARMONY"/>
|
||||
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_OPENHARMONY"/>
|
||||
<type name="VkNativeBufferOpenHarmony"/>
|
||||
<type name="VkSwapchainImageCreateInfoOpenHarmony"/>
|
||||
<type name="VkPhysicalDevicePresentationPropertiesOpenHarmony"/>
|
||||
<type name="VkSwapchainImageUsageFlagBitsOpenHarmony"/>
|
||||
<type name="VkSwapchainImageUsageFlagsOpenHarmony"/>
|
||||
<command name="vkGetSwapchainGrallocUsageOpenHarmony"/>
|
||||
<command name="vkAcquireImageOpenHarmony"/>
|
||||
<command name="vkQueueSignalReleaseImageOpenHarmony"/>
|
||||
</require>
|
||||
</extension>
|
||||
</extensions>
|
||||
<formats>
|
||||
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
|
||||
|
Loading…
Reference in New Issue
Block a user