| #ifndef VULKAN_SCREEN_H_ |
| #define VULKAN_SCREEN_H_ 1 |
| |
| /* |
| ** Copyright 2015-2023 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_QNX_screen_surface is a preprocessor guard. Do not pass it to API calls. |
| #define VK_QNX_screen_surface 1 |
| #define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1 |
| #define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface" |
| typedef VkFlags VkScreenSurfaceCreateFlagsQNX; |
| typedef struct VkScreenSurfaceCreateInfoQNX { |
| VkStructureType sType; |
| const void* pNext; |
| VkScreenSurfaceCreateFlagsQNX flags; |
| struct _screen_context* context; |
| struct _screen_window* window; |
| } VkScreenSurfaceCreateInfoQNX; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
| typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX( |
| VkInstance instance, |
| const VkScreenSurfaceCreateInfoQNX* pCreateInfo, |
| const VkAllocationCallbacks* pAllocator, |
| VkSurfaceKHR* pSurface); |
| |
| VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX( |
| VkPhysicalDevice physicalDevice, |
| uint32_t queueFamilyIndex, |
| struct _screen_window* window); |
| #endif |
| |
| |
| // VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls. |
| #define VK_QNX_external_memory_screen_buffer 1 |
| #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION 1 |
| #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME "VK_QNX_external_memory_screen_buffer" |
| typedef struct VkScreenBufferPropertiesQNX { |
| VkStructureType sType; |
| void* pNext; |
| VkDeviceSize allocationSize; |
| uint32_t memoryTypeBits; |
| } VkScreenBufferPropertiesQNX; |
| |
| typedef struct VkScreenBufferFormatPropertiesQNX { |
| VkStructureType sType; |
| void* pNext; |
| VkFormat format; |
| uint64_t externalFormat; |
| uint64_t screenUsage; |
| VkFormatFeatureFlags formatFeatures; |
| VkComponentMapping samplerYcbcrConversionComponents; |
| VkSamplerYcbcrModelConversion suggestedYcbcrModel; |
| VkSamplerYcbcrRange suggestedYcbcrRange; |
| VkChromaLocation suggestedXChromaOffset; |
| VkChromaLocation suggestedYChromaOffset; |
| } VkScreenBufferFormatPropertiesQNX; |
| |
| typedef struct VkImportScreenBufferInfoQNX { |
| VkStructureType sType; |
| const void* pNext; |
| struct _screen_buffer* buffer; |
| } VkImportScreenBufferInfoQNX; |
| |
| typedef struct VkExternalFormatQNX { |
| VkStructureType sType; |
| void* pNext; |
| uint64_t externalFormat; |
| } VkExternalFormatQNX; |
| |
| typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX { |
| VkStructureType sType; |
| void* pNext; |
| VkBool32 screenBufferImport; |
| } VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX; |
| |
| typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties); |
| |
| #ifndef VK_NO_PROTOTYPES |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX( |
| VkDevice device, |
| const struct _screen_buffer* buffer, |
| VkScreenBufferPropertiesQNX* pProperties); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |