Add descriptor write checks
This commit is contained in:
parent
7b5b54d149
commit
21c2256975
2 changed files with 17 additions and 1 deletions
|
@ -72,7 +72,7 @@ impl DescriptorPoolBuilder {
|
||||||
pub struct DescriptorPool {
|
pub struct DescriptorPool {
|
||||||
device: Arc<Device>,
|
device: Arc<Device>,
|
||||||
descriptor_pool: VkDescriptorPool,
|
descriptor_pool: VkDescriptorPool,
|
||||||
descriptor_set_layout: Arc<DescriptorSetLayout>,
|
pub(crate) descriptor_set_layout: Arc<DescriptorSetLayout>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DescriptorPool {
|
impl DescriptorPool {
|
||||||
|
|
|
@ -266,6 +266,22 @@ impl DescriptorSet {
|
||||||
pub fn update(&self, writes: &[DescriptorWrite]) -> Result<()> {
|
pub fn update(&self, writes: &[DescriptorWrite]) -> Result<()> {
|
||||||
debug_assert!(!writes.is_empty());
|
debug_assert!(!writes.is_empty());
|
||||||
|
|
||||||
|
#[cfg(debug_assertions)]
|
||||||
|
{
|
||||||
|
for (i, binding) in self
|
||||||
|
.pool
|
||||||
|
.descriptor_set_layout
|
||||||
|
.bindings()
|
||||||
|
.iter()
|
||||||
|
.enumerate()
|
||||||
|
{
|
||||||
|
if let Some(write) = writes.get(i) {
|
||||||
|
assert_eq!(write.binding, binding.binding);
|
||||||
|
assert_eq!(write.descriptor_type, binding.desc_type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let mut vk_writes = Vec::new();
|
let mut vk_writes = Vec::new();
|
||||||
let mut handles_lock = self.handles.lock().unwrap();
|
let mut handles_lock = self.handles.lock().unwrap();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue