BlueGit

golden-age paperdoll-renderer

clippy: fix derivable_impls/range_loop/let_unit/needless_borrow (Tim t1063u)

timfa Grok Bot · pushed by timfa

Authored 2026-11-10 · 4 days ago

Hash
103a79a33c176c4803ebfd9ee40ca89fd2a5bc19
Parent
dc7edb1b
1 file changed +9 −17
src/production.rs +9 −17
@@ -459,21 +459,13 @@ struct PendingReadback {
459 459 fence: Option<glow::NativeFence>,
460 460 }
461 461
462 #[derive(Default)]
462 463 struct ReadbackSlot {
463 464 /// RGBA8 × 3 + depth f32 pack buffers (PIXEL_PACK).
464 465 pbos: [Option<glow::Buffer>; 4],
465 466 bytes: [usize; 4],
466 467 }
467 468
468 impl Default for ReadbackSlot {
469 fn default() -> Self {
470 Self {
471 pbos: [None, None, None, None],
472 bytes: [0; 4],
473 }
474 }
475 }
476
477 469 pub struct GpuRenderer {
478 470 program: Option<glow::Program>,
479 471 vao: Option<glow::VertexArray>,
@@ -687,8 +679,8 @@ impl GpuRenderer {
687 679 let pixels = w as usize * h as usize;
688 680 let sizes = [pixels * 4, pixels * 4, pixels * 4, pixels * 4];
689 681 let ring = &mut self.readback[slot];
690 for i in 0..4 {
691 if ring.bytes[i] == sizes[i] && ring.pbos[i].is_some() {
682 for (i, &size) in sizes.iter().enumerate() {
683 if ring.bytes[i] == size && ring.pbos[i].is_some() {
692 684 continue;
693 685 }
694 686 if let Some(old) = ring.pbos[i].take() {
@@ -696,10 +688,10 @@ impl GpuRenderer {
696 688 }
697 689 let buf = gl.create_buffer().map_err(|e| e.to_string())?;
698 690 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, Some(buf));
699 gl.buffer_data_size(glow::PIXEL_PACK_BUFFER, sizes[i] as i32, glow::STREAM_READ);
691 gl.buffer_data_size(glow::PIXEL_PACK_BUFFER, size as i32, glow::STREAM_READ);
700 692 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
701 693 ring.pbos[i] = Some(buf);
702 ring.bytes[i] = sizes[i];
694 ring.bytes[i] = size;
703 695 }
704 696 Ok(())
705 697 }
@@ -1043,7 +1035,7 @@ impl GpuRenderer {
1043 1035 return Ok(());
1044 1036 }
1045 1037 std::ptr::copy_nonoverlapping(ptr, data.as_mut_ptr(), pixels * 4);
1046 let _ = gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1038 gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1047 1039 flip_rows(&mut data, w as usize * 4, h as usize);
1048 1040 maps.push(data);
1049 1041 }
@@ -1062,7 +1054,7 @@ impl GpuRenderer {
1062 1054 return Ok(());
1063 1055 }
1064 1056 std::ptr::copy_nonoverlapping(ptr as *const f32, depth.as_mut_ptr(), pixels);
1065 let _ = gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1057 gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1066 1058 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
1067 1059 flip_rows(&mut depth, w as usize, h as usize);
1068 1060 let specular = maps.pop().unwrap();
@@ -2274,7 +2266,7 @@ fn execute_target(
2274 2266 &mut clamped_views,
2275 2267 &mut clamped_pixels,
2276 2268 &mut atlas_cells,
2277 &io,
2269 io,
2278 2270 &job,
2279 2271 &render_doc,
2280 2272 plan.passes,
@@ -2315,7 +2307,7 @@ fn execute_target(
2315 2307 &mut clamped_views,
2316 2308 &mut clamped_pixels,
2317 2309 &mut atlas_cells,
2318 &io,
2310 io,
2319 2311 &job,
2320 2312 &render_doc,
2321 2313 plan.passes,
@@ -459,21 +459,13 @@ struct PendingReadback {
459 fence: Option<glow::NativeFence>,
459 fence: Option<glow::NativeFence>,
460}
460}
461
461
462#[derive(Default)]
462struct ReadbackSlot {
463struct ReadbackSlot {
463 /// RGBA8 × 3 + depth f32 pack buffers (PIXEL_PACK).
464 /// RGBA8 × 3 + depth f32 pack buffers (PIXEL_PACK).
464 pbos: [Option<glow::Buffer>; 4],
465 pbos: [Option<glow::Buffer>; 4],
465 bytes: [usize; 4],
466 bytes: [usize; 4],
466}
467}
467
468
468impl Default for ReadbackSlot {
469 fn default() -> Self {
470 Self {
471 pbos: [None, None, None, None],
472 bytes: [0; 4],
473 }
474 }
475}
476
477pub struct GpuRenderer {
469pub struct GpuRenderer {
478 program: Option<glow::Program>,
470 program: Option<glow::Program>,
479 vao: Option<glow::VertexArray>,
471 vao: Option<glow::VertexArray>,
@@ -687,8 +679,8 @@ impl GpuRenderer {
687 let pixels = w as usize * h as usize;
679 let pixels = w as usize * h as usize;
688 let sizes = [pixels * 4, pixels * 4, pixels * 4, pixels * 4];
680 let sizes = [pixels * 4, pixels * 4, pixels * 4, pixels * 4];
689 let ring = &mut self.readback[slot];
681 let ring = &mut self.readback[slot];
690 for i in 0..4 {
682 for (i, &size) in sizes.iter().enumerate() {
691 if ring.bytes[i] == sizes[i] && ring.pbos[i].is_some() {
683 if ring.bytes[i] == size && ring.pbos[i].is_some() {
692 continue;
684 continue;
693 }
685 }
694 if let Some(old) = ring.pbos[i].take() {
686 if let Some(old) = ring.pbos[i].take() {
@@ -696,10 +688,10 @@ impl GpuRenderer {
696 }
688 }
697 let buf = gl.create_buffer().map_err(|e| e.to_string())?;
689 let buf = gl.create_buffer().map_err(|e| e.to_string())?;
698 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, Some(buf));
690 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, Some(buf));
699 gl.buffer_data_size(glow::PIXEL_PACK_BUFFER, sizes[i] as i32, glow::STREAM_READ);
691 gl.buffer_data_size(glow::PIXEL_PACK_BUFFER, size as i32, glow::STREAM_READ);
700 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
692 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
701 ring.pbos[i] = Some(buf);
693 ring.pbos[i] = Some(buf);
702 ring.bytes[i] = sizes[i];
694 ring.bytes[i] = size;
703 }
695 }
704 Ok(())
696 Ok(())
705 }
697 }
@@ -1043,7 +1035,7 @@ impl GpuRenderer {
1043 return Ok(());
1035 return Ok(());
1044 }
1036 }
1045 std::ptr::copy_nonoverlapping(ptr, data.as_mut_ptr(), pixels * 4);
1037 std::ptr::copy_nonoverlapping(ptr, data.as_mut_ptr(), pixels * 4);
1046 let _ = gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1038 gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1047 flip_rows(&mut data, w as usize * 4, h as usize);
1039 flip_rows(&mut data, w as usize * 4, h as usize);
1048 maps.push(data);
1040 maps.push(data);
1049 }
1041 }
@@ -1062,7 +1054,7 @@ impl GpuRenderer {
1062 return Ok(());
1054 return Ok(());
1063 }
1055 }
1064 std::ptr::copy_nonoverlapping(ptr as *const f32, depth.as_mut_ptr(), pixels);
1056 std::ptr::copy_nonoverlapping(ptr as *const f32, depth.as_mut_ptr(), pixels);
1065 let _ = gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1057 gl.unmap_buffer(glow::PIXEL_PACK_BUFFER);
1066 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
1058 gl.bind_buffer(glow::PIXEL_PACK_BUFFER, None);
1067 flip_rows(&mut depth, w as usize, h as usize);
1059 flip_rows(&mut depth, w as usize, h as usize);
1068 let specular = maps.pop().unwrap();
1060 let specular = maps.pop().unwrap();
@@ -2274,7 +2266,7 @@ fn execute_target(
2274 &mut clamped_views,
2266 &mut clamped_views,
2275 &mut clamped_pixels,
2267 &mut clamped_pixels,
2276 &mut atlas_cells,
2268 &mut atlas_cells,
2277 &io,
2269 io,
2278 &job,
2270 &job,
2279 &render_doc,
2271 &render_doc,
2280 plan.passes,
2272 plan.passes,
@@ -2315,7 +2307,7 @@ fn execute_target(
2315 &mut clamped_views,
2307 &mut clamped_views,
2316 &mut clamped_pixels,
2308 &mut clamped_pixels,
2317 &mut atlas_cells,
2309 &mut atlas_cells,
2318 &io,
2310 io,
2319 &job,
2311 &job,
2320 &render_doc,
2312 &render_doc,
2321 plan.passes,
2313 plan.passes,