From 6a608c1791d39857b9894462643dc925dbd39067 Mon Sep 17 00:00:00 2001 From: HampusM Date: Fri, 17 Jul 2026 16:34:50 +0200 Subject: feat(engine): validate shader binding values --- engine/src/rendering/main_render_pass.rs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'engine/src/rendering/main_render_pass.rs') diff --git a/engine/src/rendering/main_render_pass.rs b/engine/src/rendering/main_render_pass.rs index 7d06bf2..d83fad4 100644 --- a/engine/src/rendering/main_render_pass.rs +++ b/engine/src/rendering/main_render_pass.rs @@ -6,6 +6,7 @@ use crate::ecs::Query; use crate::error; use crate::model::{MaterialSearchResult, Model}; use crate::rendering::object::{Id as ObjectId, Store as ObjectStore}; +use crate::rendering::shader::cursor::Binding as ShaderBinding; use crate::rendering::shader::default::ASSET_LABEL as DEFAULT_SHADER_ASSET_LABEL; use crate::rendering::shader::{ Context as ShaderContext, @@ -177,8 +178,10 @@ pub fn add_main_render_passes( } } - for (shader_binding_loc, shader_binding_val) in - &pending_shader_bindings.bindings + for ShaderBinding { + location: shader_binding_loc, + value: shader_binding_val, + } in &pending_shader_bindings.bindings { render_pass.commands.push(Command::SetShaderBinding( shader_binding_loc.clone(), @@ -186,8 +189,13 @@ pub fn add_main_render_passes( )); } - for (shader_binding_surface_id, shader_binding_loc, shader_binding_val) in - &pending_shader_bindings.surface_specific_bindings + for ( + shader_binding_surface_id, + ShaderBinding { + location: shader_binding_loc, + value: shader_binding_val, + }, + ) in &pending_shader_bindings.surface_specific_bindings { if *shader_binding_surface_id != surface_spec.id { continue; -- cgit v1.2.3-18-g5258