diff options
| author | 2022-03-09 00:31:38 +0000 | |
|---|---|---|
| committer | 2022-11-16 18:49:08 +0000 | |
| commit | 2cc44689e59f7fea54bcb9fe0bbee0d487fbaa90 (patch) | |
| tree | 6fdfbfc8dd6cbc74d41ccaba17a5b7885475e8d9 /vulkan/include | |
| parent | a8c0dd747c7aa7127d0bf0f53bcea5ac955b8339 (diff) | |
Vulkan loader changes to support VK_EXT_image_compression_control
Bug: 218365766
Test: Build
Change-Id: I91cddbee0daac27d838e6201ba63c51a5158412c
Diffstat (limited to 'vulkan/include')
| -rw-r--r-- | vulkan/include/vulkan/vk_android_native_buffer.h | 46 |
1 files changed, 42 insertions, 4 deletions
diff --git a/vulkan/include/vulkan/vk_android_native_buffer.h b/vulkan/include/vulkan/vk_android_native_buffer.h index ba98696aef..40cf9fbd67 100644 --- a/vulkan/include/vulkan/vk_android_native_buffer.h +++ b/vulkan/include/vulkan/vk_android_native_buffer.h @@ -49,7 +49,13 @@ extern "C" { * in VkBindImageMemorySwapchainInfoKHR will be additionally chained to the * pNext chain of VkBindImageMemoryInfo and passed down to the driver. */ -#define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 8 +/* + * NOTE ON VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 9 + * + * This version of the extension is largely designed to clean up the mix of + * GrallocUsage and GrallocUsage2 + */ +#define VK_ANDROID_NATIVE_BUFFER_SPEC_VERSION 9 #define VK_ANDROID_NATIVE_BUFFER_EXTENSION_NAME "VK_ANDROID_native_buffer" #define VK_ANDROID_NATIVE_BUFFER_ENUM(type, id) \ @@ -61,6 +67,8 @@ extern "C" { VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 1) #define VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENTATION_PROPERTIES_ANDROID \ VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 2) +#define VK_STRUCTURE_TYPE_GRALLOC_USAGE_INFO_ANDROID \ + VK_ANDROID_NATIVE_BUFFER_ENUM(VkStructureType, 3) /* clang-format off */ typedef enum VkSwapchainImageUsageFlagBitsANDROID { @@ -90,6 +98,7 @@ typedef struct { * format: gralloc format requested when the buffer was allocated * usage: gralloc usage requested when the buffer was allocated * usage2: gralloc usage requested when the buffer was allocated + * usage3: gralloc usage requested when the buffer was allocated */ typedef struct { VkStructureType sType; @@ -98,7 +107,8 @@ typedef struct { int stride; int format; int usage; /* DEPRECATED in SPEC_VERSION 6 */ - VkNativeBufferUsage2ANDROID usage2; /* ADDED in SPEC_VERSION 6 */ + VkNativeBufferUsage2ANDROID usage2; /* DEPRECATED in SPEC_VERSION 9 */ + uint64_t usage3; /* ADDED in SPEC_VERSION 9 */ } VkNativeBufferANDROID; /* @@ -127,6 +137,21 @@ typedef struct { VkBool32 sharedImage; } VkPhysicalDevicePresentationPropertiesANDROID; +/* + * struct VkGrallocUsageInfoANDROID + * + * sType: VK_STRUCTURE_TYPE_GRALLOC_USAGE_INFO_ANDROID + * pNext: NULL or a pointer to a structure extending this structure + * format: value specifying the format the image will be created with + * imageUsage: bitmask of VkImageUsageFlagBits describing intended usage + */ +typedef struct { + VkStructureType sType; + const void* pNext; + VkFormat format; + VkImageUsageFlags imageUsage; +} VkGrallocUsageInfoANDROID; + /* DEPRECATED in SPEC_VERSION 6 */ typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)( VkDevice device, @@ -134,7 +159,7 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsageANDROID)( VkImageUsageFlags imageUsage, int* grallocUsage); -/* ADDED in SPEC_VERSION 6 */ +/* DEPRECATED in SPEC_VERSION 9 */ typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage2ANDROID)( VkDevice device, VkFormat format, @@ -143,6 +168,12 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage2ANDROID)( uint64_t* grallocConsumerUsage, uint64_t* grallocProducerUsage); +/* ADDED in SPEC_VERSION 9 */ +typedef VkResult (VKAPI_PTR *PFN_vkGetSwapchainGrallocUsage3ANDROID)( + VkDevice device, + const VkGrallocUsageInfoANDROID* grallocUsageInfo, + uint64_t* grallocUsage); + typedef VkResult (VKAPI_PTR *PFN_vkAcquireImageANDROID)( VkDevice device, VkImage image, @@ -167,7 +198,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageANDROID( int* grallocUsage ); -/* ADDED in SPEC_VERSION 6 */ +/* DEPRECATED in SPEC_VERSION 9 */ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage2ANDROID( VkDevice device, VkFormat format, @@ -177,6 +208,13 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage2ANDROID( uint64_t* grallocProducerUsage ); +/* ADDED in SPEC_VERSION 9 */ +VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsage3ANDROID( + VkDevice device, + const VkGrallocUsageInfoANDROID* grallocUsageInfo, + uint64_t* grallocUsage +); + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageANDROID( VkDevice device, VkImage image, |