mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Bind all compatible descriptor sets, don't bail at the first one
* When descriptor sets are invalidated and we have stale bindings around we cannot bind them or it will lead to invalid behaviour and crashes. * However it's possible for set 0 to be invalid/stale and set 1 to be valid and required, so we can't bail out at the first invalid set. We keep iterating and bind all valid compatible sets.
This commit is contained in:
@@ -213,7 +213,11 @@ void VulkanRenderState::BindPipeline(VkCommandBuffer cmd, PipelineBinding bindin
|
||||
m_CreationInfo->m_DescSetLayout[createdDescSetLayoutId];
|
||||
|
||||
if(descLayout != createdDescLayout)
|
||||
break;
|
||||
{
|
||||
// this set is incompatible, don't rebind it. Assume the application knows the shader
|
||||
// doesn't need this set, and the binding is just stale
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// if there are dynamic buffers, pass along the offsets
|
||||
|
||||
Reference in New Issue
Block a user