diff options
author | 2024-03-20 16:40:14 +0100 | |
---|---|---|
committer | 2024-03-20 16:40:14 +0100 | |
commit | ff409ce66c03f45e13fe7db583925efb5113ce21 (patch) | |
tree | 4cfcb558c2e838d7a5f54afdd7bca8ebdd1f8d35 /wgpu | |
parent | af6bc4643df83c4695f0954aa3fdd258988a77cf (diff) | |
download | iced-ff409ce66c03f45e13fe7db583925efb5113ce21.tar.gz iced-ff409ce66c03f45e13fe7db583925efb5113ce21.tar.bz2 iced-ff409ce66c03f45e13fe7db583925efb5113ce21.zip |
Fix empty `wgpu` draw calls in `image` pipeline
Diffstat (limited to 'wgpu')
-rw-r--r-- | wgpu/src/image.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index c8e4a4c2..067b77ab 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -161,13 +161,21 @@ impl Data { queue: &wgpu::Queue, instances: &[Instance], ) { + self.instance_count = instances.len(); + + if self.instance_count == 0 { + return; + } + let _ = self.instances.resize(device, instances.len()); let _ = self.instances.write(queue, 0, instances); - - self.instance_count = instances.len(); } fn render<'a>(&'a self, render_pass: &mut wgpu::RenderPass<'a>) { + if self.instance_count == 0 { + return; + } + render_pass.set_bind_group(0, &self.constants, &[]); render_pass.set_vertex_buffer(0, self.instances.slice(..)); |