summaryrefslogtreecommitdiffstats
path: root/wgpu/src/image.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-08 00:47:16 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-24 13:37:31 +0100
commit730d6a07564d014c470e02f233394ec98325d463 (patch)
tree531f0a7865058b1e9f17f8d6a67f75c301df00ce /wgpu/src/image.rs
parentb8c1809ea101cece6943432fd3597f785c39af09 (diff)
downloadiced-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.rs10
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;
}
}