vulkan: Update from version 0.192.0 to 0.193.0
Change-Id: I4387b28368c38c5165c1da99d8dc4e632ad2b42a
(cherry picked from commit d0534c33c98e8f0c844b37df7c764c9dbd6bbaa3)
diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api
index d2a15b5..bd3049c 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 192
+define VERSION_MINOR 193
define VERSION_PATCH 0
// API limits
@@ -726,7 +726,7 @@
VK_QUEUE_GRAPHICS_BIT = 0x00000001, /// Queue supports graphics operations
VK_QUEUE_COMPUTE_BIT = 0x00000002, /// Queue supports compute operations
VK_QUEUE_DMA_BIT = 0x00000004, /// Queue supports DMA operations
- VK_QUEUE_SPARSE_MEMMGR_BIT = 0x00000008, /// Queue supports sparse resource memory management operations
+ VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, /// Queue supports sparse resource memory management operations
}
/// Memory properties passed into vkAllocMemory().
@@ -840,12 +840,10 @@
VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT = 0x00000010, /// Allows creating image views with cube type from the created image
}
-/// Framebuffer attachment view creation flags
+/// Image view creation flags
type VkFlags VkImageViewCreateFlags
-bitfield VkImageViewCreateFlagBits {
- VK_IMAGE_VIEW_CREATE_READ_ONLY_DEPTH_BIT = 0x00000001,
- VK_IMAGE_VIEW_CREATE_READ_ONLY_STENCIL_BIT = 0x00000002,
-}
+//bitfield VkImageViewCreateFlagBits {
+//}
/// Pipeline creation flags
type VkFlags VkPipelineCreateFlags
@@ -970,9 +968,9 @@
/// Sparse image memory requirements flags
type VkFlags VkSparseImageFormatFlags
bitfield VkSparseImageFormatFlagBits {
- VK_SPARSE_IMAGE_FMT_SINGLE_MIPTAIL_BIT = 0x00000001, /// Image uses a single miptail region for all array slices
- VK_SPARSE_IMAGE_FMT_ALIGNED_MIP_SIZE_BIT = 0x00000002, /// Image requires mip levels to be an exact multiple of the sparse iamge block size for non-mip-tail levels.
- VK_SPARSE_IMAGE_FMT_NONSTD_BLOCK_SIZE_BIT = 0x00000004, /// Image uses a non-standard sparse block size
+ VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT = 0x00000001, /// Image uses a single miptail region for all array slices
+ VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT = 0x00000002, /// Image requires mip levels to be an exact multiple of the sparse iamge block size for non-mip-tail levels.
+ VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = 0x00000004, /// Image uses a non-standard sparse block size
}
/// Pipeline stages
@@ -1363,7 +1361,7 @@
}
class VkSparseImageMemoryRequirements {
- VkSparseImageFormatProperties formatProps
+ VkSparseImageFormatProperties formatProperties
u32 imageMipTailStartLOD
VkDeviceSize imageMipTailSize /// Specified in bytes, must be a multiple of image block size / alignment
VkDeviceSize imageMipTailOffset /// Specified in bytes, must be a multiple of image block size / alignment
@@ -1545,14 +1543,14 @@
class VkBufferCopy {
VkDeviceSize srcOffset /// Specified in bytes
VkDeviceSize destOffset /// Specified in bytes
- VkDeviceSize copySize /// Specified in bytes
+ VkDeviceSize size /// Specified in bytes
}
class VkSparseMemoryBind {
- VkDeviceSize rangeOffset /// Specified in bytes
- VkDeviceSize rangeSize /// Specified in bytes
- VkDeviceSize memOffset /// Specified in bytes
+ VkDeviceSize resourceOffset /// Specified in bytes
+ VkDeviceSize size /// Specified in bytes
VkDeviceMemory mem
+ VkDeviceSize memOffset /// Specified in bytes
VkSparseMemoryBindFlags flags
}
@@ -1560,8 +1558,8 @@
VkImageSubresource subresource
VkOffset3D offset
VkExtent3D extent
- VkDeviceSize memOffset /// Specified in bytes
VkDeviceMemory mem
+ VkDeviceSize memOffset /// Specified in bytes
VkSparseMemoryBindFlags flags
}
@@ -1695,13 +1693,13 @@
class VkSpecializationMapEntry {
u32 constantId /// The SpecConstant ID specified in the BIL
- platform.size_t size /// Size in bytes of the SpecConstant
u32 offset /// Offset of the value in the data block
+ platform.size_t size /// Size in bytes of the SpecConstant
}
class VkSpecializationInfo {
u32 mapEntryCount /// Number of entries in the map
- const VkSpecializationMapEntry* pMap /// Array of map entries
+ const VkSpecializationMapEntry* pMapEntries /// Array of map entries
platform.size_t dataSize /// Size in bytes of pData
const void* pData /// Pointer to SpecConstant data
}
@@ -1725,16 +1723,16 @@
}
class VkVertexInputBindingDescription {
- u32 binding /// Vertex buffer binding id
- u32 strideInBytes /// Distance between vertices in bytes (0 = no advancement)
- VkVertexInputStepRate stepRate /// Rate at which binding is incremented
+ u32 binding /// Vertex buffer binding id
+ u32 stride /// Distance between vertices in bytes (0 = no advancement)
+ VkVertexInputStepRate stepRate /// Rate at which binding is incremented
}
class VkVertexInputAttributeDescription {
- u32 location /// location of the shader vertex attrib
- u32 binding /// Vertex buffer binding id
- VkFormat format /// format of source data
- u32 offsetInBytes /// Offset of first element in bytes from base of vertex
+ u32 location /// location of the shader vertex attrib
+ u32 binding /// Vertex buffer binding id
+ VkFormat format /// format of source data
+ u32 offset /// Offset of first element in bytes from base of vertex
}
class VkPipelineVertexInputStateCreateInfo {
@@ -1819,7 +1817,7 @@
VkLogicOp logicOp
u32 attachmentCount /// # of pAttachments
const VkPipelineColorBlendAttachmentState* pAttachments
- f32[4] blendConst
+ f32[4] blendConstants
}
class VkStencilOpState {
@@ -1878,12 +1876,12 @@
}
class VkPipelineCacheCreateInfo {
- VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO
- const void* pNext /// Pointer to next structure
+ VkStructureType sType /// Must be VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO
+ const void* pNext /// Pointer to next structure
VkPipelineCacheCreateFlags flags
- platform.size_t initialSize /// Size of initial data to populate cache, in bytes
- const void* initialData /// Initial data to populate cache
- platform.size_t maxSize /// Maximum size cache can grow to, in bytes. If zero, then the cache may grow without bound.
+ platform.size_t initialDataSize /// Size of initial data to populate cache, in bytes
+ const void* pInitialData /// Initial data to populate cache
+ platform.size_t maxSize /// Maximum size cache can grow to, in bytes. If zero, then the cache may grow without bound.
}
class VkPushConstantRange {
@@ -2113,7 +2111,7 @@
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 maxTexelBufferSize /// max texel buffer size (bytes)
+ 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)
@@ -2229,7 +2227,7 @@
class VkPhysicalDeviceSparseProperties {
VkBool32 residencyStandard2DBlockShape /// Sparse resources support: GPU will access all 2D (single sample) sparse resources using the standard block shapes (based on pixel format)
- VkBool32 residencyStandard2DMSBlockShape /// Sparse resources support: GPU will access all 2D (multisample) sparse resources using the standard block shapes (based on pixel format)
+ VkBool32 residencyStandard2DMultisampleBlockShape /// Sparse resources support: GPU will access all 2D (multisample) sparse resources using the standard block shapes (based on pixel format)
VkBool32 residencyStandard3DBlockShape /// Sparse resources support: GPU will access all 3D sparse resources using the standard block shapes (based on pixel format)
VkBool32 residencyAlignedMipSize /// Sparse resources support: Images with mip-level dimensions that are NOT a multiple of the block size will be placed in the mip tail
VkBool32 residencyNonResident /// Sparse resources support: GPU can safely access non-resident regions of a resource, read values from read-write resources are undefined
@@ -2284,8 +2282,8 @@
u32 z
}
-@extension("VK_EXT_KHR_swapchain")
-class VkSurfacePropertiesKHR {
+@extension("VK_EXT_KHR_surface")
+class VkSurfaceCapabilitiesKHR {
u32 minImageCount
u32 maxImageCount
VkExtent2D currentExtent
@@ -2298,7 +2296,7 @@
VkImageUsageFlags supportedUsageFlags
}
-@extension("VK_EXT_KHR_swapchain")
+@extension("VK_EXT_KHR_surface")
class VkSurfaceFormatKHR {
VkFormat format
VkColorSpaceKHR colorSpace
@@ -2329,6 +2327,8 @@
class VkPresentInfoKHR {
VkStructureType sType
const void* pNext
+ u32 waitSemaphoreCount
+ const VkSemaphore* pWaitSemaphores
u32 swapchainCount
const VkSwapchainKHR* pSwapchains
const u32* imageIndices
@@ -2727,7 +2727,7 @@
cmd VkResult vkQueueSubmit(
VkQueue queue,
u32 submitCount,
- const VkSubmitInfo* pSubmitInfo,
+ const VkSubmitInfo* pSubmits,
VkFence fence) {
queueObject := GetQueue(queue)
@@ -3709,21 +3709,21 @@
cmd void vkUpdateDescriptorSets(
VkDevice device,
- u32 writeCount,
+ u32 descriptorWriteCount,
const VkWriteDescriptorSet* pDescriptorWrites,
- u32 copyCount,
+ u32 descriptorCopyCount,
const VkCopyDescriptorSet* pDescriptorCopies) {
deviceObject := GetDevice(device)
- descriptorWrites := pDescriptorWrites[0:writeCount]
- for i in (0 .. writeCount) {
+ descriptorWrites := pDescriptorWrites[0:descriptorWriteCount]
+ for i in (0 .. descriptorWriteCount) {
descriptorWrite := descriptorWrites[i]
descriptorWriteObject := GetDescriptorSet(descriptorWrite.destSet)
assert(descriptorWriteObject.device == device)
}
- descriptorCopies := pDescriptorCopies[0:copyCount]
- for i in (0 .. copyCount) {
+ descriptorCopies := pDescriptorCopies[0:descriptorCopyCount]
+ for i in (0 .. descriptorCopyCount) {
descriptorCopy := descriptorCopies[i]
descriptorCopyObject := GetDescriptorSet(descriptorCopy.destSet)
assert(descriptorCopyObject.device == device)
@@ -3987,7 +3987,7 @@
// TODO(jessehall): apic only supports 'const' on pointer types. Using
// an annotation as a quick hack to pass this to the template without
// having to modify the AST and semantic model.
- @readonly f32[4] blendConst) {
+ @readonly f32[4] blendConstants) {
cmdBufferObject := GetCmdBuffer(cmdBuffer)
cmdBufferObject.queueFlags = AddQueueFlag(cmdBufferObject.queueFlags, VK_QUEUE_GRAPHICS_BIT)
}
@@ -4330,7 +4330,7 @@
VkCmdBuffer cmdBuffer,
VkBuffer destBuffer,
VkDeviceSize destOffset,
- VkDeviceSize fillSize,
+ VkDeviceSize size,
u32 data) {
cmdBufferObject := GetCmdBuffer(cmdBuffer)
destBufferObject := GetBuffer(destBuffer)
@@ -4643,34 +4643,33 @@
cmd VkResult vkGetPhysicalDeviceSurfaceSupportKHR(
VkPhysicalDevice physicalDevice,
u32 queueFamilyIndex,
- VkSurfaceKHR surface) {
- physicalDeviceObject := GetPhysicalDevice(physicalDevice)
-
- //supported := ?
-
- return ?//supported
-}
-
-@extension("VK_EXT_KHR_swapchain")
-cmd VkResult vkGetSurfacePropertiesKHR(
- VkDevice device,
VkSurfaceKHR surface,
- VkSurfacePropertiesKHR* pSurfaceProperties) {
- deviceObject := GetDevice(device)
-
- surfaceProperties := ?
- pSurfaceProperties[0] = surfaceProperties
+ VkBool32* pSupported) {
+ physicalDeviceObject := GetPhysicalDevice(physicalDevice)
return ?
}
-@extension("VK_EXT_KHR_swapchain")
-cmd VkResult vkGetSurfaceFormatsKHR(
- VkDevice device,
+@extension("VK_EXT_KHR_surface")
+cmd VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
+ VkPhysicalDevice physicalDevice,
+ VkSurfaceKHR surface,
+ VkSurfaceCapabilitiesKHR* pSurfaceCapabilities) {
+ physicalDeviceObject := GetPhysicalDevice(physicalDevice)
+
+ surfaceCapabilities := ?
+ pSurfaceCapabilities[0] = surfaceCapabilities
+
+ return ?
+}
+
+@extension("VK_EXT_KHR_surface")
+cmd VkResult vkGetPhysicalDeviceSurfaceFormatsKHR(
+ VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
u32* pSurfaceFormatCount,
VkSurfaceFormatKHR* pSurfaceFormats) {
- deviceObject := GetDevice(device)
+ physicalDeviceObject := GetPhysicalDevice(physicalDevice)
count := as!u32(?)
pSurfaceFormatCount[0] = count
@@ -4684,13 +4683,13 @@
return ?
}
-@extension("VK_EXT_KHR_swapchain")
-cmd VkResult vkGetSurfacePresentModesKHR(
- VkDevice device,
+@extension("VK_EXT_KHR_surface")
+cmd VkResult vkGetPhysicalDeviceSurfacePresentModesKHR(
+ VkPhysicalDevice physicalDevice,
VkSurfaceKHR surface,
u32* pPresentModeCount,
VkPresentModeKHR* pPresentModes) {
- deviceObject := GetDevice(device)
+ physicalDeviceObject := GetPhysicalDevice(physicalDevice)
count := as!u32(?)
pPresentModeCount[0] = count