From 06ce858fce9ee624fa2b0b73ff0df0aaf3ce1ce6 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 24 Apr 2026 17:51:08 +0200 Subject: fix(engine): make render pass surfaces current --- engine/src/renderer.rs | 10 ++++++++++ engine/src/renderer/main_render_pass.rs | 4 ---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/engine/src/renderer.rs b/engine/src/renderer.rs index bd9816b..744b41e 100644 --- a/engine/src/renderer.rs +++ b/engine/src/renderer.rs @@ -414,7 +414,17 @@ pub 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 = 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 1868f3d..e7964dd 100644 --- a/engine/src/renderer/main_render_pass.rs +++ b/engine/src/renderer/main_render_pass.rs @@ -58,10 +58,6 @@ pub fn add_main_render_passes( draw_properties: RendererDrawProperties::default(), }); - render_pass - .commands - .push(RendererCommand::MakeCurrent(surface_spec.id)); - let default_texture_asset = assets .get_handle_to_loaded::(TEXTURE_WHITE_1X1_ASSET_LABEL.clone()) .expect("Not possible"); -- cgit v1.2.3-18-g5258