tests: Fix OneOffDescriptorSet pool sizes#11988
tests: Fix OneOffDescriptorSet pool sizes#11988ziga-lunarg merged 1 commit intoKhronosGroup:mainfrom
Conversation
|
CI Vulkan-ValidationLayers build queued with queue ID 691172. |
|
CI Vulkan-ValidationLayers build # 22962 running. |
bcbbe86 to
d6b9f3f
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 691431. |
|
CI Vulkan-ValidationLayers build # 22964 running. |
|
CI Vulkan-ValidationLayers build # 22964 passed. |
| pool_sizes.emplace_back(VkDescriptorPoolSize{b.descriptorType, std::max(1u, b.descriptorCount)}); | ||
| uint32_t count = std::max(1u, b.descriptorCount); | ||
| if (b.descriptorType == VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER) { | ||
| count *= 2; |
There was a problem hiding this comment.
this seems totally wrong and going to hide other issues in tests... where is this in the spec???
There is maxCombinedImageSamplerDescriptorCount which I explicitly check for YCbCr tests... what test was this fixing?
There was a problem hiding this comment.
The test is PositiveYcbcr.ImageLayoutUpdate
There was a problem hiding this comment.
confirmed this is wrong and was YCbCr tests...
if you have maintenance6 enabled (which non of are tests do nor report warnings by default) you will get this nice message
Validation Warning: [ WARNING-VkDescriptorSetAllocateInfo-descriptorCount ] | MessageID = 0x1ed8505a
vkAllocateDescriptorSets(): Trying to allocate 3 of VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptors from VkDescriptorPool 0xf000000000f, but this pool only has a total of 1 descriptors for this type so you will likely get VK_ERROR_OUT_OF_POOL_MEMORY_KHR. While this might succeed on some implementations, it will fail on others.
Where VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER is found in the pool:
pPoolSizes[0].descriptorCount = 1
Where the allocation are being requested:
pSetLayouts[0]::pBindings[0].descriptorCount = 3 (adjusted by multiplying maxCombinedImageSamplerDescriptorCount which is 3)
Objects: 1
[0] VkDescriptorPool 0xf000000000f
Some implementations consume 2 descriptors when descriptorType is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER