vulkan: Update from version 0.205.0 to 0.206.0
Change-Id: I36370f6ec41abf235975a0c769c03c8f25851d14
(cherry picked from commit c7d7dcfffafda197458d6c4afebb486bd64e0d53)
diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api
index 1c4bb8f..73f26e0 100644
--- a/vulkan/api/vulkan.api
+++ b/vulkan/api/vulkan.api
@@ -27,7 +27,7 @@
// API version (major.minor.patch)
define VERSION_MAJOR 0
-define VERSION_MINOR 205
+define VERSION_MINOR 206
define VERSION_PATCH 0
// API limits
@@ -1293,7 +1293,7 @@
const void* pNext /// Pointer to next structure
VkDeviceQueueCreateFlags flags
u32 queueFamilyIndex
- u32 queuePriorityCount
+ u32 queueCount
const f32* pQueuePriorities
}
@@ -1301,8 +1301,8 @@
VkStructureType sType /// Should be VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO
const void* pNext /// Pointer to next structure
VkDeviceCreateFlags flags
- u32 requestedQueueRecordCount
- const VkDeviceQueueCreateInfo* pRequestedQueues
+ u32 queueCreateInfoCount
+ const VkDeviceQueueCreateInfo* pQueueCreateInfos
u32 enabledLayerNameCount
const char* const* ppEnabledLayerNames /// Ordered list of layer names to be enabled
u32 enabledExtensionNameCount
@@ -1642,7 +1642,7 @@
class VkDescriptorSetLayoutBinding {
u32 binding
VkDescriptorType descriptorType /// Type of the descriptors in this binding
- u32 arraySize /// Number of descriptors in this binding
+ u32 descriptorCount /// Number of descriptors in this binding
VkShaderStageFlags stageFlags /// Shader stages this binding is visible to
const VkSampler* pImmutableSamplers /// Immutable samplers (used if descriptor type is SAMPLER or COMBINED_IMAGE_SAMPLER, is either NULL or contains <count> number of elements)
}
@@ -2111,6 +2111,7 @@
u32 maxPerStageDescriptorSampledImages /// max num of sampled images allowed per-stage in a descriptor set
u32 maxPerStageDescriptorStorageImages /// max num of storage images allowed per-stage in a descriptor set
u32 maxPerStageDescriptorInputAttachments
+ u32 maxPerStageResources
u32 maxDescriptorSetSamplers /// max num of samplers allowed in all stages in a descriptor set
u32 maxDescriptorSetUniformBuffers /// max num of uniform buffers allowed in all stages in a descriptor set
u32 maxDescriptorSetUniformBuffersDynamic /// max num of dynamic uniform buffers allowed in all stages in a descriptor set
@@ -2156,7 +2157,7 @@
u32 mipmapPrecisionBits /// num bits of mipmap precision
u32 maxDrawIndexedIndexValue /// max index value for indexed draw calls (for 32-bit indices)
- u32 maxDrawIndirectInstanceCount /// max instance count for indirect draw calls
+ u32 maxDrawIndirectCount
f32 maxSamplerLodBias /// max absolute sampler level of detail bias
f32 maxSamplerAnisotropy /// max degree of sampler anisotropy
@@ -2212,6 +2213,7 @@
VkDeviceSize optimalBufferCopyOffsetAlignment
VkDeviceSize optimalBufferCopyRowPitchAlignment
+ VkDeviceSize nonCoherentAtomSize
}
class VkPhysicalDeviceSparseProperties {
diff --git a/vulkan/include/vulkan/vulkan.h b/vulkan/include/vulkan/vulkan.h
index b342285..ba749a1 100644
--- a/vulkan/include/vulkan/vulkan.h
+++ b/vulkan/include/vulkan/vulkan.h
@@ -41,7 +41,7 @@
((major << 22) | (minor << 12) | patch)
// Vulkan API version supported by this file
-#define VK_API_VERSION VK_MAKE_VERSION(0, 205, 0)
+#define VK_API_VERSION VK_MAKE_VERSION(0, 206, 0)
#define VK_NULL_HANDLE 0
@@ -125,6 +125,12 @@
VK_ERROR_INCOMPATIBLE_DRIVER = -9,
VK_ERROR_TOO_MANY_OBJECTS = -10,
VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
+ VK_ERROR_SURFACE_LOST_KHR = 0xC0000400,
+ VK_SUBOPTIMAL_KHR = 0x40000403,
+ VK_ERROR_OUT_OF_DATE_KHR = 0xC0000804,
+ VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = 0xC0001002,
+ VK_ERROR_INVALID_ANDROID_WINDOW_KHR = 0xC0002400,
+ VK_ERROR_ANDROID_WINDOW_IN_USE_KHR = 0xC0002401,
VK_RESULT_BEGIN_RANGE = VK_ERROR_FORMAT_NOT_SUPPORTED,
VK_RESULT_END_RANGE = VK_INCOMPLETE,
VK_RESULT_RANGE_SIZE = (VK_INCOMPLETE - VK_ERROR_FORMAT_NOT_SUPPORTED + 1),
@@ -180,6 +186,12 @@
VK_STRUCTURE_TYPE_MEMORY_BARRIER = 45,
VK_STRUCTURE_TYPE_LAYER_INSTANCE_CREATE_INFO = 46,
VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO = 47,
+ VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 0xC0000800,
+ VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 0xC0000801,
+ VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 0xC0000C00,
+ VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR = 0xC0000C01,
+ VK_STRUCTURE_TYPE_DISPLAY_SWAPCHAIN_CREATE_INFO_KHR = 0xC0001000,
+ VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR = 0xC0001001,
VK_STRUCTURE_TYPE_BEGIN_RANGE = VK_STRUCTURE_TYPE_APPLICATION_INFO,
VK_STRUCTURE_TYPE_END_RANGE = VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO,
VK_STRUCTURE_TYPE_RANGE_SIZE = (VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO - VK_STRUCTURE_TYPE_APPLICATION_INFO + 1),
@@ -447,6 +459,7 @@
VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL = 6,
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL = 7,
VK_IMAGE_LAYOUT_PREINITIALIZED = 8,
+ VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 0xC0000802,
VK_IMAGE_LAYOUT_BEGIN_RANGE = VK_IMAGE_LAYOUT_UNDEFINED,
VK_IMAGE_LAYOUT_END_RANGE = VK_IMAGE_LAYOUT_PREINITIALIZED,
VK_IMAGE_LAYOUT_RANGE_SIZE = (VK_IMAGE_LAYOUT_PREINITIALIZED - VK_IMAGE_LAYOUT_UNDEFINED + 1),
@@ -1204,6 +1217,7 @@
uint32_t maxPerStageDescriptorSampledImages;
uint32_t maxPerStageDescriptorStorageImages;
uint32_t maxPerStageDescriptorInputAttachments;
+ uint32_t maxPerStageResources;
uint32_t maxDescriptorSetSamplers;
uint32_t maxDescriptorSetUniformBuffers;
uint32_t maxDescriptorSetUniformBuffersDynamic;
@@ -1242,7 +1256,7 @@
uint32_t subTexelPrecisionBits;
uint32_t mipmapPrecisionBits;
uint32_t maxDrawIndexedIndexValue;
- uint32_t maxDrawIndirectInstanceCount;
+ uint32_t maxDrawIndirectCount;
float maxSamplerLodBias;
float maxSamplerAnisotropy;
uint32_t maxViewports;
@@ -1287,6 +1301,7 @@
VkBool32 standardSampleLocations;
VkDeviceSize optimalBufferCopyOffsetAlignment;
VkDeviceSize optimalBufferCopyRowPitchAlignment;
+ VkDeviceSize nonCoherentAtomSize;
} VkPhysicalDeviceLimits;
typedef struct VkPhysicalDeviceSparseProperties {
@@ -1338,7 +1353,7 @@
const void* pNext;
VkDeviceQueueCreateFlags flags;
uint32_t queueFamilyIndex;
- uint32_t queuePriorityCount;
+ uint32_t queueCount;
const float* pQueuePriorities;
} VkDeviceQueueCreateInfo;
@@ -1346,8 +1361,8 @@
VkStructureType sType;
const void* pNext;
VkDeviceCreateFlags flags;
- uint32_t requestedQueueCount;
- const VkDeviceQueueCreateInfo* pRequestedQueues;
+ uint32_t queueCreateInfoCount;
+ const VkDeviceQueueCreateInfo* pQueueCreateInfos;
uint32_t enabledLayerNameCount;
const char*const* ppEnabledLayerNames;
uint32_t enabledExtensionNameCount;
@@ -1839,7 +1854,7 @@
typedef struct VkDescriptorSetLayoutBinding {
uint32_t binding;
VkDescriptorType descriptorType;
- uint32_t arraySize;
+ uint32_t descriptorCount;
VkShaderStageFlags stageFlags;
const VkSampler* pImmutableSamplers;
} VkDescriptorSetLayoutBinding;
@@ -3071,7 +3086,6 @@
#define VK_KHR_SURFACE_REVISION 23
#define VK_KHR_SURFACE_EXTENSION_NUMBER 1
#define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface"
-#define VK_ERROR_SURFACE_LOST_KHR ((VkResult)(int)0xc0000400)
typedef enum VkSurfaceTransformKHR {
@@ -3192,11 +3206,6 @@
#define VK_KHR_SWAPCHAIN_REVISION 66
#define VK_KHR_SWAPCHAIN_EXTENSION_NUMBER 2
#define VK_KHR_SWAPCHAIN_EXTENSION_NAME "VK_KHR_swapchain"
-#define VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR ((VkStructureType)(int)0xc0000800)
-#define VK_STRUCTURE_TYPE_PRESENT_INFO_KHR ((VkStructureType)(int)0xc0000801)
-#define VK_IMAGE_LAYOUT_PRESENT_SRC_KHR ((VkImageLayout)(int)0xc0000802)
-#define VK_SUBOPTIMAL_KHR ((VkResult)(int)0x40000403)
-#define VK_ERROR_OUT_OF_DATE_KHR ((VkResult)(int)0xc0000804)
typedef struct VkSwapchainCreateInfoKHR {
VkStructureType sType;
@@ -3274,8 +3283,6 @@
#define VK_KHR_DISPLAY_REVISION 19
#define VK_KHR_DISPLAY_EXTENSION_NUMBER 3
#define VK_KHR_DISPLAY_EXTENSION_NAME "VK_KHR_display"
-#define VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR ((VkStructureType)(int)0xc0000c00)
-#define VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR ((VkStructureType)(int)0xc0000c01)
typedef enum VkDisplayPlaneAlphaFlagBitsKHR {
@@ -3395,9 +3402,6 @@
#define VK_KHR_DISPLAY_SWAPCHAIN_REVISION 8
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NUMBER 4
#define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain"
-#define VK_STRUCTURE_TYPE_DISPLAY_SWAPCHAIN_CREATE_INFO_KHR ((VkStructureType)(int)0xc0001000)
-#define VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR ((VkStructureType)(int)0xc0001001)
-#define VK_ERROR_INCOMPATIBLE_DISPLAY_KHR ((VkResult)(int)0xc0001002)
typedef struct VkDisplaySwapchainCreateInfoKHR {
VkStructureType sType;
@@ -3528,8 +3532,6 @@
#define VK_KHR_ANDROID_SURFACE_REVISION 3
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NUMBER 9
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
-#define VK_ERROR_INVALID_ANDROID_WINDOW_KHR ((VkResult)(int)0xc0002400)
-#define VK_ERROR_ANDROID_WINDOW_IN_USE_KHR ((VkResult)(int)0xc0002401)
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, ANativeWindow* window, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
diff --git a/vulkan/libvulkan/Android.mk b/vulkan/libvulkan/Android.mk
index 7a2eb64..2f809c2 100644
--- a/vulkan/libvulkan/Android.mk
+++ b/vulkan/libvulkan/Android.mk
@@ -25,6 +25,10 @@
-Wno-c99-extensions \
-Wno-zero-length-array
+# TODO(jessehall): Very temporary, until VkResult values are defined as signed integers
+# rather than unsigned hex values.
+LOCAL_CFLAGS += -Wno-error=format
+
LOCAL_C_INCLUDES := \
frameworks/native/vulkan/include \
system/core/libsync/include
diff --git a/vulkan/libvulkan/swapchain.cpp b/vulkan/libvulkan/swapchain.cpp
index ee15878..ff02b35 100644
--- a/vulkan/libvulkan/swapchain.cpp
+++ b/vulkan/libvulkan/swapchain.cpp
@@ -569,10 +569,7 @@
if (idx == swapchain.num_images) {
ALOGE("dequeueBuffer returned unrecognized buffer");
window->cancelBuffer(window, buffer, fence);
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wold-style-cast"
return VK_ERROR_OUT_OF_DATE_KHR;
-#pragma clang diagnostic pop
}
int fence_clone = -1;
@@ -616,13 +613,9 @@
VKAPI_ATTR
VkResult QueuePresentKHR(VkQueue queue, VkPresentInfoKHR* present_info) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wold-style-cast"
-#pragma clang diagnostic ignored "-Wsign-conversion"
ALOGV_IF(present_info->sType != VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
"vkQueuePresentKHR: invalid VkPresentInfoKHR structure type %d",
present_info->sType);
-#pragma clang diagnostic pop
ALOGV_IF(present_info->pNext, "VkPresentInfo::pNext != NULL");
const DeviceVtbl& driver_vtbl = GetDriverVtbl(queue);
diff --git a/vulkan/tools/Android.mk b/vulkan/tools/Android.mk
index 31d6089..2c2309f 100644
--- a/vulkan/tools/Android.mk
+++ b/vulkan/tools/Android.mk
@@ -23,6 +23,10 @@
-Wno-c++98-compat-pedantic \
-Wno-c99-extensions
+# TODO(jessehall): Very temporary, until VkResult values are defined as signed integers
+# rather than unsigned hex values.
+LOCAL_CFLAGS += -Wno-error=format
+
LOCAL_C_INCLUDES := \
frameworks/native/vulkan/include