Commit 763b7794 by Alexis Hetu Committed by Alexis Hétu

MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC related assert fix

The assert was firing off when there were already MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC dynamic descriptors (which is valid), while the last set layouts contained no dynamic descriptors, because the offset was already set to MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC, which shouldn't matter if there are no dynamic descriptors left. Bug b/118386749 b/123244275 Change-Id: I1536e6a47b7837c6b052d4e169a5396daf7d34cb Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34148Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent 6448bd66
......@@ -40,9 +40,10 @@ PipelineLayout::PipelineLayout(const VkPipelineLayoutCreateInfo* pCreateInfo, vo
uint32_t dynamicOffsetBase = 0;
for (uint32_t i = 0; i < setLayoutCount; i++)
{
ASSERT_OR_RETURN(dynamicOffsetBase < MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC);
dynamicOffsetBases[i] = dynamicOffsetBase;
dynamicOffsetBase += setLayouts[i]->getDynamicDescriptorCount();
uint32_t dynamicDescriptorCount = setLayouts[i]->getDynamicDescriptorCount();
ASSERT_OR_RETURN((dynamicOffsetBase + dynamicDescriptorCount) <= MAX_DESCRIPTOR_SET_COMBINED_BUFFERS_DYNAMIC);
dynamicOffsetBases[i] = dynamicOffsetBase;
dynamicOffsetBase += dynamicDescriptorCount;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment