diff options
| author | HampusM <hampus@hampusmat.com> | 2026-05-26 16:27:42 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-05-26 16:28:59 +0200 |
| commit | aba4f418af2e514c78fe06a1c98949670eaeacd9 (patch) | |
| tree | 514e606b67547b74b2886f9f2029bbae0a450c75 /engine/src | |
| parent | 37c67dd2455c4f042459fa5eb2e8db60ae874782 (diff) | |
Diffstat (limited to 'engine/src')
| -rw-r--r-- | engine/src/renderer.rs | 11 | ||||
| -rw-r--r-- | engine/src/renderer/main_render_pass.rs | 13 |
2 files changed, 8 insertions, 16 deletions
diff --git a/engine/src/renderer.rs b/engine/src/renderer.rs index 9818f80..1814391 100644 --- a/engine/src/renderer.rs +++ b/engine/src/renderer.rs @@ -213,7 +213,6 @@ pub struct RenderPasses #[derive(Debug)] pub struct RenderPass { - pub surface_id: SurfaceId, pub commands: Vec<Command>, pub draw_properties: DrawProperties, } @@ -410,17 +409,7 @@ fn enqueue_commands_from_render_passes( { let mut last_render_pass_draw_props = active_draw_props.draw_properties.clone(); - let mut last_surface_id: Option<SurfaceId> = None; - for render_pass in render_passes.passes.drain(..) { - if last_surface_id - .is_none_or(|last_surface_id| last_surface_id != render_pass.surface_id) - { - command_queue.push(Command::MakeCurrent(render_pass.surface_id)); - - last_surface_id = Some(render_pass.surface_id); - } - if render_pass.draw_properties != last_render_pass_draw_props { command_queue.push(Command::UpdateDrawProperties( render_pass.draw_properties.clone(), diff --git a/engine/src/renderer/main_render_pass.rs b/engine/src/renderer/main_render_pass.rs index e63ce0e..0926d85 100644 --- a/engine/src/renderer/main_render_pass.rs +++ b/engine/src/renderer/main_render_pass.rs @@ -50,12 +50,15 @@ pub fn add_main_render_passes( return; }; + let render_pass = render_passes.passes.push_front_mut(RenderPass { + commands: Vec::with_capacity(30), + draw_properties: RendererDrawProperties::default(), + }); + for (surface_spec,) in &window_surface_spec_query { - let render_pass = render_passes.passes.push_front_mut(RenderPass { - surface_id: surface_spec.id, - commands: Vec::with_capacity(30), - draw_properties: RendererDrawProperties::default(), - }); + render_pass + .commands + .push(RendererCommand::MakeCurrent(surface_spec.id)); let default_texture_asset = assets .get_handle_to_loaded::<Texture>(TEXTURE_WHITE_1X1_ASSET_LABEL.clone()) |
