aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/vulkan/vulkan.hpp121
-rw-r--r--include/vulkan/vulkan_core.h36
-rw-r--r--registry/validusage.json464
-rw-r--r--registry/vk.xml39
4 files changed, 351 insertions, 309 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index 1e4cf69..552b9ae 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -70,7 +70,7 @@
#undef MemoryBarrier
#endif
-static_assert( VK_HEADER_VERSION == 81 , "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION == 82 , "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@@ -1320,6 +1320,10 @@ public:
{
return ::vkCmdSetBlendConstants( commandBuffer, blendConstants);
}
+ void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void* pCheckpointMarker ) const
+ {
+ return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker);
+ }
void vkCmdSetDepthBias( VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) const
{
return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
@@ -2156,6 +2160,10 @@ public:
{
return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
}
+ void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData ) const
+ {
+ return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData);
+ }
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay ) const
{
@@ -8783,7 +8791,9 @@ public:
ePhysicalDeviceExternalMemoryHostPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT,
ePhysicalDeviceShaderCorePropertiesAMD = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD,
ePhysicalDeviceVertexAttributeDivisorPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT,
- ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT
+ ePipelineVertexInputDivisorStateCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT,
+ eCheckpointDataNV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV,
+ eQueueFamilyCheckpointPropertiesNV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
};
struct ApplicationInfo
@@ -22512,6 +22522,64 @@ public:
};
};
+ struct QueueFamilyCheckpointPropertiesNV
+ {
+ operator const VkQueueFamilyCheckpointPropertiesNV&() const
+ {
+ return *reinterpret_cast<const VkQueueFamilyCheckpointPropertiesNV*>(this);
+ }
+
+ bool operator==( QueueFamilyCheckpointPropertiesNV const& rhs ) const
+ {
+ return ( sType == rhs.sType )
+ && ( pNext == rhs.pNext )
+ && ( checkpointExecutionStageMask == rhs.checkpointExecutionStageMask );
+ }
+
+ bool operator!=( QueueFamilyCheckpointPropertiesNV const& rhs ) const
+ {
+ return !operator==( rhs );
+ }
+
+ private:
+ StructureType sType = StructureType::eQueueFamilyCheckpointPropertiesNV;
+
+ public:
+ void* pNext = nullptr;
+ PipelineStageFlags checkpointExecutionStageMask;
+ };
+ static_assert( sizeof( QueueFamilyCheckpointPropertiesNV ) == sizeof( VkQueueFamilyCheckpointPropertiesNV ), "struct and wrapper have different size!" );
+
+ struct CheckpointDataNV
+ {
+ operator const VkCheckpointDataNV&() const
+ {
+ return *reinterpret_cast<const VkCheckpointDataNV*>(this);
+ }
+
+ bool operator==( CheckpointDataNV const& rhs ) const
+ {
+ return ( sType == rhs.sType )
+ && ( pNext == rhs.pNext )
+ && ( stage == rhs.stage )
+ && ( pCheckpointMarker == rhs.pCheckpointMarker );
+ }
+
+ bool operator!=( CheckpointDataNV const& rhs ) const
+ {
+ return !operator==( rhs );
+ }
+
+ private:
+ StructureType sType = StructureType::eCheckpointDataNV;
+
+ public:
+ void* pNext = nullptr;
+ PipelineStageFlagBits stage;
+ void* pCheckpointMarker;
+ };
+ static_assert( sizeof( CheckpointDataNV ) == sizeof( VkCheckpointDataNV ), "struct and wrapper have different size!" );
+
enum class CommandPoolCreateFlagBits
{
eTransient = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT,
@@ -32073,6 +32141,9 @@ public:
template<typename Dispatch = DispatchLoaderStatic>
void drawIndexedIndirectCountKHR( Buffer buffer, DeviceSize offset, Buffer countBuffer, DeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride, Dispatch const &d = Dispatch() ) const;
+ template<typename Dispatch = DispatchLoaderStatic>
+ void setCheckpointNV( const void* pCheckpointMarker, Dispatch const &d = Dispatch() ) const;
+
VULKAN_HPP_TYPESAFE_EXPLICIT operator VkCommandBuffer() const
@@ -33109,6 +33180,20 @@ public:
}
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template<typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void* pCheckpointMarker, Dispatch const &d) const
+ {
+ d.vkCmdSetCheckpointNV( m_commandBuffer, pCheckpointMarker );
+ }
+#else
+ template<typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::setCheckpointNV( const void* pCheckpointMarker, Dispatch const &d ) const
+ {
+ d.vkCmdSetCheckpointNV( m_commandBuffer, pCheckpointMarker );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
struct SubmitInfo
{
SubmitInfo( uint32_t waitSemaphoreCount_ = 0,
@@ -33314,6 +33399,13 @@ public:
void insertDebugUtilsLabelEXT( const DebugUtilsLabelEXT & labelInfo, Dispatch const &d = Dispatch() ) const;
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+ template<typename Dispatch = DispatchLoaderStatic>
+ void getCheckpointDataNV( uint32_t* pCheckpointDataCount, CheckpointDataNV* pCheckpointData, Dispatch const &d = Dispatch() ) const;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Allocator = std::allocator<CheckpointDataNV>, typename Dispatch = DispatchLoaderStatic>
+ std::vector<CheckpointDataNV,Allocator> getCheckpointDataNV(Dispatch const &d = Dispatch() ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
VULKAN_HPP_TYPESAFE_EXPLICIT operator VkQueue() const
@@ -33434,6 +33526,24 @@ public:
}
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+ template<typename Dispatch>
+ VULKAN_HPP_INLINE void Queue::getCheckpointDataNV( uint32_t* pCheckpointDataCount, CheckpointDataNV* pCheckpointData, Dispatch const &d) const
+ {
+ d.vkGetQueueCheckpointDataNV( m_queue, pCheckpointDataCount, reinterpret_cast<VkCheckpointDataNV*>( pCheckpointData ) );
+ }
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Allocator, typename Dispatch>
+ VULKAN_HPP_INLINE std::vector<CheckpointDataNV,Allocator> Queue::getCheckpointDataNV(Dispatch const &d ) const
+ {
+ std::vector<CheckpointDataNV,Allocator> checkpointData;
+ uint32_t checkpointDataCount;
+ d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, nullptr );
+ checkpointData.resize( checkpointDataCount );
+ d.vkGetQueueCheckpointDataNV( m_queue, &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV*>( checkpointData.data() ) );
+ return checkpointData;
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
#ifndef VULKAN_HPP_NO_SMART_HANDLE
class Device;
@@ -40964,6 +41074,7 @@ public:
template <> struct isStructureChainValid<RenderPassCreateInfo, RenderPassInputAttachmentAspectCreateInfo>{ enum { value = true }; };
template <> struct isStructureChainValid<BindImageMemoryInfo, BindImagePlaneMemoryInfo>{ enum { value = true }; };
template <> struct isStructureChainValid<ImageMemoryRequirementsInfo2, ImagePlaneMemoryRequirementsInfo>{ enum { value = true }; };
+ template <> struct isStructureChainValid<QueueFamilyProperties2, QueueFamilyCheckpointPropertiesNV>{ enum { value = true }; };
template <> struct isStructureChainValid<ImageMemoryBarrier, SampleLocationsInfoEXT>{ enum { value = true }; };
template <> struct isStructureChainValid<RenderPassBeginInfo, RenderPassSampleLocationsBeginInfoEXT>{ enum { value = true }; };
template <> struct isStructureChainValid<PipelineMultisampleStateCreateInfo, PipelineSampleLocationsStateCreateInfoEXT>{ enum { value = true }; };
@@ -42464,6 +42575,8 @@ public:
case StructureType::ePhysicalDeviceShaderCorePropertiesAMD: return "PhysicalDeviceShaderCorePropertiesAMD";
case StructureType::ePhysicalDeviceVertexAttributeDivisorPropertiesEXT: return "PhysicalDeviceVertexAttributeDivisorPropertiesEXT";
case StructureType::ePipelineVertexInputDivisorStateCreateInfoEXT: return "PipelineVertexInputDivisorStateCreateInfoEXT";
+ case StructureType::eCheckpointDataNV: return "CheckpointDataNV";
+ case StructureType::eQueueFamilyCheckpointPropertiesNV: return "QueueFamilyCheckpointPropertiesNV";
default: return "invalid";
}
}
@@ -44386,6 +44499,7 @@ public:
PFN_vkCmdResetQueryPool vkCmdResetQueryPool = 0;
PFN_vkCmdResolveImage vkCmdResolveImage = 0;
PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants = 0;
+ PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV = 0;
PFN_vkCmdSetDepthBias vkCmdSetDepthBias = 0;
PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds = 0;
PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask = 0;
@@ -44625,6 +44739,7 @@ public:
#endif /*VK_USE_PLATFORM_XLIB_KHR*/
PFN_vkGetPipelineCacheData vkGetPipelineCacheData = 0;
PFN_vkGetQueryPoolResults vkGetQueryPoolResults = 0;
+ PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
#endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
@@ -44759,6 +44874,7 @@ public:
vkCmdResetQueryPool = PFN_vkCmdResetQueryPool(device ? device.getProcAddr( "vkCmdResetQueryPool") : instance.getProcAddr( "vkCmdResetQueryPool"));
vkCmdResolveImage = PFN_vkCmdResolveImage(device ? device.getProcAddr( "vkCmdResolveImage") : instance.getProcAddr( "vkCmdResolveImage"));
vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants(device ? device.getProcAddr( "vkCmdSetBlendConstants") : instance.getProcAddr( "vkCmdSetBlendConstants"));
+ vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV(device ? device.getProcAddr( "vkCmdSetCheckpointNV") : instance.getProcAddr( "vkCmdSetCheckpointNV"));
vkCmdSetDepthBias = PFN_vkCmdSetDepthBias(device ? device.getProcAddr( "vkCmdSetDepthBias") : instance.getProcAddr( "vkCmdSetDepthBias"));
vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds(device ? device.getProcAddr( "vkCmdSetDepthBounds") : instance.getProcAddr( "vkCmdSetDepthBounds"));
vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask(device ? device.getProcAddr( "vkCmdSetDeviceMask") : instance.getProcAddr( "vkCmdSetDeviceMask"));
@@ -44998,6 +45114,7 @@ public:
#endif /*VK_USE_PLATFORM_XLIB_KHR*/
vkGetPipelineCacheData = PFN_vkGetPipelineCacheData(device ? device.getProcAddr( "vkGetPipelineCacheData") : instance.getProcAddr( "vkGetPipelineCacheData"));
vkGetQueryPoolResults = PFN_vkGetQueryPoolResults(device ? device.getProcAddr( "vkGetQueryPoolResults") : instance.getProcAddr( "vkGetQueryPoolResults"));
+ vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV(device ? device.getProcAddr( "vkGetQueueCheckpointDataNV") : instance.getProcAddr( "vkGetQueueCheckpointDataNV"));
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_NV
vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT(device ? device.getProcAddr( "vkGetRandROutputDisplayEXT") : instance.getProcAddr( "vkGetRandROutputDisplayEXT"));
#endif /*VK_USE_PLATFORM_XLIB_XRANDR_NV*/
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 1f231e0..d511015 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
-#define VK_HEADER_VERSION 81
+#define VK_HEADER_VERSION 82
#define VK_NULL_HANDLE 0
@@ -406,6 +406,8 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000,
VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001,
+ VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV = 1000206000,
+ VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV = 1000206001,
VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO_KHR = VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES,
@@ -7760,6 +7762,38 @@ typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
#define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned"
+#define VK_NV_device_diagnostic_checkpoints 1
+#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2
+#define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints"
+
+typedef struct VkQueueFamilyCheckpointPropertiesNV {
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlags checkpointExecutionStageMask;
+} VkQueueFamilyCheckpointPropertiesNV;
+
+typedef struct VkCheckpointDataNV {
+ VkStructureType sType;
+ void* pNext;
+ VkPipelineStageFlagBits stage;
+ void* pCheckpointMarker;
+} VkCheckpointDataNV;
+
+
+typedef void (VKAPI_PTR *PFN_vkCmdSetCheckpointNV)(VkCommandBuffer commandBuffer, const void* pCheckpointMarker);
+typedef void (VKAPI_PTR *PFN_vkGetQueueCheckpointDataNV)(VkQueue queue, uint32_t* pCheckpointDataCount, VkCheckpointDataNV* pCheckpointData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkCmdSetCheckpointNV(
+ VkCommandBuffer commandBuffer,
+ const void* pCheckpointMarker);
+
+VKAPI_ATTR void VKAPI_CALL vkGetQueueCheckpointDataNV(
+ VkQueue queue,
+ uint32_t* pCheckpointDataCount,
+ VkCheckpointDataNV* pCheckpointData);
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/registry/validusage.json b/registry/validusage.json
index 1b0c010..2f93d71 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.1.81",
- "comment": "from git branch: master commit: 6377124f371f9d8b1d9761b1116fac647222a13d",
- "date": "2018-07-23 17:38:42Z"
+ "api version": "1.1.82",
+ "comment": "from git branch: master commit: ff0c2339083b76aba0414afafdb195bba15c78d8",
+ "date": "2018-07-30 16:08:24Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -254,7 +254,7 @@
},
{
"vuid": "VUID-VkQueueFamilyProperties2-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkQueueFamilyCheckpointPropertiesNV\">VkQueueFamilyCheckpointPropertiesNV</a>"
}
]
},
@@ -917,6 +917,10 @@
"text": " Each element of the <code>pCommandBuffers</code> member of each element of <code>pSubmits</code> <strong class=\"purple\">must</strong> have been allocated from a <code>VkCommandPool</code> that was created for the same queue family <code>queue</code> belongs to."
},
{
+ "vuid": "VUID-vkQueueSubmit-pCommandBuffers",
+ "text": " If any element of <code>pSubmits</code>&#8594;<code>pCommandBuffers</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens before the acquire operation."
+ },
+ {
"vuid": "VUID-vkQueueSubmit-queue-parameter",
"text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <code>VkQueue</code> handle"
},
@@ -2453,28 +2457,8 @@
"text": " If the <a href=\"#features-features-tessellationShader\">tessellation shaders</a> feature is not enabled, <code>dstStageMask</code> <strong class=\"purple\">must</strong> not contain <code>VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT</code> or <code>VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT</code>"
},
{
- "vuid": "VUID-vkCmdPipelineBarrier-pDependencies-01172",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, the render pass <strong class=\"purple\">must</strong> have been created with a <code>VkSubpassDependency</code> instance in <code>pDependencies</code> that expresses a dependency from the current subpass to itself."
- },
- {
- "vuid": "VUID-vkCmdPipelineBarrier-srcStageMask-01173",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, <code>srcStageMask</code> <strong class=\"purple\">must</strong> contain a subset of the bit values in the <code>srcStageMask</code> member of that instance of <code>VkSubpassDependency</code>"
- },
- {
- "vuid": "VUID-vkCmdPipelineBarrier-dstStageMask-01174",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, <code>dstStageMask</code> <strong class=\"purple\">must</strong> contain a subset of the bit values in the <code>dstStageMask</code> member of that instance of <code>VkSubpassDependency</code>"
- },
- {
- "vuid": "VUID-vkCmdPipelineBarrier-srcAccessMask-01175",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, the <code>srcAccessMask</code> of any element of <code>pMemoryBarriers</code> or <code>pImageMemoryBarriers</code> <strong class=\"purple\">must</strong> contain a subset of the bit values the <code>srcAccessMask</code> member of that instance of <code>VkSubpassDependency</code>"
- },
- {
- "vuid": "VUID-vkCmdPipelineBarrier-dstAccessMask-01176",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, the <code>dstAccessMask</code> of any element of <code>pMemoryBarriers</code> or <code>pImageMemoryBarriers</code> <strong class=\"purple\">must</strong> contain a subset of the bit values the <code>dstAccessMask</code> member of that instance of <code>VkSubpassDependency</code>"
- },
- {
- "vuid": "VUID-vkCmdPipelineBarrier-dependencyFlags-01177",
- "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, <code>dependencyFlags</code> <strong class=\"purple\">must</strong> be equal to the <code>dependencyFlags</code> member of that instance of <code>VkSubpassDependency</code>"
+ "vuid": "VUID-vkCmdPipelineBarrier-pDependencies-02024",
+ "text": " If <code>vkCmdPipelineBarrier</code> is called within a render pass instance, the render pass <strong class=\"purple\">must</strong> have been created with at least one <code>VkSubpassDependency</code> instance in <code>VkRenderPassCreateInfo</code>::<code>pDependencies</code> that expresses a dependency from the current subpass to itself, and for which <code>srcStageMask</code> contains a subset of the bit values in <code>VkSubpassDependency</code>::<code>srcStageMask</code>, <code>dstStageMask</code> contains a subset of the bit values in <code>VkSubpassDependency</code>::<code>dstStageMask</code>, and <code>dependencyFlags</code> is equal to <code>VkSubpassDependency</code>::<code>dependencyFlags</code>."
},
{
"vuid": "VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178",
@@ -4813,8 +4797,8 @@
"text": " The shader code for the entry points identified by <code>pStages</code>, and the rest of the state identified by this structure <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter"
},
{
- "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-00745",
- "text": " If rasterization is not disabled and the subpass uses color attachments, then for each color attachment in the subpass the <code>blendEnable</code> member of the corresponding element of the <code>pAttachment</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code> if the <code>format</code> of the attachment does not support color blend operations, as specified by the <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-blendEnable-02023",
+ "text": " If rasterization is not disabled and the subpass uses color attachments, then for each color attachment in the subpass the <code>blendEnable</code> member of the corresponding element of the <code>pAttachment</code> member of <code>pColorBlendState</code> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code> if the attached image&#8217;s <a href=\"#resources-image-format-features\">format features</a> does not contain the <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT</code>."
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746",
@@ -9055,6 +9039,10 @@
"text": " If no <code>VkAllocationCallbacks</code> were provided when <code>pipelineLayout</code> was created, <code>pAllocator</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
},
{
+ "vuid": "VUID-vkDestroyPipelineLayout-pipelineLayout-02004",
+ "text": " <code>pipelineLayout</code> <strong class=\"purple\">must</strong> not have been passed to any vkCmd* command for any command buffers that are still in the <a href=\"#commandbuffers-lifecycle\">recording state</a> when <code>vkDestroyPipelineLayout</code> is called"
+ },
+ {
"vuid": "VUID-vkDestroyPipelineLayout-device-parameter",
"text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <code>VkDevice</code> handle"
},
@@ -10363,16 +10351,10 @@
]
},
"vkCmdClearColorImage": {
- "!(VK_ANDROID_external_memory_android_hardware_buffer)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
- {
- "vuid": "VUID-vkCmdClearColorImage-image-00001",
- "text": " <code>image</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-vkCmdClearColorImage-image-01935",
- "text": " <code>image</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdClearColorImage-image-01993",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>image</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>."
}
],
"core": [
@@ -10479,16 +10461,10 @@
]
},
"vkCmdClearDepthStencilImage": {
- "!(VK_ANDROID_external_memory_android_hardware_buffer)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
- {
- "vuid": "VUID-vkCmdClearDepthStencilImage-image-00008",
- "text": " <code>image</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-vkCmdClearDepthStencilImage-image-01936",
- "text": " <code>image</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdClearDepthStencilImage-image-01994",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>image</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>."
}
],
"core": [
@@ -11033,24 +11009,14 @@
"text": " Each of <code>commandBuffer</code>, <code>dstImage</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
- {
- "vuid": "VUID-vkCmdCopyImage-srcImage-00125",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- },
- {
- "vuid": "VUID-vkCmdCopyImage-dstImage-00130",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-vkCmdCopyImage-srcImage-01938",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdCopyImage-srcImage-01995",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>."
},
{
- "vuid": "VUID-vkCmdCopyImage-dstImage-01939",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdCopyImage-dstImage-01996",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>."
}
],
"!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
@@ -11443,16 +11409,10 @@
"text": " Each of <code>commandBuffer</code>, <code>dstImage</code>, and <code>srcBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
- {
- "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-00175",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-01940",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-01997",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>."
}
],
"!(VK_KHR_shared_presentable_image)": [
@@ -11573,16 +11533,10 @@
"text": " Each of <code>commandBuffer</code>, <code>dstBuffer</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)+(VK_VERSION_1_1,VK_KHR_maintenance1)": [
- {
- "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00185",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
+ "(VK_VERSION_1_1,VK_KHR_maintenance1)": [
{
- "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-01941",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
+ "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-01998",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>."
}
],
"!(VK_KHR_shared_presentable_image)": [
@@ -11759,6 +11713,10 @@
"text": " The union of all destination regions, specified by the elements of <code>pRegions</code>, <strong class=\"purple\">must</strong> not overlap in memory with any texel that <strong class=\"purple\">may</strong> be sampled during the blit operation"
},
{
+ "vuid": "VUID-vkCmdBlitImage-srcImage-01999",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_BLIT_SRC_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdBlitImage-srcImage-00219",
"text": " <code>srcImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_SRC_BIT</code> usage flag"
},
@@ -11771,6 +11729,10 @@
"text": " <code>srcImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>srcImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
},
{
+ "vuid": "VUID-vkCmdBlitImage-dstImage-02000",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_BLIT_DST_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdBlitImage-dstImage-00224",
"text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_USAGE_TRANSFER_DST_BIT</code> usage flag"
},
@@ -11811,6 +11773,10 @@
"text": " <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with a <code>samples</code> value of <code>VK_SAMPLE_COUNT_1_BIT</code>"
},
{
+ "vuid": "VUID-vkCmdBlitImage-filter-02001",
+ "text": " If <code>filter</code> is <code>VK_FILTER_LINEAR</code>, then the <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdBlitImage-srcSubresource-01705",
"text": " The <code>srcSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>srcImage</code> was created"
},
@@ -11875,34 +11841,6 @@
"text": " Each of <code>commandBuffer</code>, <code>dstImage</code>, and <code>srcImage</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdBlitImage-srcImage-00218",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_BLIT_SRC_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- },
- {
- "vuid": "VUID-vkCmdBlitImage-dstImage-00223",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_BLIT_DST_BIT</code>, which is indicated by <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- },
- {
- "vuid": "VUID-vkCmdBlitImage-filter-00235",
- "text": " If <code>filter</code> is <code>VK_FILTER_LINEAR</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdBlitImage-srcImage-01942",
- "text": " <code>srcImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_SRC_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- },
- {
- "vuid": "VUID-vkCmdBlitImage-dstImage-01943",
- "text": " <code>dstImage</code> <strong class=\"purple\">must</strong> use a format that supports <code>VK_FORMAT_FEATURE_TRANSFER_DST_BIT</code>, which is indicated by <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- },
- {
- "vuid": "VUID-vkCmdBlitImage-filter-01944",
- "text": " If <code>filter</code> is <code>VK_FILTER_LINEAR</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkCmdBlitImage-srcImage-01561",
@@ -11933,20 +11871,12 @@
"text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code> or <code>VK_IMAGE_LAYOUT_GENERAL</code>"
}
],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdBlitImage-filter-00236",
- "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_IMG</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdBlitImage-filter-01945",
- "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_IMG</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by<a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdBlitImage-filter-02002",
+ "text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_IMG</code>, then the <a href=\"#resources-image-format-features\">format features</a> of <code>srcImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdBlitImage-filter-00237",
"text": " If <code>filter</code> is <code>VK_FILTER_CUBIC_IMG</code>, <code>srcImage</code> <strong class=\"purple\">must</strong> have a <a href=\"#VkImageType\">VkImageType</a> of <code>VK_IMAGE_TYPE_2D</code>"
}
@@ -12077,12 +12007,8 @@
"text": " <code>dstImageLayout</code> <strong class=\"purple\">must</strong> specify the layout of the image subresources of <code>dstImage</code> specified in <code>pRegions</code> at the time this command is executed on a <code>VkDevice</code>"
},
{
- "vuid": "VUID-vkCmdResolveImage-dstImage-00264",
- "text": " If <code>dstImage</code> was created with <code>tiling</code> equal to <code>VK_IMAGE_TILING_LINEAR</code>, <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with a <code>format</code> that supports being a color attachment, as specified by the <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
- },
- {
- "vuid": "VUID-vkCmdResolveImage-dstImage-00265",
- "text": " If <code>dstImage</code> was created with <code>tiling</code> equal to <code>VK_IMAGE_TILING_OPTIMAL</code>, <code>dstImage</code> <strong class=\"purple\">must</strong> have been created with a <code>format</code> that supports being a color attachment, as specified by the <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code> flag in <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-vkCmdResolveImage-dstImage-02003",
+ "text": " The <a href=\"#resources-image-format-features\">format features</a> of <code>dstImage</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT</code>."
},
{
"vuid": "VUID-vkCmdResolveImage-srcImage-01386",
@@ -12435,6 +12361,10 @@
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
{
+ "vuid": "VUID-vkCmdDraw-None-02009",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDraw-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
},
@@ -12451,32 +12381,12 @@
"text": " This command <strong class=\"purple\">must</strong> only be called inside of a render pass instance"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDraw-linearTilingFeatures-00450",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDraw-formatFeatures-01953",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDraw-linearTilingFeatures-00451",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDraw-formatFeatures-01954",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDraw-None-02010",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDraw-None-00452",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -12575,6 +12485,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDrawIndexed-None-02011",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexed-None-01500",
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
@@ -12595,32 +12509,12 @@
"text": " This command <strong class=\"purple\">must</strong> only be called inside of a render pass instance"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexed-linearTilingFeatures-00470",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexed-formatFeatures-01955",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexed-linearTilingFeatures-00471",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexed-formatFeatures-01956",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDrawIndexed-None-02012",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexed-None-00472",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -12747,6 +12641,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDrawIndirect-None-02013",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirect-None-01501",
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
@@ -12775,32 +12673,12 @@
"text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirect-linearTilingFeatures-00496",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirect-formatFeatures-01957",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirect-linearTilingFeatures-00497",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirect-formatFeatures-01958",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDrawIndirect-None-02014",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirect-None-00498",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -12951,8 +12829,8 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
- "vuid": "VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03130",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> (for a linear image) or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code>(for an optimally tiled image) returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-vkCmdDrawIndirectCountKHR-None-02015",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
},
{
"vuid": "VUID-vkCmdDrawIndirectCountKHR-None-03131",
@@ -12989,8 +12867,8 @@
],
"(VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic)": [
{
- "vuid": "VUID-vkCmdDrawIndirectCountKHR-linearTilingFeatures-03169",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> (for a linear image) or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code>(for an optimally tiled image) returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-vkCmdDrawIndirectCountKHR-None-02016",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
},
{
"vuid": "VUID-vkCmdDrawIndirectCountKHR-None-03170",
@@ -13131,6 +13009,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDrawIndirectCountAMD-None-02017",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndirectCountAMD-None-01502",
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
@@ -13163,18 +13045,6 @@
"text": " Each of <code>buffer</code>, <code>commandBuffer</code>, and <code>countBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "(VK_AMD_draw_indirect_count)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirectCountAMD-linearTilingFeatures-00524",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_AMD_draw_indirect_count)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndirectCountAMD-formatFeatures-01959",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndirectCountAMD-maxMultiviewInstanceIndex-00525",
@@ -13297,6 +13167,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02018",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-01503",
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
@@ -13325,32 +13199,12 @@
"text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00548",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirect-formatFeatures-01960",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirect-linearTilingFeatures-00549",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirect-formatFeatures-01961",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02019",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-00550",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -13505,8 +13359,8 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03162",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> (for a linear image) or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code>(for an optimally tiled image) returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-None-02020",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-None-03163",
@@ -13543,8 +13397,8 @@
],
"(VK_KHR_draw_indirect_count)+(VK_IMG_filter_cubic)": [
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-linearTilingFeatures-03172",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> (for a linear image) or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code>(for an optimally tiled image) returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-None-02021",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
},
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCountKHR-None-03173",
@@ -13685,6 +13539,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_GRAPHICS</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-None-02022",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-None-01504",
"text": " Image subresources used as attachments in the current render pass <strong class=\"purple\">must</strong> not be accessed in any way other than as an attachment by this command."
},
@@ -13717,18 +13575,6 @@
"text": " Each of <code>buffer</code>, <code>commandBuffer</code>, and <code>countBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "(VK_AMD_draw_indirect_count)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-linearTilingFeatures-00577",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_AMD_draw_indirect_count)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-formatFeatures-01962",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_AMD_draw_indirect_count)+(VK_VERSION_1_1,VK_KHR_multiview)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCountAMD-maxMultiviewInstanceIndex-00578",
@@ -15065,6 +14911,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_COMPUTE</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDispatch-None-02005",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDispatch-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
},
@@ -15081,32 +14931,12 @@
"text": " This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatch-linearTilingFeatures-00398",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatch-formatFeatures-01949",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatch-linearTilingFeatures-00399",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatch-formatFeatures-01950",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDispatch-None-02006",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDispatch-None-00400",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -15181,6 +15011,10 @@
"text": " If the <a href=\"#features-features-robustBufferAccess\">robust buffer access</a> feature is not enabled, and any shader stage in the <code>VkPipeline</code> object bound to <code>VK_PIPELINE_BIND_POINT_COMPUTE</code> accesses a storage buffer, it <strong class=\"purple\">must</strong> not access values outside of the range of that buffer specified in the bound descriptor set"
},
{
+ "vuid": "VUID-vkCmdDispatchIndirect-None-02007",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_LINEAR</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code>."
+ },
+ {
"vuid": "VUID-vkCmdDispatchIndirect-commandBuffer-parameter",
"text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
},
@@ -15205,32 +15039,12 @@
"text": " Both of <code>buffer</code>, and <code>commandBuffer</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <code>VkDevice</code>"
}
],
- "!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatchIndirect-linearTilingFeatures-00414",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatchIndirect-formatFeatures-01951",
- "text": " Any <code>VkImageView</code> being sampled with <code>VK_FILTER_LINEAR</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports linear filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+!(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatchIndirect-linearTilingFeatures-00415",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <code>VkFormatProperties</code>::<code>linearTilingFeatures</code> or <code>VkFormatProperties</code>::<code>optimalTilingFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code> for linearly or optimally tiled images, respectively"
- }
- ],
- "(VK_IMG_filter_cubic)+(VK_ANDROID_external_memory_android_hardware_buffer)": [
- {
- "vuid": "VUID-vkCmdDispatchIndirect-formatFeatures-01952",
- "text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> be of a format which supports cubic filtering, as specified by the <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code> flag in <a href=\"#VkAndroidHardwareBufferFormatPropertiesANDROID\">VkAndroidHardwareBufferFormatPropertiesANDROID</a>::<code>formatFeatures</code> returned by <a href=\"#vkGetAndroidHardwareBufferPropertiesANDROID\">vkGetAndroidHardwareBufferPropertiesANDROID</a> for external format images, or by <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>linearTilingFeatures</code> or <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>optimalTilingFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a> for non-external format linearly or optimally tiled images, respectively"
- }
- ],
"(VK_IMG_filter_cubic)": [
{
+ "vuid": "VUID-vkCmdDispatchIndirect-None-02008",
+ "text": " If a <code>VkImageView</code> is sampled with with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command, then the image view&#8217;s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG</code>."
+ },
+ {
"vuid": "VUID-vkCmdDispatchIndirect-None-00416",
"text": " Any <a href=\"#VkImageView\">VkImageView</a> being sampled with <code>VK_FILTER_CUBIC_IMG</code> as a result of this command <strong class=\"purple\">must</strong> not have a <a href=\"#VkImageViewType\">VkImageViewType</a> of <code>VK_IMAGE_VIEW_TYPE_3D</code>, <code>VK_IMAGE_VIEW_TYPE_CUBE</code>, or <code>VK_IMAGE_VIEW_TYPE_CUBE_ARRAY</code>"
}
@@ -19731,6 +19545,54 @@
"text": " <code>callback</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>instance</code>"
}
]
+ },
+ "vkCmdSetCheckpointNV": {
+ "(VK_NV_device_diagnostic_checkpoints)": [
+ {
+ "vuid": "VUID-vkCmdSetCheckpointNV-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <code>VkCommandBuffer</code> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdSetCheckpointNV-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetCheckpointNV-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, compute, or transfer operations"
+ }
+ ]
+ },
+ "vkGetQueueCheckpointDataNV": {
+ "(VK_NV_device_diagnostic_checkpoints)": [
+ {
+ "vuid": "VUID-vkGetQueueCheckpointDataNV-queue-02025",
+ "text": " The device that <code>queue</code> belongs to <strong class=\"purple\">must</strong> be in the lost state"
+ },
+ {
+ "vuid": "VUID-vkGetQueueCheckpointDataNV-queue-parameter",
+ "text": " <code>queue</code> <strong class=\"purple\">must</strong> be a valid <code>VkQueue</code> handle"
+ },
+ {
+ "vuid": "VUID-vkGetQueueCheckpointDataNV-pCheckpointDataCount-parameter",
+ "text": " <code>pCheckpointDataCount</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>uint32_t</code> value"
+ },
+ {
+ "vuid": "VUID-vkGetQueueCheckpointDataNV-pCheckpointData-parameter",
+ "text": " If the value referenced by <code>pCheckpointDataCount</code> is not <code>0</code>, and <code>pCheckpointData</code> is not <code>NULL</code>, <code>pCheckpointData</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>pCheckpointDataCount</code> <code>VkCheckpointDataNV</code> structures"
+ }
+ ]
+ },
+ "VkCheckpointDataNV": {
+ "(VK_NV_device_diagnostic_checkpoints)": [
+ {
+ "vuid": "VUID-VkCheckpointDataNV-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV</code>"
+ },
+ {
+ "vuid": "VUID-VkCheckpointDataNV-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ }
+ ]
}
}
} \ No newline at end of file
diff --git a/registry/vk.xml b/registry/vk.xml
index bab8274..25e28b3 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -72,6 +72,7 @@ server.
<tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/>
<tag name="ANDROID" author="Google, Inc." contact="Jesse Hall @critsec"/>
<tag name="CHROMIUM" author="Google, Inc." contact="Jesse Hall @critsec"/>
+ <tag name="FUCHSIA" author="Google, Inc." contact="Craig Stout @cdotstout, Jesse Hall @critsec"/>
<tag name="GOOGLE" author="Google, Inc." contact="Jesse Hall @critsec"/>
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Maurice Ribble @mribble"/>
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
@@ -146,7 +147,7 @@ server.
<type category="define">// Vulkan 1.1 version number
#define <name>VK_API_VERSION_1_1</name> <type>VK_MAKE_VERSION</type>(1, 1, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 81</type>
+#define <name>VK_HEADER_VERSION</name> 82</type>
<type category="define">
#define <name>VK_DEFINE_HANDLE</name>(object) typedef struct object##_T* object;</type>
@@ -3198,6 +3199,17 @@ server.
<member><type>VkBool32</type> <name>conditionalRendering</name></member>
<member><type>VkBool32</type> <name>inheritedConditionalRendering</name></member>
</type>
+ <type category="struct" name="VkQueueFamilyCheckpointPropertiesNV" structextends="VkQueueFamilyProperties2" returnedonly="true">
+ <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"><type>VkStructureType</type> <name>sType</name></member>
+ <member><type>void</type>* <name>pNext</name></member>
+ <member><type>VkPipelineStageFlags</type> <name>checkpointExecutionStageMask</name></member>
+ </type>
+ <type category="struct" name="VkCheckpointDataNV" returnedonly="true">
+ <member values="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"><type>VkStructureType</type> <name>sType</name></member>
+ <member><type>void</type>* <name>pNext</name></member>
+ <member><type>VkPipelineStageFlagBits</type> <name>stage</name></member>
+ <member noautovalidity="true"><type>void</type>* <name>pCheckpointMarker</name></member>
+ </type>
</types>
<comment>Vulkan enumerant (token) definitions</comment>
@@ -3725,7 +3737,7 @@ server.
<enum value="-10" name="VK_ERROR_TOO_MANY_OBJECTS" comment="Too many objects of the type have already been created"/>
<enum value="-11" name="VK_ERROR_FORMAT_NOT_SUPPORTED" comment="Requested format is not supported on this device"/>
<enum value="-12" name="VK_ERROR_FRAGMENTED_POOL" comment="A requested pool allocation has failed due to fragmentation of the pool's memory"/>
- <unused start="-12"/>
+ <unused start="-13" comment="This is the next unused available error code (negative value)"/>
</enums>
<enums name="VkDynamicState" type="enum">
<enum value="0" name="VK_DYNAMIC_STATE_VIEWPORT"/>
@@ -6239,6 +6251,17 @@ server.
<param><type>uint32_t</type> <name>maxDrawCount</name></param>
<param><type>uint32_t</type> <name>stride</name></param>
</command>
+ <command queues="graphics,compute,transfer" renderpass="both" cmdbufferlevel="primary,secondary">
+ <proto><type>void</type> <name>vkCmdSetCheckpointNV</name></proto>
+ <param><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param noautovalidity="true">const <type>void</type>* <name>pCheckpointMarker</name></param>
+ </command>
+ <command>
+ <proto><type>void</type> <name>vkGetQueueCheckpointDataNV</name></proto>
+ <param><type>VkQueue</type> <name>queue</name></param>
+ <param optional="false,true"><type>uint32_t</type>* <name>pCheckpointDataCount</name></param>
+ <param optional="true" len="pCheckpointDataCount"><type>VkCheckpointDataNV</type>* <name>pCheckpointData</name></param>
+ </command>
</commands>
<feature api="vulkan" name="VK_VERSION_1_0" number="1.0" comment="Vulkan core API interface definitions">
@@ -8960,10 +8983,16 @@ server.
<enum value="&quot;VK_NV_extension_206&quot;" name="VK_NV_EXTENSION_206_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_NV_extension_207" number="207" author="NV" contact="Nuno Subtil @nsubtil" supported="disabled">
+ <extension name="VK_NV_device_diagnostic_checkpoints" type="device" number="207" requires="VK_KHR_get_physical_device_properties2" author="NVIDIA" contact="Nuno Subtil @nsubtil" supported="vulkan">
<require>
- <enum value="0" name="VK_NV_EXTENSION_207_SPEC_VERSION"/>
- <enum value="&quot;VK_NV_extension_207&quot;" name="VK_NV_EXTENSION_207_EXTENSION_NAME"/>
+ <enum value="2" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION"/>
+ <enum value="&quot;VK_NV_device_diagnostic_checkpoints&quot;" name="VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV"/>
+ <type name="VkQueueFamilyCheckpointPropertiesNV"/>
+ <type name="VkCheckpointDataNV"/>
+ <command name="vkCmdSetCheckpointNV"/>
+ <command name="vkGetQueueCheckpointDataNV"/>
</require>
</extension>
<extension name="VK_KHR_extension_208" number="208" type="device" author="KHR" contact="Daniel Rakos @drakos-arm" supported="disabled">