summaryrefslogtreecommitdiff
path: root/chapters/descriptorsets.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'chapters/descriptorsets.adoc')
-rw-r--r--chapters/descriptorsets.adoc53
1 files changed, 47 insertions, 6 deletions
diff --git a/chapters/descriptorsets.adoc b/chapters/descriptorsets.adoc
index e234776c..21f6ef96 100644
--- a/chapters/descriptorsets.adoc
+++ b/chapters/descriptorsets.adoc
@@ -2585,6 +2585,13 @@ ifdef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[]
ename:VK_DESCRIPTOR_TYPE_MUTABLE_EXT element in pname:pPoolSizes must:
not have sets of supported descriptor types which partially overlap
endif::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[]
+ifdef::VK_VERSION_1_3,VK_EXT_inline_uniform_block[]
+ * [[VUID-VkDescriptorPoolCreateInfo-pPoolSizes-09424]]
+ If pname:pPoolSizes contains a pname:descriptorType of
+ ename:VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, the pname:pNext chain
+ must: include a slink:VkDescriptorPoolInlineUniformBlockCreateInfo
+ structure whose pname:maxInlineUniformBlockBindings member is not zero
+endif::VK_VERSION_1_3,VK_EXT_inline_uniform_block[]
****
include::{generated}/validity/structs/VkDescriptorPoolCreateInfo.adoc[]
@@ -3945,6 +3952,27 @@ endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
pname:aspectMask used to create the pname:imageView must: include either
ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT but
not both
+ * [[VUID-VkDescriptorImageInfo-imageLayout-09425]]
+ If pname:imageLayout is ename:VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,
+ then the pname:aspectMask used to create pname:imageView must: not
+ include either ename:VK_IMAGE_ASPECT_DEPTH_BIT or
+ ename:VK_IMAGE_ASPECT_STENCIL_BIT
+ * [[VUID-VkDescriptorImageInfo-imageLayout-09426]]
+ If pname:imageLayout is
+ifdef::VK_VERSION_1_1,VK_KHR_maintenance2[]
+ ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL,
+ ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL,
+endif::VK_VERSION_1_1,VK_KHR_maintenance2[]
+ifdef::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
+ ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL,
+ ename:VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL,
+ ename:VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL,
+ ename:VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL,
+endif::VK_VERSION_1_2,VK_KHR_separate_depth_stencil_layouts[]
+ ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL or
+ ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, then the
+ pname:aspectMask used to create pname:imageView must: not include
+ ename:VK_IMAGE_ASPECT_COLOR_BIT
* [[VUID-VkDescriptorImageInfo-imageLayout-00344]]
pname:imageLayout must: match the actual elink:VkImageLayout of each
subresource accessible from pname:imageView at the time this descriptor
@@ -4932,12 +4960,6 @@ ifdef::VK_EXT_graphics_pipeline_library[]
endif::VK_EXT_graphics_pipeline_library[]
ifndef::VK_EXT_graphics_pipeline_library[Each]
element of pname:pDescriptorSets must: be a valid slink:VkDescriptorSet
-ifdef::VK_EXT_descriptor_buffer[]
- * [[VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010]]
- Each element of pname:pDescriptorSets must: have been allocated with a
- sname:VkDescriptorSetLayout which was not created with
- ename:VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
-endif::VK_EXT_descriptor_buffer[]
****
include::{generated}/validity/protos/vkCmdBindDescriptorSets.adoc[]
@@ -5708,6 +5730,24 @@ include::{generated}/api/structs/VkDescriptorGetInfoEXT.adoc[]
pname:pStorageBuffer is not `NULL` and pname:pStorageBuffer->address is
not zero, pname:pStorageBuffer->address must be an address within a
slink:VkBuffer created on pname:device
+ * [[VUID-VkDescriptorGetInfoEXT-type-09427]]
+ If pname:type is ename:VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
+ pname:pUniformBuffer is not `NULL` , the number of texel buffer elements
+ given by [eq]#({lfloor}pname:pUniformBuffer->range / (texel block
+ size){rfloor} {times} (texels per block))# where texel block size and
+ texels per block are as defined in the <<formats-compatibility,
+ Compatible Formats>> table for pname:pUniformBuffer->format, must: be
+ less than or equal to
+ sname:VkPhysicalDeviceLimits::pname:maxTexelBufferElements
+ * [[VUID-VkDescriptorGetInfoEXT-type-09428]]
+ If pname:type is ename:VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
+ pname:pStorageBuffer is not `NULL` , the number of texel buffer elements
+ given by [eq]#({lfloor}pname:pStorageBuffer->range / (texel block
+ size){rfloor} {times} (texels per block))# where texel block size and
+ texels per block are as defined in the <<formats-compatibility,
+ Compatible Formats>> table for pname:pStorageBuffer->format, must: be
+ less than or equal to
+ sname:VkPhysicalDeviceLimits::pname:maxTexelBufferElements
ifdef::VK_KHR_acceleration_structure[]
* [[VUID-VkDescriptorGetInfoEXT-type-08028]]
If pname:type is ename:VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR and
@@ -6111,6 +6151,7 @@ descriptors is passed in a
sname:VkDescriptorBufferBindingPushDescriptorBufferHandleEXT structure:
include::{generated}/api/structs/VkDescriptorBufferBindingPushDescriptorBufferHandleEXT.adoc[]
+
* pname:sType is a elink:VkStructureType value identifying this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.