diff options
author | 2023-02-07 23:55:16 +0100 | |
---|---|---|
committer | 2023-02-24 13:37:31 +0100 | |
commit | b8c1809ea101cece6943432fd3597f785c39af09 (patch) | |
tree | 662b5e85e67ff33be892811bc29bfe52ae041302 /wgpu/src/backend.rs | |
parent | 23ed352e83dcb8a13acdac1cd4c7e2a9df492ebd (diff) | |
download | iced-b8c1809ea101cece6943432fd3597f785c39af09.tar.gz iced-b8c1809ea101cece6943432fd3597f785c39af09.tar.bz2 iced-b8c1809ea101cece6943432fd3597f785c39af09.zip |
Refactor `triangle::Pipeline` into `prepare` and `render` architecture
And get rid of the staging belt! :tada:
Diffstat (limited to '')
-rw-r--r-- | wgpu/src/backend.rs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/wgpu/src/backend.rs b/wgpu/src/backend.rs index 90a511ef..8c4c0daa 100644 --- a/wgpu/src/backend.rs +++ b/wgpu/src/backend.rs @@ -70,7 +70,6 @@ impl Backend { &mut self, device: &wgpu::Device, queue: &wgpu::Queue, - staging_belt: &mut wgpu::util::StagingBelt, encoder: &mut wgpu::CommandEncoder, frame: &wgpu::TextureView, primitives: &[Primitive], @@ -95,7 +94,6 @@ impl Backend { scale_factor, transformation, &layer, - staging_belt, encoder, frame, target_size, @@ -104,6 +102,7 @@ impl Backend { self.quad_pipeline.end_frame(); self.text_pipeline.end_frame(); + self.triangle_pipeline.end_frame(); #[cfg(any(feature = "image", feature = "svg"))] self.image_pipeline.end_frame(device, queue, encoder); @@ -116,7 +115,6 @@ impl Backend { scale_factor: f32, transformation: Transformation, layer: &Layer<'_>, - staging_belt: &mut wgpu::util::StagingBelt, encoder: &mut wgpu::CommandEncoder, target: &wgpu::TextureView, target_size: Size<u32>, @@ -159,15 +157,20 @@ impl Backend { let scaled = transformation * Transformation::scale(scale_factor, scale_factor); - self.triangle_pipeline.draw( + self.triangle_pipeline.prepare( + device, + queue, + &layer.meshes, + scaled, + ); + + self.triangle_pipeline.render( device, - staging_belt, encoder, target, target_size, - scaled, - scale_factor, &layer.meshes, + scale_factor, ); } |