diff options
| author | 2019-10-29 01:21:28 +0100 | |
|---|---|---|
| committer | 2019-10-29 01:21:28 +0100 | |
| commit | 23ebfb707a52d03a7beceaa5e197b4491619ae1d (patch) | |
| tree | b1a4e62f9e4cfe7127f2d690ee66ecdb5bab74ee /wgpu/src/renderer | |
| parent | 2b23e0986c532dbacd89ccd73bb603db558cbdaf (diff) | |
| download | iced-23ebfb707a52d03a7beceaa5e197b4491619ae1d.tar.gz iced-23ebfb707a52d03a7beceaa5e197b4491619ae1d.tar.bz2 iced-23ebfb707a52d03a7beceaa5e197b4491619ae1d.zip | |
Issue draw calls only when necessary
Diffstat (limited to '')
| -rw-r--r-- | wgpu/src/renderer.rs | 38 | 
1 files changed, 21 insertions, 17 deletions
| diff --git a/wgpu/src/renderer.rs b/wgpu/src/renderer.rs index 0f91428e..bb7cb858 100644 --- a/wgpu/src/renderer.rs +++ b/wgpu/src/renderer.rs @@ -294,25 +294,29 @@ impl Renderer {          let translated = transformation              * Transformation::translate(0.0, -(layer.y_offset as f32)); -        self.quad_pipeline.draw( -            &mut self.device, -            encoder, -            &layer.quads, -            transformation, -            layer.bounds, -            target, -        ); +        if layer.quads.len() > 0 { +            self.quad_pipeline.draw( +                &mut self.device, +                encoder, +                &layer.quads, +                transformation, +                layer.bounds, +                target, +            ); +        } -        self.image_pipeline.draw( -            &mut self.device, -            encoder, -            &layer.images, -            translated, -            layer.bounds, -            target, -        ); +        if layer.images.len() > 0 { +            self.image_pipeline.draw( +                &mut self.device, +                encoder, +                &layer.images, +                translated, +                layer.bounds, +                target, +            ); +        } -        { +        if layer.text.len() > 0 {              let mut glyph_brush = self.glyph_brush.borrow_mut();              for text in layer.text.iter() { | 
