Skip loading event usage for large descriptor arrays on vulkan

This commit is contained in:
baldurk
2020-03-16 17:24:04 +00:00
parent e814d505a9
commit cdb93609d0
+10
View File
@@ -3808,6 +3808,8 @@ void WrappedVulkan::AddUsage(VulkanDrawcallTreeNode &drawNode, rdcarray<DebugMes
//////////////////////////////
// Shaders
static bool hugeRangeWarned = false;
for(int shad = 0; shad < 6; shad++)
{
bool compute = (shad == 5);
@@ -3910,6 +3912,14 @@ void WrappedVulkan::AddUsage(VulkanDrawcallTreeNode &drawNode, rdcarray<DebugMes
continue;
}
if(layout.bindings[bind].descriptorCount > 1000)
{
if(!hugeRangeWarned)
RDCWARN("Skipping large, most likely 'bindless', descriptor range");
hugeRangeWarned = true;
continue;
}
for(uint32_t a = 0; a < layout.bindings[bind].descriptorCount; a++)
{
DescriptorSetSlot &slot = descset.currentBindings[bind][a];