summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-20 16:40:14 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-20 16:40:14 +0100
commitff409ce66c03f45e13fe7db583925efb5113ce21 (patch)
tree4cfcb558c2e838d7a5f54afdd7bca8ebdd1f8d35 /wgpu
parentaf6bc4643df83c4695f0954aa3fdd258988a77cf (diff)
downloadiced-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.rs12
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(..));