Edit

kc3-lang/SDL/src/video/khronos/vulkan/vulkan_android.h

Branch :

  • Show log

    Commit

  • Author : Sam Lantinga
    Date : 2018-11-06 16:57:07
    Hash : 9665a508
    Message : Added Vulkan headers version 1.1.91 Downloaded from https://github.com/KhronosGroup/Vulkan-Headers

  • src/video/khronos/vulkan/vulkan_android.h
  • #ifndef VULKAN_ANDROID_H_
    #define VULKAN_ANDROID_H_ 1
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    /*
    ** Copyright (c) 2015-2018 The Khronos Group Inc.
    **
    ** Licensed under the Apache License, Version 2.0 (the "License");
    ** you may not use this file except in compliance with the License.
    ** You may obtain a copy of the License at
    **
    **     http://www.apache.org/licenses/LICENSE-2.0
    **
    ** Unless required by applicable law or agreed to in writing, software
    ** distributed under the License is distributed on an "AS IS" BASIS,
    ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    ** See the License for the specific language governing permissions and
    ** limitations under the License.
    */
    
    /*
    ** This header is generated from the Khronos Vulkan XML API Registry.
    **
    */
    
    
    #define VK_KHR_android_surface 1
    struct ANativeWindow;
    
    #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
    #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
    
    typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
    
    typedef struct VkAndroidSurfaceCreateInfoKHR {
        VkStructureType                   sType;
        const void*                       pNext;
        VkAndroidSurfaceCreateFlagsKHR    flags;
        struct ANativeWindow*             window;
    } VkAndroidSurfaceCreateInfoKHR;
    
    
    typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
    
    #ifndef VK_NO_PROTOTYPES
    VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
        VkInstance                                  instance,
        const VkAndroidSurfaceCreateInfoKHR*        pCreateInfo,
        const VkAllocationCallbacks*                pAllocator,
        VkSurfaceKHR*                               pSurface);
    #endif
    
    #define VK_ANDROID_external_memory_android_hardware_buffer 1
    struct AHardwareBuffer;
    
    #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
    #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
    
    typedef struct VkAndroidHardwareBufferUsageANDROID {
        VkStructureType    sType;
        void*              pNext;
        uint64_t           androidHardwareBufferUsage;
    } VkAndroidHardwareBufferUsageANDROID;
    
    typedef struct VkAndroidHardwareBufferPropertiesANDROID {
        VkStructureType    sType;
        void*              pNext;
        VkDeviceSize       allocationSize;
        uint32_t           memoryTypeBits;
    } VkAndroidHardwareBufferPropertiesANDROID;
    
    typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
        VkStructureType                  sType;
        void*                            pNext;
        VkFormat                         format;
        uint64_t                         externalFormat;
        VkFormatFeatureFlags             formatFeatures;
        VkComponentMapping               samplerYcbcrConversionComponents;
        VkSamplerYcbcrModelConversion    suggestedYcbcrModel;
        VkSamplerYcbcrRange              suggestedYcbcrRange;
        VkChromaLocation                 suggestedXChromaOffset;
        VkChromaLocation                 suggestedYChromaOffset;
    } VkAndroidHardwareBufferFormatPropertiesANDROID;
    
    typedef struct VkImportAndroidHardwareBufferInfoANDROID {
        VkStructureType            sType;
        const void*                pNext;
        struct AHardwareBuffer*    buffer;
    } VkImportAndroidHardwareBufferInfoANDROID;
    
    typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
        VkStructureType    sType;
        const void*        pNext;
        VkDeviceMemory     memory;
    } VkMemoryGetAndroidHardwareBufferInfoANDROID;
    
    typedef struct VkExternalFormatANDROID {
        VkStructureType    sType;
        void*              pNext;
        uint64_t           externalFormat;
    } VkExternalFormatANDROID;
    
    
    typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
    typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
    
    #ifndef VK_NO_PROTOTYPES
    VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
        VkDevice                                    device,
        const struct AHardwareBuffer*               buffer,
        VkAndroidHardwareBufferPropertiesANDROID*   pProperties);
    
    VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
        VkDevice                                    device,
        const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
        struct AHardwareBuffer**                    pBuffer);
    #endif
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif