|
|
|
@ -1,9 +1,9 @@
|
|
|
|
|
{
|
|
|
|
|
"version info": {
|
|
|
|
|
"schema version": 2,
|
|
|
|
|
"api version": "1.3.241",
|
|
|
|
|
"comment": "from git branch: github-main commit: 1b1c4dd43a35341c8c8e82ad985ed66d8beff5ba",
|
|
|
|
|
"date": "2023-02-16 10:01:26Z"
|
|
|
|
|
"api version": "1.3.242",
|
|
|
|
|
"comment": "from git branch: github-main commit: f3e686fc22251102713a2a1a1cd071f60ab6efd8",
|
|
|
|
|
"date": "2023-02-26 11:43:39Z"
|
|
|
|
|
},
|
|
|
|
|
"validation": {
|
|
|
|
|
"vkGetInstanceProcAddr": {
|
|
|
|
@ -3074,7 +3074,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkSemaphoreCreateInfo-pNext-pNext",
|
|
|
|
|
"text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>, <a href=\"#VkExportSemaphoreWin32HandleInfoKHR\">VkExportSemaphoreWin32HandleInfoKHR</a>, <a href=\"#VkImportMetalSharedEventInfoEXT\">VkImportMetalSharedEventInfoEXT</a>, or <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>"
|
|
|
|
|
"text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExportSemaphoreCreateInfo\">VkExportSemaphoreCreateInfo</a>, <a href=\"#VkExportSemaphoreWin32HandleInfoKHR\">VkExportSemaphoreWin32HandleInfoKHR</a>, <a href=\"#VkImportMetalSharedEventInfoEXT\">VkImportMetalSharedEventInfoEXT</a>, <a href=\"#VkQueryLowLatencySupportNV\">VkQueryLowLatencySupportNV</a>, or <a href=\"#VkSemaphoreTypeCreateInfo\">VkSemaphoreTypeCreateInfo</a>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkSemaphoreCreateInfo-sType-unique",
|
|
|
|
@ -3198,6 +3198,18 @@
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"VkQueryLowLatencySupportNV": {
|
|
|
|
|
"(VK_NV_low_latency)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkQueryLowLatencySupportNV-sType-sType",
|
|
|
|
|
"text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkQueryLowLatencySupportNV-pQueriedLowLatencyData-parameter",
|
|
|
|
|
"text": " <code>pQueriedLowLatencyData</code> <strong class=\"purple\">must</strong> be a pointer value"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"vkGetSemaphoreFdKHR": {
|
|
|
|
|
"(VK_KHR_external_semaphore_fd)": [
|
|
|
|
|
{
|
|
|
|
@ -4547,18 +4559,26 @@
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"vkCmdPipelineBarrier2": {
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)": [
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)+!(VK_KHR_multiview,VK_VERSION_1_1)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-pDependencies-02285",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, the render pass <strong class=\"purple\">must</strong> have been created with at least one <a href=\"#VkSubpassDependency\">VkSubpassDependency</a> instance in <code>VkRenderPassCreateInfo</code>::<code>pDependencies</code> that expresses a dependency from the current subpass to itself, with <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
},
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the render pass <strong class=\"purple\">must</strong> have been created with at least one subpass dependency that expresses a dependency from the current subpass to itself, does not include <code>VK_DEPENDENCY_BY_REGION_BIT</code> if this command does not, and has <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_KHR_multiview,VK_VERSION_1_1)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-None-07889",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the render pass <strong class=\"purple\">must</strong> have been created with at least one subpass dependency that expresses a dependency from the current subpass to itself, does not include <code>VK_DEPENDENCY_BY_REGION_BIT</code> if this command does not, does not include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code> if this command does not, and has <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-bufferMemoryBarrierCount-01178",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, it <strong class=\"purple\">must</strong> not include any buffer memory barriers"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, it <strong class=\"purple\">must</strong> not include any buffer memory barriers"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-image-04073",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, the <code>image</code> member of any image memory barrier included in this command <strong class=\"purple\">must</strong> be an attachment used in the current subpass both as an input attachment, and as either a color or depth/stencil attachment"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the <code>image</code> member of any image memory barrier included in this command <strong class=\"purple\">must</strong> be an attachment used in the current subpass both as an input attachment, and as either a color or depth/stencil attachment"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-oldLayout-01181",
|
|
|
|
@ -4566,7 +4586,19 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-srcQueueFamilyIndex-01182",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any image memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-None-07890",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, and the source stage masks of any memory barriers include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, destination stage masks of all memory barriers <strong class=\"purple\">must</strong> only include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-dependencyFlags-07891",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, and and the source stage masks of any memory barriers include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, then <code>dependencyFlags</code> <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_BY_REGION_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-None-07892",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called within a render pass instance, the source and destination stage masks of any memory barriers <strong class=\"purple\">must</strong> only include graphics pipeline stages"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-synchronization2-03848",
|
|
|
|
@ -4600,7 +4632,11 @@
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_multiview)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-dependencyFlags-01186",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called outside of a render pass instance, <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code> <strong class=\"purple\">must</strong> not be included in the dependency flags"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called outside of a render pass instance, the dependency flags <strong class=\"purple\">must</strong> not include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier2-None-07893",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier2 is called inside a render pass instance, and there is more than one view in the current subpass, dependency flags <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [
|
|
|
|
@ -4652,17 +4688,13 @@
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-pImageMemoryBarriers-02820",
|
|
|
|
|
"text": " For any element of <code>pImageMemoryBarriers</code>, if its <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members are equal, or if its <code>dstQueueFamilyIndex</code> is the queue family index that was used to create the command pool that <code>commandBuffer</code> was allocated from, then its <code>dstAccessMask</code> member <strong class=\"purple\">must</strong> only contain access flags that are supported by one or more of the pipeline stages in <code>dstStageMask</code>, as specified in the <a href=\"#synchronization-access-types-supported\">table of supported access types</a>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-pDependencies-02285",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the render pass <strong class=\"purple\">must</strong> have been created with at least one <a href=\"#VkSubpassDependency\">VkSubpassDependency</a> instance in <code>VkRenderPassCreateInfo</code>::<code>pDependencies</code> that expresses a dependency from the current subpass to itself, with <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-bufferMemoryBarrierCount-01178",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, it <strong class=\"purple\">must</strong> not include any buffer memory barriers"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, it <strong class=\"purple\">must</strong> not include any buffer memory barriers"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-image-04073",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the <code>image</code> member of any image memory barrier included in this command <strong class=\"purple\">must</strong> be an attachment used in the current subpass both as an input attachment, and as either a color or depth/stencil attachment"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the <code>image</code> member of any image memory barrier included in this command <strong class=\"purple\">must</strong> be an attachment used in the current subpass both as an input attachment, and as either a color or depth/stencil attachment"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-oldLayout-01181",
|
|
|
|
@ -4670,7 +4702,19 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-srcQueueFamilyIndex-01182",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any image memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the <code>srcQueueFamilyIndex</code> and <code>dstQueueFamilyIndex</code> members of any memory barrier included in this command <strong class=\"purple\">must</strong> be equal"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-None-07890",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, and the source stage masks of any memory barriers include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, destination stage masks of all memory barriers <strong class=\"purple\">must</strong> only include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-dependencyFlags-07891",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, and and the source stage masks of any memory barriers include <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, then <code>dependencyFlags</code> <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_BY_REGION_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-None-07892",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance, the source and destination stage masks of any memory barriers <strong class=\"purple\">must</strong> only include graphics pipeline stages"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-srcStageMask-06461",
|
|
|
|
@ -4815,10 +4859,26 @@
|
|
|
|
|
"text": " pname:dstStageMask <strong class=\"purple\">must</strong> not be <code>0</code>"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"!(VK_KHR_multiview,VK_VERSION_1_1)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-pDependencies-02285",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the render pass <strong class=\"purple\">must</strong> have been created with at least one subpass dependency that expresses a dependency from the current subpass to itself, does not include <code>VK_DEPENDENCY_BY_REGION_BIT</code> if this command does not, and has <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_KHR_multiview,VK_VERSION_1_1)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-None-07889",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called within a render pass instance using a <a href=\"#VkRenderPass\">VkRenderPass</a> object, the render pass <strong class=\"purple\">must</strong> have been created with at least one subpass dependency that expresses a dependency from the current subpass to itself, does not include <code>VK_DEPENDENCY_BY_REGION_BIT</code> if this command does not, does not include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code> if this command does not, and has <a href=\"#synchronization-dependencies-scopes\">synchronization scopes</a> and <a href=\"#synchronization-dependencies-access-scopes\">access scopes</a> that are all supersets of the scopes defined in this command"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_VERSION_1_1,VK_KHR_multiview)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-dependencyFlags-01186",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called outside of a render pass instance, <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code> <strong class=\"purple\">must</strong> not be included in the dependency flags"
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called outside of a render pass instance, the dependency flags <strong class=\"purple\">must</strong> not include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdPipelineBarrier-None-07893",
|
|
|
|
|
"text": " If fname:vkCmdPipelineBarrier is called inside a render pass instance, and there is more than one view in the current subpass, dependency flags <strong class=\"purple\">must</strong> include <code>VK_DEPENDENCY_VIEW_LOCAL_BIT</code>"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [
|
|
|
|
@ -13184,7 +13244,7 @@
|
|
|
|
|
"(VK_QCOM_multiview_per_view_viewports)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07730",
|
|
|
|
|
"text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\">multiviewPerViewViewports</a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>viewportCount</code>"
|
|
|
|
|
"text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_VIEWPORT</code> or <code>VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT</code>, and if <a href=\"#features-multiview-per-view-viewports\">multiviewPerViewViewports</a> is enabled, then the index of the most significant bit in each element of <a href=\"#VkRenderPassMultiviewCreateInfo\">VkRenderPassMultiviewCreateInfo</a>::<code>pViewMasks</code> <strong class=\"purple\">must</strong> be less than <code>pViewportState</code>::<code>viewportCount</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731",
|
|
|
|
@ -16858,11 +16918,11 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkBufferViewCreateInfo-buffer-00933",
|
|
|
|
|
"text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code>, <code>format</code> <strong class=\"purple\">must</strong> be supported for uniform texel buffers, as specified by the <code>VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT</code> flag in <code>VkFormatProperties</code>::<code>bufferFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a>"
|
|
|
|
|
"text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkBufferViewCreateInfo-buffer-00934",
|
|
|
|
|
"text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>, <code>format</code> <strong class=\"purple\">must</strong> be supported for storage texel buffers, as specified by the <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT</code> flag in <code>VkFormatProperties</code>::<code>bufferFeatures</code> returned by <a href=\"#vkGetPhysicalDeviceFormatProperties\">vkGetPhysicalDeviceFormatProperties</a>"
|
|
|
|
|
"text": " If <code>buffer</code> was created with <code>usage</code> containing <code>VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT</code>, then <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkBufferViewCreateInfo-buffer-00935",
|
|
|
|
@ -28117,11 +28177,35 @@
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"vkCmdClearAttachments": {
|
|
|
|
|
"core": [
|
|
|
|
|
"(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-pAttachments-07270",
|
|
|
|
|
"text": " For each element of <code>pAttachments</code>, the corresponding attachment in the current render pass instance <strong class=\"purple\">must</strong> either not be backed by an image view, or contain each of the aspects specified in <code>aspectMask</code>"
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07882",
|
|
|
|
|
"text": " If the current render pass instance uses dynamic rendering, the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>, <a href=\"#VkRenderingInfo\">VkRenderingInfo</a>::<code>pDepthAttachment</code> is not <code>NULL</code>, and <code>pDepthAttachment->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the render pass <code>format</code> <strong class=\"purple\">must</strong> contain a depth aspect"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07883",
|
|
|
|
|
"text": " If the current render pass instance uses dynamic rendering, the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>, <a href=\"#VkRenderingInfo\">VkRenderingInfo</a>::<code>pStencilAttachment</code> is not <code>NULL</code>, and <code>pStencilAttachment->imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the render pass <code>format</code> <strong class=\"purple\">must</strong> contain a stencil aspect"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07884",
|
|
|
|
|
"text": " If the current render pass instance does not use dynamic rendering, and the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>, the current subpass instance’s depth-stencil attachment <strong class=\"purple\">must</strong> be either <code>VK_ATTACHMENT_UNUSED</code> or the attachment <code>format</code> <strong class=\"purple\">must</strong> contain a depth aspect"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07885",
|
|
|
|
|
"text": " If the current render pass instance does not use dynamic rendering, and the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>, the current subpass instance’s depth-stencil attachment <strong class=\"purple\">must</strong> be either <code>VK_ATTACHMENT_UNUSED</code> or the attachment <code>format</code> <strong class=\"purple\">must</strong> contain a stencil aspect"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"!(VK_VERSION_1_3,VK_KHR_dynamic_rendering)": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07886",
|
|
|
|
|
"text": " If the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_DEPTH_BIT</code>, the current subpass instance’s depth-stencil attachment <strong class=\"purple\">must</strong> be either <code>VK_ATTACHMENT_UNUSED</code> or the attachment <code>format</code> <strong class=\"purple\">must</strong> contain a depth aspect"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07887",
|
|
|
|
|
"text": " If the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>, the current subpass instance’s depth-stencil attachment <strong class=\"purple\">must</strong> be either <code>VK_ATTACHMENT_UNUSED</code> or the attachment <code>format</code> <strong class=\"purple\">must</strong> contain a stencil aspect"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"core": [
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdClearAttachments-aspectMask-07271",
|
|
|
|
|
"text": " If the <code>aspectMask</code> member of any element of <code>pAttachments</code> contains <code>VK_IMAGE_ASPECT_COLOR_BIT</code>, the <code>colorAttachment</code> <strong class=\"purple\">must</strong> be a valid color attachment index in the current render pass instance"
|
|
|
|
@ -28764,27 +28848,27 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-srcImage-01728",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-srcImage-01729",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-srcImage-01730",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-dstImage-01732",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>dstSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>dstSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-dstImage-01733",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>dstSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>dstSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-dstImage-01734",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>dstSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>dstSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImage-commandBuffer-parameter",
|
|
|
|
@ -29234,27 +29318,27 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-srcImage-01728",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-srcImage-01729",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-srcImage-01730",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>srcOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>srcImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-dstImage-01732",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>dstSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>dstSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-dstImage-01733",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>dstSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>dstSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-dstImage-01734",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>dstSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>dstOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>dstSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of <code>dstImage</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageInfo2-sType-sType",
|
|
|
|
@ -29566,15 +29650,15 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00207",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00208",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00209",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-00211",
|
|
|
|
@ -29806,15 +29890,15 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00207",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00208",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00209",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of {imageparam}"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-00211",
|
|
|
|
@ -30180,15 +30264,15 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00207",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00208",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00209",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:dstImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyBufferToImageInfo2-aspectMask-00211",
|
|
|
|
@ -30460,15 +30544,15 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00207",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.x</code> and <code>extent.width</code> does not equal the width of the subresource specified by <code>srcSubresource</code>, <code>extent.width</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent width</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00208",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.y</code> and <code>extent.height</code> does not equal the height of the subresource specified by <code>srcSubresource</code>, <code>extent.height</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent height</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00209",
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
"text": " For each element of <code>pRegions</code>, if the sum of <code>imageOffset.z</code> and <code>extent.depth</code> does not equal the depth of the subresource specified by <code>srcSubresource</code>, <code>extent.depth</code> <strong class=\"purple\">must</strong> be a multiple of the <a href=\"#formats-compatibility-classes\">texel block extent depth</a> of the <a href=\"#VkFormat\">VkFormat</a> of pname:srcImage"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkCopyImageToBufferInfo2-aspectMask-00211",
|
|
|
|
@ -32348,6 +32432,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDraw-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDraw-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDraw-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -33370,6 +33458,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexed-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexed-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexed-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -34400,6 +34492,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -35438,6 +35534,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -36488,6 +36588,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirect-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirect-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirect-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -37552,6 +37656,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectCount-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectCount-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectCount-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -38630,6 +38738,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -39702,6 +39814,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -40788,6 +40904,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -41928,6 +42048,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -42900,6 +43024,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -43920,6 +44048,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -44958,6 +45090,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -45958,6 +46094,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -47006,6 +47146,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -48044,6 +48188,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -49028,6 +49176,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -50100,7 +50252,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkVertexInputAttributeDescription-format-00623",
|
|
|
|
|
"text": " <code>format</code> <strong class=\"purple\">must</strong> be allowed as a vertex buffer format, as specified by the <code>VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT</code> flag in <code>VkFormatProperties</code>::<code>bufferFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
|
|
|
|
|
"text": " The <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkVertexInputAttributeDescription-format-parameter",
|
|
|
|
@ -50218,7 +50370,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkVertexInputAttributeDescription2EXT-format-04805",
|
|
|
|
|
"text": " <code>format</code> <strong class=\"purple\">must</strong> be allowed as a vertex buffer format, as specified by the <code>VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT</code> flag in <code>VkFormatProperties</code>::<code>bufferFeatures</code> returned by <code>vkGetPhysicalDeviceFormatProperties</code>"
|
|
|
|
|
"text": " The <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>format</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkVertexInputAttributeDescription2EXT-sType-sType",
|
|
|
|
@ -54044,6 +54196,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDispatch-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatch-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatch-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -54342,6 +54498,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchIndirect-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchIndirect-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchIndirect-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -54658,6 +54818,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchBase-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchBase-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdDispatchBase-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -54972,6 +55136,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -55576,6 +55744,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -61184,7 +61356,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-ppMaxPrimitiveCounts-03653",
|
|
|
|
|
"text": " Each <code>ppMaxPrimitiveCounts</code>[i][j] <strong class=\"purple\">must</strong> be greater than or equal to the the <code>primitiveCount</code> value specified by the <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structure located at <span class=\"eq\"><code>pIndirectDeviceAddresses</code>[i] + (<code>j</code> {times} <code>pIndirectStrides</code>[i])</span>"
|
|
|
|
|
"text": " Each <code>ppMaxPrimitiveCounts</code>[i][j] <strong class=\"purple\">must</strong> be greater than or equal to the <code>primitiveCount</code> value specified by the <a href=\"#VkAccelerationStructureBuildRangeInfoKHR\">VkAccelerationStructureBuildRangeInfoKHR</a> structure located at <span class=\"eq\"><code>pIndirectDeviceAddresses</code>[i] + (<code>j</code> {times} <code>pIndirectStrides</code>[i])</span>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-parameter",
|
|
|
|
@ -61364,7 +61536,7 @@
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-03797",
|
|
|
|
|
"text": " <code>vertexFormat</code> <strong class=\"purple\">must</strong> support the <code>VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR</code> in <a href=\"#VkFormatProperties\">VkFormatProperties</a>::<code>bufferFeatures</code> as returned by <a href=\"#vkGetPhysicalDeviceFormatProperties2\">vkGetPhysicalDeviceFormatProperties2</a>"
|
|
|
|
|
"text": " The <a href=\"#resources-buffer-view-format-features\">format features</a> of <code>vertexFormat</code> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-03798",
|
|
|
|
@ -63380,6 +63552,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysNV-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysNV-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysNV-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -63768,6 +63944,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysKHR-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysKHR-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysKHR-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -64272,6 +64452,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
@ -64726,6 +64910,10 @@
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02691",
|
|
|
|
|
"text": " If a <code>VkImageView</code> is accessed using atomic operations as a result of this command, then the image view’s <a href=\"#resources-image-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-07888",
|
|
|
|
|
"text": " If a <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code> descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer’s <a href=\"#resources-buffer-view-format-features\">format features</a> <strong class=\"purple\">must</strong> contain <code>VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT</code>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02697",
|
|
|
|
|
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
|
|
|
|
|