Path: blob/21.2-virgl/src/intel/vulkan/anv_android.h
4547 views
/*1* Copyright © 2018 Intel Corporation2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING19* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS20* IN THE SOFTWARE.21*/2223#ifndef ANV_ANDROID_H24#define ANV_ANDROID_H2526#if defined(ANDROID) && ANDROID_API_LEVEL >= 2627#include <vndk/hardware_buffer.h>28#endif29#include <vulkan/vulkan.h>30#include <vulkan/vulkan_android.h>31#include <vulkan/vk_android_native_buffer.h>3233struct anv_device_memory;34struct anv_device;35struct anv_image;3637VkResult anv_image_from_gralloc(VkDevice device_h,38const VkImageCreateInfo *base_info,39const VkNativeBufferANDROID *gralloc_info,40const VkAllocationCallbacks *alloc,41VkImage *pImage);4243VkResult anv_image_bind_from_gralloc(struct anv_device *device,44struct anv_image *image,45const VkNativeBufferANDROID *gralloc_info);4647VkResult anv_image_from_external(VkDevice device_h,48const VkImageCreateInfo *base_info,49const VkExternalMemoryImageCreateInfo *create_info,50const VkAllocationCallbacks *alloc,51VkImage *out_image_h);5253uint64_t anv_ahw_usage_from_vk_usage(const VkImageCreateFlags vk_create,54const VkImageUsageFlags vk_usage);5556VkResult anv_import_ahw_memory(VkDevice device_h,57struct anv_device_memory *mem,58const VkImportAndroidHardwareBufferInfoANDROID *info);5960VkResult anv_create_ahw_memory(VkDevice device_h,61struct anv_device_memory *mem,62const VkMemoryAllocateInfo *pAllocateInfo);63#endif /* ANV_ANDROID_H */646566