Edit

IABSD.fr/xenocara/lib/mesa/include/vulkan/vulkan_fuchsia.h

Branch :

  • Show log

    Commit

  • Author : jsg
    Date : 2025-06-05 11:23:11
    Hash : 67d6f117
    Message : Import Mesa 25.0.7

  • lib/mesa/include/vulkan/vulkan_fuchsia.h
  • #ifndef VULKAN_FUCHSIA_H_
    #define VULKAN_FUCHSIA_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_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
    VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
        VkInstance                                  instance,
        const VkImagePipeSurfaceCreateInfoFUCHSIA*  pCreateInfo,
        const VkAllocationCallbacks*                pAllocator,
        VkSurfaceKHR*                               pSurface);
    #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
    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
    
    
    // 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
    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
    
    
    // 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
    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