"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/include/vulkan/vulkan_android.h" (16 Sep 2020, 4725 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "vulkan_android.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 20.1.5_vs_20.2.0-rc1.

    1 #ifndef VULKAN_ANDROID_H_
    2 #define VULKAN_ANDROID_H_ 1
    3 
    4 /*
    5 ** Copyright (c) 2015-2020 The Khronos Group Inc.
    6 **
    7 ** Licensed under the Apache License, Version 2.0 (the "License");
    8 ** you may not use this file except in compliance with the License.
    9 ** You may obtain a copy of the License at
   10 **
   11 **     http://www.apache.org/licenses/LICENSE-2.0
   12 **
   13 ** Unless required by applicable law or agreed to in writing, software
   14 ** distributed under the License is distributed on an "AS IS" BASIS,
   15 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   16 ** See the License for the specific language governing permissions and
   17 ** limitations under the License.
   18 */
   19 
   20 /*
   21 ** This header is generated from the Khronos Vulkan XML API Registry.
   22 **
   23 */
   24 
   25 
   26 #ifdef __cplusplus
   27 extern "C" {
   28 #endif
   29 
   30 
   31 
   32 #define VK_KHR_android_surface 1
   33 struct ANativeWindow;
   34 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
   35 #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
   36 typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
   37 typedef struct VkAndroidSurfaceCreateInfoKHR {
   38     VkStructureType                   sType;
   39     const void*                       pNext;
   40     VkAndroidSurfaceCreateFlagsKHR    flags;
   41     struct ANativeWindow*             window;
   42 } VkAndroidSurfaceCreateInfoKHR;
   43 
   44 typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
   45 
   46 #ifndef VK_NO_PROTOTYPES
   47 VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
   48     VkInstance                                  instance,
   49     const VkAndroidSurfaceCreateInfoKHR*        pCreateInfo,
   50     const VkAllocationCallbacks*                pAllocator,
   51     VkSurfaceKHR*                               pSurface);
   52 #endif
   53 
   54 
   55 #define VK_ANDROID_external_memory_android_hardware_buffer 1
   56 struct AHardwareBuffer;
   57 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
   58 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
   59 typedef struct VkAndroidHardwareBufferUsageANDROID {
   60     VkStructureType    sType;
   61     void*              pNext;
   62     uint64_t           androidHardwareBufferUsage;
   63 } VkAndroidHardwareBufferUsageANDROID;
   64 
   65 typedef struct VkAndroidHardwareBufferPropertiesANDROID {
   66     VkStructureType    sType;
   67     void*              pNext;
   68     VkDeviceSize       allocationSize;
   69     uint32_t           memoryTypeBits;
   70 } VkAndroidHardwareBufferPropertiesANDROID;
   71 
   72 typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
   73     VkStructureType                  sType;
   74     void*                            pNext;
   75     VkFormat                         format;
   76     uint64_t                         externalFormat;
   77     VkFormatFeatureFlags             formatFeatures;
   78     VkComponentMapping               samplerYcbcrConversionComponents;
   79     VkSamplerYcbcrModelConversion    suggestedYcbcrModel;
   80     VkSamplerYcbcrRange              suggestedYcbcrRange;
   81     VkChromaLocation                 suggestedXChromaOffset;
   82     VkChromaLocation                 suggestedYChromaOffset;
   83 } VkAndroidHardwareBufferFormatPropertiesANDROID;
   84 
   85 typedef struct VkImportAndroidHardwareBufferInfoANDROID {
   86     VkStructureType            sType;
   87     const void*                pNext;
   88     struct AHardwareBuffer*    buffer;
   89 } VkImportAndroidHardwareBufferInfoANDROID;
   90 
   91 typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
   92     VkStructureType    sType;
   93     const void*        pNext;
   94     VkDeviceMemory     memory;
   95 } VkMemoryGetAndroidHardwareBufferInfoANDROID;
   96 
   97 typedef struct VkExternalFormatANDROID {
   98     VkStructureType    sType;
   99     void*              pNext;
  100     uint64_t           externalFormat;
  101 } VkExternalFormatANDROID;
  102 
  103 typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
  104 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
  105 
  106 #ifndef VK_NO_PROTOTYPES
  107 VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
  108     VkDevice                                    device,
  109     const struct AHardwareBuffer*               buffer,
  110     VkAndroidHardwareBufferPropertiesANDROID*   pProperties);
  111 
  112 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
  113     VkDevice                                    device,
  114     const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
  115     struct AHardwareBuffer**                    pBuffer);
  116 #endif
  117 
  118 #ifdef __cplusplus
  119 }
  120 #endif
  121 
  122 #endif