summaryrefslogtreecommitdiff
path: root/engine/src/rendering/backend/opengl.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2026-09-22 18:22:46 +0200
committerHampusM <hampus@hampusmat.com>2026-09-22 18:22:46 +0200
commitc73ab25c9dbe40284cfd38beaf31e2a20a9810de (patch)
tree51c5817a0c252a172c03a47e36886e563a4e623d /engine/src/rendering/backend/opengl.rs
parent2ccda0cd5f81909fddc74d95f960f781a64bcae1 (diff)
refactor(engine): fix portion of clippy lints
Diffstat (limited to 'engine/src/rendering/backend/opengl.rs')
-rw-r--r--engine/src/rendering/backend/opengl.rs108
1 files changed, 49 insertions, 59 deletions
diff --git a/engine/src/rendering/backend/opengl.rs b/engine/src/rendering/backend/opengl.rs
index 8b887b3..0a04d6e 100644
--- a/engine/src/rendering/backend/opengl.rs
+++ b/engine/src/rendering/backend/opengl.rs
@@ -419,7 +419,7 @@ impl BackendShaderBinding
);
}
BackendShaderBinding::Texture(texture) => {
- texture.bind_to_texture_unit(gl_context, binding_index.0)
+ texture.bind_to_texture_unit(gl_context, binding_index.0);
}
}
}
@@ -542,10 +542,9 @@ fn prepare_windows(
let window_handle = match window
.as_ref()
- .map(|window| unsafe {
+ .and_then(|window| unsafe {
windowing_context.get_window_as_handle(&window.wid())
})
- .flatten()
.transpose()
{
Ok(window_handle) => window_handle,
@@ -555,7 +554,7 @@ fn prepare_windows(
}
};
- let (new_window_creation_attrs, gl_config) = match DisplayBuilder::new()
+ let (new_window_creation_attrs, gl_config) = match DisplayBuilder::default()
.with_window_attributes(window_creation_attrs.clone())
.build(
window_handle,
@@ -638,7 +637,7 @@ fn init_window_graphics(
};
let Ok(window_inner_size) =
- PhysicalSize::<NonZero<u32>>::try_convert_from(window.inner_size.clone())
+ PhysicalSize::<NonZero<u32>>::try_convert_from(window.inner_size)
else {
tracing::error!(
"Cannot create a surface for a window with a width/height of 0",
@@ -669,7 +668,7 @@ fn init_window_graphics(
let gl_context = match graphics_ctx.gl_context.get_or_try_insert_with_fn(|| {
create_gl_context(
&window_gl_config.gl_config,
- &graphics_props,
+ graphics_props,
window_handle,
&window_surface,
)
@@ -684,10 +683,10 @@ fn init_window_graphics(
if let Err(err) = gl_context.make_current(&window_surface) {
tracing::error!("Failed to make GL context current: {err}");
continue;
- };
+ }
if let Err(err) = gl_set_viewport(
- &gl_context,
+ gl_context,
&Vec2 { x: 0, y: 0 }.into(),
&opengl_bindings::data_types::Dimens {
width: window.inner_size.width,
@@ -697,26 +696,22 @@ fn init_window_graphics(
tracing::error!("Failed to set viewport: {err}");
}
- set_enabled(
- &gl_context,
- Capability::DepthTest,
- graphics_props.depth_test,
- );
+ set_enabled(gl_context, Capability::DepthTest, graphics_props.depth_test);
set_enabled(
- &gl_context,
+ gl_context,
Capability::MultiSample,
graphics_props.multisampling_sample_cnt.is_some(),
);
if graphics_props.debug {
- enable(&gl_context, Capability::DebugOutput);
- enable(&gl_context, Capability::DebugOutputSynchronous);
+ enable(gl_context, Capability::DebugOutput);
+ enable(gl_context, Capability::DebugOutputSynchronous);
- set_debug_message_callback(&gl_context, opengl_debug_message_cb);
+ set_debug_message_callback(gl_context, opengl_debug_message_cb);
match set_debug_message_control(
- &gl_context,
+ gl_context,
None,
None,
None,
@@ -739,7 +734,7 @@ fn init_window_graphics(
window_ent_id,
(Surface {
id: surface_id,
- size: window.inner_size.clone(),
+ size: window.inner_size,
},),
);
@@ -747,7 +742,7 @@ fn init_window_graphics(
surface_id,
GraphicsContextSurface {
window_surface,
- size: window.inner_size.clone(),
+ size: window.inner_size,
},
);
}
@@ -927,7 +922,7 @@ fn handle_commands(
program.activate(gl_context);
- for (binding_index, binding) in bindings.iter() {
+ for (binding_index, binding) in bindings {
binding.bind(gl_context, binding_index);
}
@@ -945,7 +940,7 @@ fn handle_commands(
backend_resources,
object_store,
gl_context,
- shader_object_id.clone(),
+ shader_object_id,
&binding_location,
binding_value,
);
@@ -1097,7 +1092,7 @@ fn handle_commands(
Command::CreateMesh { obj_id, mesh, usage: mesh_usage } => {
let mesh = match &mesh {
AssetOrValue::Asset(mesh_asset) => {
- let Some(mesh) = assets.get(&mesh_asset) else {
+ let Some(mesh) = assets.get(mesh_asset) else {
tracing::error!(
asset_id=?mesh_asset.id(),
"Mesh asset does not exist"
@@ -1116,7 +1111,7 @@ fn handle_commands(
obj_id,
|| {
Ok(BackendResource::Mesh {
- mesh: GraphicsMesh::new(gl_context, &mesh, mesh_usage)?,
+ mesh: GraphicsMesh::new(gl_context, mesh, mesh_usage)?,
vertex_attrs_updated_for_shader: None,
})
},
@@ -1201,7 +1196,7 @@ fn handle_commands(
if let Err(err) = draw_mesh(gl_context, graphics_mesh, &draw_mesh_opts) {
tracing::error!("Failed to draw mesh: {err}");
- };
+ }
}
Command::UpdateDrawProperties(properties, update_flags) => {
update_draw_properties(
@@ -1237,7 +1232,7 @@ fn create_gl_context(
}
.map_err(CreateGlContextError::CreateGlutinContext)?;
- MaybeCurrentContextWithFns::new(glutin_context, &surface)
+ MaybeCurrentContextWithFns::new(glutin_context, surface)
.map_err(CreateGlContextError::MakeContextCurrent)
}
@@ -1519,8 +1514,8 @@ fn update_framebuffer_properties(
}
}
-fn set_shader_binding<'backend_resources>(
- backend_resources: &'backend_resources mut BackendResourceStore,
+fn set_shader_binding(
+ backend_resources: &mut BackendResourceStore,
object_store: &ObjectStore,
gl_context: &MaybeCurrentContextWithFns,
shader_object_id: ObjectId,
@@ -1549,14 +1544,11 @@ fn set_shader_binding<'backend_resources>(
None => return None,
};
- if let Some(prev_binding) =
+ // TODO: Textures should probably also be handled somehow here
+ if let Some(BackendShaderBinding::Uniform(prev_binding_uniform_buf)) =
shader_bindings.remove(ShaderBindingIndex(binding_location.binding_index))
{
- // TODO: Textures should probably also be handled somehow here
- if let BackendShaderBinding::Uniform(prev_binding_uniform_buf) = prev_binding
- {
- prev_binding_uniform_buf.delete(gl_context);
- }
+ prev_binding_uniform_buf.delete(gl_context);
}
return Some(
@@ -1588,27 +1580,27 @@ fn set_shader_binding<'backend_resources>(
None => return None,
};
- let binding = match shader_bindings
- .get(ShaderBindingIndex(binding_location.binding_index))
- .cloned()
+ let binding = if let Some(binding @ BackendShaderBinding::Uniform(_)) =
+ shader_bindings
+ .get(ShaderBindingIndex(binding_location.binding_index))
+ .cloned()
{
- Some(binding @ BackendShaderBinding::Uniform(_)) => binding,
- Some(_) | None => {
- let uniform_buf = GlBuffer::<u8>::new(gl_context);
+ binding
+ } else {
+ let uniform_buf = GlBuffer::<u8>::new(gl_context);
- uniform_buf
- .init(
- gl_context,
- binding_location.binding_size,
- opengl_bindings::buffer::Usage::Dynamic,
- )
- .unwrap();
+ uniform_buf
+ .init(
+ gl_context,
+ binding_location.binding_size,
+ opengl_bindings::buffer::Usage::Dynamic,
+ )
+ .unwrap();
- shader_bindings
- .entry(ShaderBindingIndex(binding_location.binding_index))
- .set_or_insert_with(|| BackendShaderBinding::Uniform(uniform_buf))
- .clone()
- }
+ shader_bindings
+ .entry(ShaderBindingIndex(binding_location.binding_index))
+ .set_or_insert_with(|| BackendShaderBinding::Uniform(uniform_buf))
+ .clone()
};
let BackendShaderBinding::Uniform(binding_uniform_buf) = &binding else {
@@ -1828,8 +1820,7 @@ fn create_shader_program(
stage: ShaderStage::Vertex,
entrypoint: vs_entry_point_reflection
.name()
- .map(|name| name.to_string().into())
- .unwrap_or("(none)".into()),
+ .map_or("(none)".into(), |name| name.to_string().into()),
})?;
let (fs_entry_point_index, fs_entry_point_reflection) = shader_program_reflection
@@ -1849,15 +1840,14 @@ fn create_shader_program(
stage: ShaderStage::Fragment,
entrypoint: fs_entry_point_reflection
.name()
- .map(|name| name.to_string().into())
- .unwrap_or("(none)".into()),
+ .map_or("(none)".into(), |name| name.to_string().into()),
})?;
let vertex_shader = GlShader::new(current_context, ShaderKind::Vertex);
vertex_shader.set_source(
current_context,
- &vertex_shader_entry_point_code.as_str().unwrap(),
+ vertex_shader_entry_point_code.as_str().unwrap(),
)?;
vertex_shader.compile(current_context)?;
@@ -1866,7 +1856,7 @@ fn create_shader_program(
fragment_shader.set_source(
current_context,
- &fragment_shader_entry_point_code.as_str().unwrap(),
+ fragment_shader_entry_point_code.as_str().unwrap(),
)?;
fragment_shader.compile(current_context)?;
@@ -1938,7 +1928,7 @@ fn opengl_debug_message_cb(
_ => {
emit_log_with_message!(tracing::Level::WARN);
}
- };
+ }
}
#[inline]