| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- #ifndef VULKAN_FUCHSIA_H_
- #define VULKAN_FUCHSIA_H_ 1
- /*
- ** Copyright 2015-2026 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_FUCHSIA_imagepipe_surface is a preprocessor guard. Do not pass it to API calls.
- #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
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
- VkInstance instance,
- const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkSurfaceKHR* pSurface);
- #endif
- #endif
- // VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls.
- #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
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
- VkDevice device,
- const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
- zx_handle_t* pZirconHandle);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
- VkDevice device,
- VkExternalMemoryHandleTypeFlagBits handleType,
- zx_handle_t zirconHandle,
- VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
- #endif
- #endif
- // VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls.
- #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
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
- VkDevice device,
- const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
- VkDevice device,
- const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
- zx_handle_t* pZirconHandle);
- #endif
- #endif
- // VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls.
- #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
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
- VkDevice device,
- const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
- const VkAllocationCallbacks* pAllocator,
- VkBufferCollectionFUCHSIA* pCollection);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- const VkAllocationCallbacks* pAllocator);
- #endif
- #ifndef VK_ONLY_EXPORTED_PROTOTYPES
- VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
- VkDevice device,
- VkBufferCollectionFUCHSIA collection,
- VkBufferCollectionPropertiesFUCHSIA* pProperties);
- #endif
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|