diff options
author | 2023-02-08 00:47:16 +0100 | |
---|---|---|
committer | 2023-02-24 13:37:31 +0100 | |
commit | 730d6a07564d014c470e02f233394ec98325d463 (patch) | |
tree | 531f0a7865058b1e9f17f8d6a67f75c301df00ce /wgpu/src/image.rs | |
parent | b8c1809ea101cece6943432fd3597f785c39af09 (diff) | |
download | iced-730d6a07564d014c470e02f233394ec98325d463.tar.gz iced-730d6a07564d014c470e02f233394ec98325d463.tar.bz2 iced-730d6a07564d014c470e02f233394ec98325d463.zip |
Reuse a `RenderPass` as much as possible in `iced_wgpu`
Diffstat (limited to 'wgpu/src/image.rs')
-rw-r--r-- | wgpu/src/image.rs | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/wgpu/src/image.rs b/wgpu/src/image.rs index 5d1ae8d7..db05d2ff 100644 --- a/wgpu/src/image.rs +++ b/wgpu/src/image.rs @@ -45,7 +45,6 @@ pub struct Pipeline { layers: Vec<Layer>, prepare_layer: usize, - render_layer: usize, } #[derive(Debug)] @@ -321,7 +320,6 @@ impl Pipeline { layers: Vec::new(), prepare_layer: 0, - render_layer: 0, } } @@ -452,11 +450,12 @@ impl Pipeline { } pub fn render<'a>( - &'a mut self, + &'a self, + layer: usize, bounds: Rectangle<u32>, render_pass: &mut wgpu::RenderPass<'a>, ) { - if let Some(layer) = self.layers.get(self.render_layer) { + if let Some(layer) = self.layers.get(layer) { render_pass.set_pipeline(&self.pipeline); render_pass.set_scissor_rect( @@ -474,8 +473,6 @@ impl Pipeline { render_pass.set_vertex_buffer(0, self.vertices.slice(..)); layer.render(render_pass); - - self.render_layer += 1; } } @@ -496,7 +493,6 @@ impl Pipeline { .trim(&mut self.texture_atlas, &mut (device, queue, encoder)); self.prepare_layer = 0; - self.render_layer = 0; } } |