Skip to content

Commit

Permalink
Allow dynamic descriptor updates.
Browse files Browse the repository at this point in the history
  • Loading branch information
crud89 committed Mar 4, 2024
1 parent 131422d commit 144515d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Backends/Vulkan/src/descriptor_set_layout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -137,14 +137,14 @@ class VulkanDescriptorSetLayout::VulkanDescriptorSetLayoutImpl : public Implemen

// If the descriptor is an unbounded runtime array, disable validation warnings about partially bound elements.
if (binding.descriptorCount != std::numeric_limits<UInt32>::max())
bindingFlags.push_back({ });
bindingFlags.push_back({ VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT | VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT });
else
{
// Unbounded arrays must be the only descriptor within a descriptor set.
if (m_descriptorLayouts.size() != 1) [[unlikely]]
throw InvalidArgumentException("descriptorLayouts", "If an unbounded runtime array descriptor is used, it must be the only descriptor in the descriptor set, however the current descriptor set specifies {0} descriptors", m_descriptorLayouts.size());

bindingFlags.push_back(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT | VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT | VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT | VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT);
bindingFlags.push_back(VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT | VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT | VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT | VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT);
m_usesDescriptorIndexing = true;
binding.descriptorCount = maxUnboundedArraySize;
}
Expand Down

0 comments on commit 144515d

Please sign in to comment.