| #ifndef VULKAN_FUCHSIA_H_ | |
| #define VULKAN_FUCHSIA_H_ 1 | |
| /* | |
| ** Copyright 2015-2022 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 | |
| #define VK_FUCHSIA_imagepipe_surface 1 | |
| #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1 | |
| #define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface" | |
| typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; | |
| typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkImagePipeSurfaceCreateFlagsFUCHSIA flags; | |
| zx_handle_t imagePipeHandle; | |
| } VkImagePipeSurfaceCreateInfoFUCHSIA; | |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); | |
| #ifndef VK_NO_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA( | |
| VkInstance instance, | |
| const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, | |
| const VkAllocationCallbacks* pAllocator, | |
| VkSurfaceKHR* pSurface); | |
| #endif | |
| #define VK_FUCHSIA_external_memory 1 | |
| #define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1 | |
| #define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory" | |
| typedef struct VkImportMemoryZirconHandleInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkExternalMemoryHandleTypeFlagBits handleType; | |
| zx_handle_t handle; | |
| } VkImportMemoryZirconHandleInfoFUCHSIA; | |
| typedef struct VkMemoryZirconHandlePropertiesFUCHSIA { | |
| VkStructureType sType; | |
| void* pNext; | |
| uint32_t memoryTypeBits; | |
| } VkMemoryZirconHandlePropertiesFUCHSIA; | |
| typedef struct VkMemoryGetZirconHandleInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkDeviceMemory memory; | |
| VkExternalMemoryHandleTypeFlagBits handleType; | |
| } VkMemoryGetZirconHandleInfoFUCHSIA; | |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle); | |
| typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties); | |
| #ifndef VK_NO_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA( | |
| VkDevice device, | |
| const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, | |
| zx_handle_t* pZirconHandle); | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA( | |
| VkDevice device, | |
| VkExternalMemoryHandleTypeFlagBits handleType, | |
| zx_handle_t zirconHandle, | |
| VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties); | |
| #endif | |
| #define VK_FUCHSIA_external_semaphore 1 | |
| #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 | |
| #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore" | |
| typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkSemaphore semaphore; | |
| VkSemaphoreImportFlags flags; | |
| VkExternalSemaphoreHandleTypeFlagBits handleType; | |
| zx_handle_t zirconHandle; | |
| } VkImportSemaphoreZirconHandleInfoFUCHSIA; | |
| typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkSemaphore semaphore; | |
| VkExternalSemaphoreHandleTypeFlagBits handleType; | |
| } VkSemaphoreGetZirconHandleInfoFUCHSIA; | |
| typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo); | |
| typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle); | |
| #ifndef VK_NO_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA( | |
| VkDevice device, | |
| const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo); | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA( | |
| VkDevice device, | |
| const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, | |
| zx_handle_t* pZirconHandle); | |
| #endif | |
| #define VK_FUCHSIA_buffer_collection 1 | |
| VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) | |
| #define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2 | |
| #define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection" | |
| typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA; | |
| typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA { | |
| VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001, | |
| VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002, | |
| VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004, | |
| VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008, | |
| VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010, | |
| VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF | |
| } VkImageConstraintsInfoFlagBitsFUCHSIA; | |
| typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA; | |
| typedef struct VkBufferCollectionCreateInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| zx_handle_t collectionToken; | |
| } VkBufferCollectionCreateInfoFUCHSIA; | |
| typedef struct VkImportMemoryBufferCollectionFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkBufferCollectionFUCHSIA collection; | |
| uint32_t index; | |
| } VkImportMemoryBufferCollectionFUCHSIA; | |
| typedef struct VkBufferCollectionImageCreateInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkBufferCollectionFUCHSIA collection; | |
| uint32_t index; | |
| } VkBufferCollectionImageCreateInfoFUCHSIA; | |
| typedef struct VkBufferCollectionConstraintsInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| uint32_t minBufferCount; | |
| uint32_t maxBufferCount; | |
| uint32_t minBufferCountForCamping; | |
| uint32_t minBufferCountForDedicatedSlack; | |
| uint32_t minBufferCountForSharedSlack; | |
| } VkBufferCollectionConstraintsInfoFUCHSIA; | |
| typedef struct VkBufferConstraintsInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkBufferCreateInfo createInfo; | |
| VkFormatFeatureFlags requiredFormatFeatures; | |
| VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; | |
| } VkBufferConstraintsInfoFUCHSIA; | |
| typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkBufferCollectionFUCHSIA collection; | |
| uint32_t index; | |
| } VkBufferCollectionBufferCreateInfoFUCHSIA; | |
| typedef struct VkSysmemColorSpaceFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| uint32_t colorSpace; | |
| } VkSysmemColorSpaceFUCHSIA; | |
| typedef struct VkBufferCollectionPropertiesFUCHSIA { | |
| VkStructureType sType; | |
| void* pNext; | |
| uint32_t memoryTypeBits; | |
| uint32_t bufferCount; | |
| uint32_t createInfoIndex; | |
| uint64_t sysmemPixelFormat; | |
| VkFormatFeatureFlags formatFeatures; | |
| VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex; | |
| VkComponentMapping samplerYcbcrConversionComponents; | |
| VkSamplerYcbcrModelConversion suggestedYcbcrModel; | |
| VkSamplerYcbcrRange suggestedYcbcrRange; | |
| VkChromaLocation suggestedXChromaOffset; | |
| VkChromaLocation suggestedYChromaOffset; | |
| } VkBufferCollectionPropertiesFUCHSIA; | |
| typedef struct VkImageFormatConstraintsInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkImageCreateInfo imageCreateInfo; | |
| VkFormatFeatureFlags requiredFormatFeatures; | |
| VkImageFormatConstraintsFlagsFUCHSIA flags; | |
| uint64_t sysmemPixelFormat; | |
| uint32_t colorSpaceCount; | |
| const VkSysmemColorSpaceFUCHSIA* pColorSpaces; | |
| } VkImageFormatConstraintsInfoFUCHSIA; | |
| typedef struct VkImageConstraintsInfoFUCHSIA { | |
| VkStructureType sType; | |
| const void* pNext; | |
| uint32_t formatConstraintsCount; | |
| const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints; | |
| VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints; | |
| VkImageConstraintsInfoFlagsFUCHSIA flags; | |
| } VkImageConstraintsInfoFUCHSIA; | |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection); | |
| typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo); | |
| typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo); | |
| typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator); | |
| typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties); | |
| #ifndef VK_NO_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA( | |
| VkDevice device, | |
| const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, | |
| const VkAllocationCallbacks* pAllocator, | |
| VkBufferCollectionFUCHSIA* pCollection); | |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA( | |
| VkDevice device, | |
| VkBufferCollectionFUCHSIA collection, | |
| const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo); | |
| VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA( | |
| VkDevice device, | |
| VkBufferCollectionFUCHSIA collection, | |
| const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo); | |
| VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA( | |
| VkDevice device, | |
| VkBufferCollectionFUCHSIA collection, | |
| const VkAllocationCallbacks* pAllocator); | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA( | |
| VkDevice device, | |
| VkBufferCollectionFUCHSIA collection, | |
| VkBufferCollectionPropertiesFUCHSIA* pProperties); | |
| #endif | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |