vulkan: Update from version 0.200.0 to 0.202.0

Change-Id: If8eb49cd7e5516931f9900b691d6d32af2aa98b0
(cherry picked from commit 5b9c3a1af7088351d49431a496ef9f7fd078e9f6)
diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api
index 0296b0f..89ed617 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 200
+define VERSION_MINOR 202
 define VERSION_PATCH 0
 
 // API limits
@@ -243,7 +243,7 @@
     VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY         = 0x00000007,
     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY      = 0x00000008,
     VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY     = 0x00000009,
-    VK_PRIMITIVE_TOPOLOGY_PATCH                             = 0x0000000a,
+    VK_PRIMITIVE_TOPOLOGY_PATCH_LIST                        = 0x0000000a,
 }
 
 enum VkSharingMode {
@@ -628,7 +628,7 @@
     VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS           = 0x00000001,
 }
 
-@lastUnused(-8)
+@lastUnused(-10)
 /// Error and return codes
 enum VkResult {
     // Return codes for successful operation execution (positive values)
@@ -652,6 +652,7 @@
     VK_ERROR_EXTENSION_NOT_PRESENT                          = 0xFFFFFFF9,
     VK_ERROR_FEATURE_NOT_PRESENT                            = 0xFFFFFFF8,
     VK_ERROR_INCOMPATIBLE_DRIVER                            = 0xFFFFFFF7,
+    VK_ERROR_TOO_MANY_OBJECTS                               = 0xFFFFFFF6,
 
     //@extension("VK_KHR_surface")
     VK_ERROR_SURFACE_LOST_KHR                               = 0xC0000400,
@@ -942,8 +943,9 @@
 
 /// Sparse memory bind flags
 type VkFlags VkSparseMemoryBindFlags
-//bitfield VkSparseMemoryBindFlagBits {
-//}
+bitfield VkSparseMemoryBindFlagBits {
+    VK_SPARSE_MEMORY_BIND_METADATA_BIT                      = 0x00000001,
+}
 
 /// Sparse image memory requirements flags
 type VkFlags VkSparseImageFormatFlags
@@ -971,8 +973,8 @@
     VK_PIPELINE_STAGE_TRANSFER_BIT                          = 0x00001000,  /// Transfer/copy operations
     VK_PIPELINE_STAGE_HOST_BIT                              = 0x00002000,  /// Indicates host (CPU) is a source/sink of the dependency
 
-    VK_PIPELINE_STAGE_ALL_GRAPHICS                          = 0x000007FF,  /// All stages of the graphics pipeline
-    VK_PIPELINE_STAGE_ALL_GPU_COMMANDS                      = 0x00001FFF,  /// All graphics, compute, copy, and transition commands
+    VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT                      = 0x00004000,  /// All stages of the graphics pipeline
+    VK_PIPELINE_STAGE_ALL_COMMANDS_BIT                      = 0x00008000,  /// All graphics, compute, copy, and transition commands
 }
 
 /// Render pass attachment description flags
@@ -1504,7 +1506,7 @@
     VkExtent3D                                  extent
     u32                                         mipLevels
     u32                                         arrayLayers
-    u32                                         samples
+    VkSampleCountFlagBits                       samples
     VkImageTiling                               tiling
     VkImageUsageFlags                           usage                      /// Image usage flags
     VkSharingMode                               sharingMode                /// Cross-queue-family sharing mode
@@ -1637,6 +1639,7 @@
 }
 
 class VkDescriptorSetLayoutBinding {
+    u32                                         binding
     VkDescriptorType                            descriptorType     /// Type of the descriptors in this binding
     u32                                         arraySize          /// Number of descriptors in this binding
     VkShaderStageFlags                          stageFlags         /// Shader stages this binding is visible to
@@ -1774,7 +1777,7 @@
     VkStructureType                             sType      /// Must be VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO
     const void*                                 pNext      /// Pointer to next structure
     VkPipelineMultisampleStateCreateFlags       flags
-    u32                                         rasterizationSamples       /// Number of samples used for rasterization
+    VkSampleCountFlagBits                       rasterizationSamples       /// Number of samples used for rasterization
     VkBool32                                    sampleShadingEnable        /// optional (GL45)
     f32                                         minSampleShading           /// optional (GL45)
     const VkSampleMask*                         pSampleMask
@@ -1966,7 +1969,7 @@
 class VkAttachmentDescription {
     VkAttachmentDescriptionFlags                flags
     VkFormat                                    format
-    u32                                         samples
+    VkSampleCountFlagBits                       samples
     VkAttachmentLoadOp                          loadOp          /// Load op for color or depth data
     VkAttachmentStoreOp                         storeOp         /// Store op for color or depth data
     VkAttachmentLoadOp                          stencilLoadOp   /// Load op for stencil data
@@ -2090,13 +2093,13 @@
     u32                                         maxImageDimension3D                       /// max 3D image dimension
     u32                                         maxImageDimensionCube                     /// max cubemap image dimension
     u32                                         maxImageArrayLayers                       /// max layers for image arrays
-    VkSampleCountFlags                          sampleCounts                              /// sample counts supported for all images supporting rendering and sampling
     u32                                         maxTexelBufferElements
     u32                                         maxUniformBufferRange                     /// max uniform buffer size (bytes)
     u32                                         maxStorageBufferRange                     /// max storage buffer size (bytes)
     u32                                         maxPushConstantsSize                      /// max size of the push constants pool (bytes)
     /// memory limits
     u32                                         maxMemoryAllocationCount                  /// max number of device memory allocations supported
+    u32                                         maxSamplerAllocationCount
     VkDeviceSize                                bufferImageGranularity                    /// Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage
     VkDeviceSize                                sparseAddressSpaceSize                    /// Total address space available for sparse allocations (bytes)
     /// descriptor set limits
@@ -2176,16 +2179,17 @@
     u32                                         maxFramebufferWidth                       /// max width for a framebuffer
     u32                                         maxFramebufferHeight                      /// max height for a framebuffer
     u32                                         maxFramebufferLayers                      /// max layer count for a layered framebuffer
-    u32                                         maxFramebufferColorSamples                /// max color sample count for a framebuffer
-    u32                                         maxFramebufferDepthSamples                /// max depth sample count for a framebuffer
-    u32                                         maxFramebufferStencilSamples              /// max stencil sample count for a framebuffer
+    VkSampleCountFlags                          framebufferColorSampleCounts
+    VkSampleCountFlags                          framebufferDepthSampleCounts
+    VkSampleCountFlags                          framebufferStencilSampleCounts
+    VkSampleCountFlags                          framebufferNoAttachmentSampleCounts
     u32                                         maxColorAttachments                       /// max num of framebuffer color attachments
 
-    u32                                         maxSampledImageColorSamples               /// max num of color samples for a non-integer sampled image
-    u32                                         maxSampledImageDepthSamples               /// max num of depth samples for a sampled image
-    u32                                         maxSampledImageStencilSamples             /// max num of stencil samples for a sampled image
-    u32                                         maxSampledImageIntegerSamples             /// max num of samples supported for an integer image
-    u32                                         maxStorageImageSamples                    /// max num of samples for a storage image
+    VkSampleCountFlags                          sampledImageColorSampleCounts
+    VkSampleCountFlags                          sampledImageIntegerSampleCounts
+    VkSampleCountFlags                          sampledImageDepthSampleCounts
+    VkSampleCountFlags                          sampledImageStencilSampleCounts
+    VkSampleCountFlags                          storageImageSampleCounts
     u32                                         maxSampleMaskWords                        /// max num of sample mask words
 
     f32                                         timestampPeriod
@@ -2201,6 +2205,7 @@
     f32                                         pointSizeGranularity                      /// granularity of supported point sizes
     f32                                         lineWidthGranularity                      /// granularity of supported line widths
     VkBool32                                    strictLines
+    VkBool32                                    standardSampleLocations
 
     VkDeviceSize                                optimalBufferCopyOffsetAlignment
     VkDeviceSize                                optimalBufferCopyRowPitchAlignment
@@ -2948,7 +2953,7 @@
         VkPhysicalDevice                            physicalDevice,
         VkFormat                                    format,
         VkImageType                                 type,
-        u32                                         samples,
+        VkSampleCountFlagBits                       samples,
         VkImageUsageFlags                           usage,
         VkImageTiling                               tiling,
         u32*                                        pPropertyCount,