vulkan: Update from version 0.190.0 to 0.192.0
Change-Id: I5d38543a4ae1c522cacb45a3c011ceab62d2e1d5
(cherry picked from commit c10af6dde1e91deb70ef055838f1b51240fc66f2)
diff --git a/vulkan/api/vulkan.api b/vulkan/api/vulkan.api
index 0c6a3cc..d2a15b5 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 190
+define VERSION_MINOR 192
define VERSION_PATCH 0
// API limits
@@ -1149,6 +1149,12 @@
//bitfield VkFramebufferCreateFlagBits {
//}
+/// Dependency flags
+type VkFlags VkDependencyFlags
+bitfield VkDependencyFlagBits {
+ VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
+}
+
@extension("VK_EXT_KHR_swapchain")
type VkFlags VkSurfaceTransformFlagsKHR
@extension("VK_EXT_KHR_swapchain")
@@ -2019,7 +2025,7 @@
VkPipelineStageFlags destStageMask
VkMemoryOutputFlags outputMask
VkMemoryInputFlags inputMask
- VkBool32 byRegion
+ VkDependencyFlags dependencyFlags
}
class VkRenderPassCreateInfo {
@@ -2071,12 +2077,9 @@
VkBool32 textureCompressionBC /// BC1-7 texture compressed formats
VkBool32 occlusionQueryNonConservative /// non-conservative (exact) occlusion queries
VkBool32 pipelineStatisticsQuery /// pipeline statistics query
- VkBool32 vertexSideEffects /// storage buffers and images in vertex stage
- VkBool32 tessellationSideEffects /// storage buffers and images in tessellation stage
- VkBool32 geometrySideEffects /// storage buffers and images in geometry stage
- VkBool32 fragmentSideEffects /// storage buffers and images in fragment stage
- VkBool32 shaderTessellationPointSize /// tessellation stage can export point size
- VkBool32 shaderGeometryPointSize /// geometry stage can export point size
+ VkBool32 vertexPipelineStoresAndAtomics
+ VkBool32 fragmentStoresAndAtomics
+ VkBool32 shaderTessellationAndGeometryPointSize
VkBool32 shaderImageGatherExtended /// texture gather with run-time values and independent offsets
VkBool32 shaderStorageImageExtendedFormats /// the extended set of formats can be used for storage images
VkBool32 shaderStorageImageMultisample /// multisample images can be used for storage images
@@ -2179,10 +2182,10 @@
f32[2] viewportBoundsRange /// viewport bounds range (min,max)
u32 viewportSubPixelBits /// num bits of subpixel precision for viewport
- u32 minMemoryMapAlignment /// min required alignment of pointers returned by MapMemory (bytes)
- u32 minTexelBufferOffsetAlignment /// min required alignment for texel buffer offsets (bytes)
- u32 minUniformBufferOffsetAlignment /// min required alignment for uniform buffer sizes and offsets (bytes)
- u32 minStorageBufferOffsetAlignment /// min required alignment for storage buffer offsets (bytes)
+ platform.size_t minMemoryMapAlignment /// min required alignment of pointers returned by MapMemory (bytes)
+ VkDeviceSize minTexelBufferOffsetAlignment /// min required alignment for texel buffer offsets (bytes)
+ VkDeviceSize minUniformBufferOffsetAlignment /// min required alignment for uniform buffer sizes and offsets (bytes)
+ VkDeviceSize minStorageBufferOffsetAlignment /// min required alignment for storage buffer offsets (bytes)
s32 minTexelOffset /// min texel offset for OpTextureSampleOffset
u32 maxTexelOffset /// max texel offset for OpTextureSampleOffset
@@ -2220,8 +2223,8 @@
f32 lineWidthGranularity /// granularity of supported line widths
VkBool32 strictLines
- u32 recommendedBufferCopyOffsetAlignment
- u32 recommendedBufferCopyRowPitchAlignment
+ VkDeviceSize recommendedBufferCopyOffsetAlignment
+ VkDeviceSize recommendedBufferCopyRowPitchAlignment
}
class VkPhysicalDeviceSparseProperties {
@@ -4486,7 +4489,7 @@
VkCmdBuffer cmdBuffer,
VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags destStageMask,
- VkBool32 byRegion,
+ VkDependencyFlags dependencyFlags,
u32 memBarrierCount,
const void* const* ppMemBarriers) {
cmdBufferObject := GetCmdBuffer(cmdBuffer)
diff --git a/vulkan/include/vulkan/vulkan.h b/vulkan/include/vulkan/vulkan.h
index dcc5301..fd09209 100644
--- a/vulkan/include/vulkan/vulkan.h
+++ b/vulkan/include/vulkan/vulkan.h
@@ -1,5 +1,5 @@
-#ifndef __vulkanext_h_
-#define __vulkanext_h_ 1
+#ifndef __vulkan_h_
+#define __vulkan_h_ 1
#ifdef __cplusplus
extern "C" {
@@ -41,7 +41,7 @@
((major << 22) | (minor << 12) | patch)
// Vulkan API version supported by this file
-#define VK_API_VERSION VK_MAKE_VERSION(0, 190, 0)
+#define VK_API_VERSION VK_MAKE_VERSION(0, 192, 0)
#define VK_NULL_HANDLE 0
@@ -1018,6 +1018,11 @@
typedef VkFlags VkMemoryInputFlags;
typedef enum {
+ VK_DEPENDENCY_BY_REGION_BIT = 0x00000001,
+} VkDependencyFlagBits;
+typedef VkFlags VkDependencyFlags;
+
+typedef enum {
VK_CMD_POOL_CREATE_TRANSIENT_BIT = 0x00000001,
VK_CMD_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002,
} VkCmdPoolCreateFlagBits;
@@ -1138,12 +1143,9 @@
VkBool32 textureCompressionBC;
VkBool32 occlusionQueryNonConservative;
VkBool32 pipelineStatisticsQuery;
- VkBool32 vertexSideEffects;
- VkBool32 tessellationSideEffects;
- VkBool32 geometrySideEffects;
- VkBool32 fragmentSideEffects;
- VkBool32 shaderTessellationPointSize;
- VkBool32 shaderGeometryPointSize;
+ VkBool32 vertexPipelineStoresAndAtomics;
+ VkBool32 fragmentStoresAndAtomics;
+ VkBool32 shaderTessellationAndGeometryPointSize;
VkBool32 shaderImageGatherExtended;
VkBool32 shaderStorageImageExtendedFormats;
VkBool32 shaderStorageImageMultisample;
@@ -1253,10 +1255,10 @@
uint32_t maxViewportDimensions[2];
float viewportBoundsRange[2];
uint32_t viewportSubPixelBits;
- uint32_t minMemoryMapAlignment;
- uint32_t minTexelBufferOffsetAlignment;
- uint32_t minUniformBufferOffsetAlignment;
- uint32_t minStorageBufferOffsetAlignment;
+ size_t minMemoryMapAlignment;
+ VkDeviceSize minTexelBufferOffsetAlignment;
+ VkDeviceSize minUniformBufferOffsetAlignment;
+ VkDeviceSize minStorageBufferOffsetAlignment;
int32_t minTexelOffset;
uint32_t maxTexelOffset;
int32_t minTexelGatherOffset;
@@ -1286,8 +1288,8 @@
float pointSizeGranularity;
float lineWidthGranularity;
VkBool32 strictLines;
- uint32_t recommendedBufferCopyOffsetAlignment;
- uint32_t recommendedBufferCopyRowPitchAlignment;
+ VkDeviceSize recommendedBufferCopyOffsetAlignment;
+ VkDeviceSize recommendedBufferCopyRowPitchAlignment;
} VkPhysicalDeviceLimits;
typedef struct {
@@ -1974,7 +1976,7 @@
VkPipelineStageFlags destStageMask;
VkMemoryOutputFlags outputMask;
VkMemoryInputFlags inputMask;
- VkBool32 byRegion;
+ VkDependencyFlags dependencyFlags;
} VkSubpassDependency;
typedef struct {
@@ -2280,7 +2282,7 @@
typedef void (VKAPI *PFN_vkCmdSetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask);
typedef void (VKAPI *PFN_vkCmdResetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask);
typedef void (VKAPI *PFN_vkCmdWaitEvents)(VkCmdBuffer cmdBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, uint32_t memBarrierCount, const void* const* ppMemBarriers);
-typedef void (VKAPI *PFN_vkCmdPipelineBarrier)(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkBool32 byRegion, uint32_t memBarrierCount, const void* const* ppMemBarriers);
+typedef void (VKAPI *PFN_vkCmdPipelineBarrier)(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkDependencyFlags dependencyFlags, uint32_t memBarrierCount, const void* const* ppMemBarriers);
typedef void (VKAPI *PFN_vkCmdBeginQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot, VkQueryControlFlags flags);
typedef void (VKAPI *PFN_vkCmdEndQuery)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot);
typedef void (VKAPI *PFN_vkCmdResetQueryPool)(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount);
@@ -3029,7 +3031,7 @@
VkCmdBuffer cmdBuffer,
VkPipelineStageFlags srcStageMask,
VkPipelineStageFlags destStageMask,
- VkBool32 byRegion,
+ VkDependencyFlags dependencyFlags,
uint32_t memBarrierCount,
const void* const* ppMemBarriers);
diff --git a/vulkan/libvulkan/entry.cpp b/vulkan/libvulkan/entry.cpp
index 1360862..9198f64 100644
--- a/vulkan/libvulkan/entry.cpp
+++ b/vulkan/libvulkan/entry.cpp
@@ -682,8 +682,8 @@
}
__attribute__((visibility("default")))
-void vkCmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkBool32 byRegion, uint32_t memBarrierCount, const void* const* ppMemBarriers) {
- GetVtbl(cmdBuffer).CmdPipelineBarrier(cmdBuffer, srcStageMask, destStageMask, byRegion, memBarrierCount, ppMemBarriers);
+void vkCmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkDependencyFlags dependencyFlags, uint32_t memBarrierCount, const void* const* ppMemBarriers) {
+ GetVtbl(cmdBuffer).CmdPipelineBarrier(cmdBuffer, srcStageMask, destStageMask, dependencyFlags, memBarrierCount, ppMemBarriers);
}
__attribute__((visibility("default")))
diff --git a/vulkan/nulldrv/null_driver.cpp b/vulkan/nulldrv/null_driver.cpp
index d6a879e..698dbd0 100644
--- a/vulkan/nulldrv/null_driver.cpp
+++ b/vulkan/nulldrv/null_driver.cpp
@@ -1050,7 +1050,7 @@
void CmdWaitEvents(VkCmdBuffer cmdBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, uint32_t memBarrierCount, const void* const* ppMemBarriers) {
}
-void CmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkBool32 byRegion, uint32_t memBarrierCount, const void* const* ppMemBarriers) {
+void CmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkDependencyFlags dependencyFlags, uint32_t memBarrierCount, const void* const* ppMemBarriers) {
}
void CmdBeginQuery(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot, VkQueryControlFlags flags) {
diff --git a/vulkan/nulldrv/null_driver.h b/vulkan/nulldrv/null_driver.h
index 70283c4..5f3e53e 100644
--- a/vulkan/nulldrv/null_driver.h
+++ b/vulkan/nulldrv/null_driver.h
@@ -154,7 +154,7 @@
void CmdSetEvent(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask);
void CmdResetEvent(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask);
void CmdWaitEvents(VkCmdBuffer cmdBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, uint32_t memBarrierCount, const void* const* ppMemBarriers);
-void CmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkBool32 byRegion, uint32_t memBarrierCount, const void* const* ppMemBarriers);
+void CmdPipelineBarrier(VkCmdBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags destStageMask, VkDependencyFlags dependencyFlags, uint32_t memBarrierCount, const void* const* ppMemBarriers);
void CmdBeginQuery(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot, VkQueryControlFlags flags);
void CmdEndQuery(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t slot);
void CmdResetQueryPool(VkCmdBuffer cmdBuffer, VkQueryPool queryPool, uint32_t startQuery, uint32_t queryCount);