Refactor triangle::Pipeline into prepare and render architecture
And get rid of the staging belt! 🎉
This commit is contained in:
parent
23ed352e83
commit
b8c1809ea1
7 changed files with 358 additions and 291 deletions
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue