summaryrefslogtreecommitdiffstats
path: root/wgpu/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-03-20 16:50:47 +0100
committerLibravatar GitHub <noreply@github.com>2024-03-20 16:50:47 +0100
commita1d3b52758e1e46a17fd712ccbaae625c799d96d (patch)
treede9f409c3e6b518abcfee74129712939ebbc8fa3 /wgpu/src
parent2b00e8b1457b0ccbafe12db3dbd6431c2c72f275 (diff)
parentff409ce66c03f45e13fe7db583925efb5113ce21 (diff)
downloadiced-a1d3b52758e1e46a17fd712ccbaae625c799d96d.tar.gz
iced-a1d3b52758e1e46a17fd712ccbaae625c799d96d.tar.bz2
iced-a1d3b52758e1e46a17fd712ccbaae625c799d96d.zip
Merge pull request #2344 from iced-rs/fix/empty-wgpu-draw-calls
Fix empty `wgpu` draw calls in `image` pipeline
Diffstat (limited to 'wgpu/src')
-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(..));