Clippy fixes.
This also adds Clippy to the presubmit checks.
Change-Id: I9a3b3d90e942a5d7cd0de9d75658b86cd3a7b584
Reviewed-on: https://fuchsia-review.googlesource.com/c/forma/+/713004
Reviewed-by: Randall Bosetti <rlb@google.com>
diff --git a/benches/benches/painter.rs b/benches/benches/painter.rs
index f687e0e..9c76739 100644
--- a/benches/benches/painter.rs
+++ b/benches/benches/painter.rs
@@ -23,11 +23,8 @@
transform: AffineTransform::default(),
image: Arc::new(create_image(SIZE.into(), SIZE.into())),
};
- let style = Style {
- is_clipped: false,
- fill: Fill::Texture(texture.clone()),
- blend_mode: BlendMode::Over,
- };
+ let style =
+ Style { is_clipped: false, fill: Fill::Texture(texture), blend_mode: BlendMode::Over };
group.bench_function("texture", |b| {
b.iter(|| painter_fill_at_bench(SIZE.into(), SIZE.into(), &style))
});
@@ -67,9 +64,7 @@
blend_mode: BlendMode::Over,
};
group.bench_function("gradient_radial", |b| {
- b.iter(|| {
- painter_fill_at_bench(SIZE.into(), SIZE.into(), &style);
- })
+ b.iter(|| painter_fill_at_bench(SIZE.into(), SIZE.into(), &style))
});
group.finish();
}
diff --git a/demo/src/demos/rive.rs b/demo/src/demos/rive.rs
index 1839e14..df1ecb9 100644
--- a/demo/src/demos/rive.rs
+++ b/demo/src/demos/rive.rs
@@ -22,7 +22,7 @@
fn to_linear(color: Color32) -> [f32; 4] {
fn conv(l: u8) -> f32 {
- let l = l as f32 * 255.0f32.recip();
+ let l = f32::from(l) * 255.0f32.recip();
if l <= 0.04045 {
l * 12.92f32.recip()
@@ -35,7 +35,7 @@
conv(color.red()),
conv(color.green()),
conv(color.blue()),
- color.alpha() as f32 * 255.0f32.recip(),
+ f32::from(color.alpha()) * 255.0f32.recip(),
]
}
@@ -77,7 +77,8 @@
let layer = self.composition.get_mut_or_insert_default(order);
- if path.user_tag.get().map(|tag| tag.get() - 1 == self.order as u64).unwrap_or_default() {
+ if path.user_tag.get().map(|tag| tag.get() - 1 == u64::from(self.order)).unwrap_or_default()
+ {
let cached_transform =
if let Some(inverted_transform) = self.inverted_transforms.get(&order).copied() {
transform * inverted_transform
@@ -113,7 +114,7 @@
1.0,
]));
- path.user_tag.set(NonZeroU64::new(self.order as u64 + 1))
+ path.user_tag.set(NonZeroU64::new(u64::from(self.order) + 1));
}
} else {
let forma_path = to_forma_path(&path.commands);
@@ -134,7 +135,7 @@
1.0,
]));
- path.user_tag.set(NonZeroU64::new(self.order as u64 + 1))
+ path.user_tag.set(NonZeroU64::new(u64::from(self.order) + 1));
}
let blend_mode = match paint.blend_mode {
@@ -208,7 +209,8 @@
let layer = self.composition.get_mut_or_insert_default(order);
- if path.user_tag.get().map(|tag| tag.get() - 1 == self.order as u64).unwrap_or_default() {
+ if path.user_tag.get().map(|tag| tag.get() - 1 == u64::from(self.order)).unwrap_or_default()
+ {
let cached_transform =
if let Some(inverted_transform) = self.inverted_transforms.get(&order).copied() {
transform * inverted_transform
@@ -244,7 +246,7 @@
1.0,
]));
- path.user_tag.set(NonZeroU64::new(self.order as u64 + 1))
+ path.user_tag.set(NonZeroU64::new(u64::from(self.order) + 1));
}
} else {
let forma_path = to_forma_path(&path.commands);
@@ -265,7 +267,7 @@
1.0,
]));
- path.user_tag.set(NonZeroU64::new(self.order as u64 + 1))
+ path.user_tag.set(NonZeroU64::new(u64::from(self.order) + 1));
}
layer.set_props(forma::Props { fill_rule: FillRule::NonZero, func: Func::Clip(layers) });
diff --git a/demo/src/demos/spaceship.rs b/demo/src/demos/spaceship.rs
index 7831907..b310354 100644
--- a/demo/src/demos/spaceship.rs
+++ b/demo/src/demos/spaceship.rs
@@ -66,7 +66,7 @@
acc: Vector2::new(0.0, 0.0),
angle: 0.0,
angle_speed: rng.gen_range(-0.8..0.8f32),
- radius: radius,
+ radius,
layer: Err(layer),
alive: true,
}
@@ -117,8 +117,8 @@
let v1 = ((m1 - m2) * u1 + 2.0 * m2 * u2) / (m1 + m2);
let v2 = ((m2 - m1) * u2 + 2.0 * m1 * u1) / (m1 + m2);
// Update speeds.
- a.speed = a.speed + r_pos_u * (-u1 + v1);
- b.speed = b.speed + r_pos_u * (-u2 + v2);
+ a.speed += r_pos_u * (-u1 + v1);
+ b.speed += r_pos_u * (-u2 + v2);
}
}
@@ -141,10 +141,10 @@
self.angle = (-2.0 * self.speed.x / self.max_speed).asin().clamp(-0.2, 0.2);
}
// Integrate acceleration, speed and compute position.
- self.acc = self.acc + self.speed * self.friction;
+ self.acc += self.speed * self.friction;
let max_speed = self.max_speed;
self.speed = clamp2d(self.speed + self.acc * delta_t, -max_speed, max_speed);
- self.pos = self.pos + self.speed * delta_t;
+ self.pos += self.speed * delta_t;
self.angle += self.angle_speed * delta_t;
// Kill actors out of the game boundaries.
@@ -243,10 +243,8 @@
};
composition.get_mut(order).unwrap().set_transform(a.transform());
- } else {
- if let Ok(order) = a.layer {
- composition.remove(order);
- }
+ } else if let Ok(order) = a.layer {
+ composition.remove(order);
}
}
@@ -255,6 +253,12 @@
}
}
+impl Default for Spaceship {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
impl App for Spaceship {
fn width(&self) -> usize {
self.width
diff --git a/demo/src/demos/svg.rs b/demo/src/demos/svg.rs
index 1ae68a1..d6eda9c 100644
--- a/demo/src/demos/svg.rs
+++ b/demo/src/demos/svg.rs
@@ -178,7 +178,7 @@
result.open(path);
let transform = &[scale, 0.0, 0.0, 0.0, scale, 0.0, 0.0, 0.0, 1.0];
- for (path, ..) in result.paths.iter_mut() {
+ for (path, ..) in &mut result.paths {
*path = path.transform(transform);
}
@@ -194,15 +194,15 @@
}
fn groups_opacity(&self) -> f32 {
- self.groups.iter().map(|group| group.opacity).flatten().product()
+ self.groups.iter().filter_map(|group| group.opacity).product()
}
fn t(&self, point: Point) -> Point {
match self.group_transform() {
None => point,
Some(t) => {
- let mut x = point.x as f64;
- let mut y = point.y as f64;
+ let mut x = f64::from(point.x);
+ let mut y = f64::from(point.y);
t.apply_to(&mut x, &mut y);
Point::new(x as f32, y as f32)
}
@@ -214,23 +214,20 @@
let fill = fill.to_string();
fill.strip_prefix("url(#")
- .and_then(|fill| fill.strip_suffix(")"))
+ .and_then(|fill| fill.strip_suffix(')'))
.and_then(|id| self.gradients.get(id))
}) {
return Fill::Gradient(gradient.clone());
}
let color: Option<Color> =
- parse_color(&attrs).or_else(|| self.group_fill()).or_else(|| Some(Color::black()));
+ parse_color(attrs).or_else(|| self.group_fill()).or_else(|| Some(Color::black()));
- let opacity: f32 = parse_opacity(&attrs).unwrap_or_else(|| self.groups_opacity());
+ let opacity: f32 = parse_opacity(attrs).unwrap_or_else(|| self.groups_opacity());
- let color = color
- .map(|color| forma::Color {
- a: opacity,
- ..crate::to_linear([color.red, color.green, color.blue])
- })
- .unwrap_or(forma::Color { r: 0.0, g: 0.0, b: 0.0, a: 1.0 });
+ let color = color.map_or(forma::Color { r: 0.0, g: 0.0, b: 0.0, a: 1.0 }, |color| {
+ forma::Color { a: opacity, ..crate::to_linear([color.red, color.green, color.blue]) }
+ });
Fill::Solid(color)
}
diff --git a/demo/src/demos/texture.rs b/demo/src/demos/texture.rs
index 3a22d20..bcad47d 100644
--- a/demo/src/demos/texture.rs
+++ b/demo/src/demos/texture.rs
@@ -12,6 +12,7 @@
use crate::{App, Keyboard};
+#[derive(Debug)]
pub struct Texture {
width: usize,
height: usize,
@@ -49,6 +50,12 @@
}
}
+impl Default for Texture {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
fn load_image(file_path: &path::Path) -> Image {
let img = image::io::Reader::open(file_path)
.expect("Unable to open file")
diff --git a/demo/src/main.rs b/demo/src/main.rs
index 1871966..82c97df 100644
--- a/demo/src/main.rs
+++ b/demo/src/main.rs
@@ -127,7 +127,7 @@
pub fn to_linear(rgb: [u8; 3]) -> Color {
fn conv(l: u8) -> f32 {
- let l = l as f32 * 255.0f32.recip();
+ let l = f32::from(l) * 255.0f32.recip();
if l <= 0.04045 {
l * 12.92f32.recip()
@@ -176,10 +176,10 @@
*control_flow = ControlFlow::Poll;
match event {
- Event::WindowEvent { event: WindowEvent::CloseRequested, .. }
- | Event::WindowEvent {
+ Event::WindowEvent {
event:
- WindowEvent::KeyboardInput {
+ WindowEvent::CloseRequested
+ | WindowEvent::KeyboardInput {
input: KeyboardInput { virtual_keycode: Some(VirtualKeyCode::Escape), .. },
..
},
@@ -190,9 +190,10 @@
Event::WindowEvent { event: WindowEvent::KeyboardInput { input, .. }, .. } => {
keyboard.on_keyboard_input(input);
}
- Event::WindowEvent { event: WindowEvent::Resized(size), .. }
- | Event::WindowEvent {
- event: WindowEvent::ScaleFactorChanged { new_inner_size: &mut size, .. },
+ Event::WindowEvent {
+ event:
+ WindowEvent::Resized(size)
+ | WindowEvent::ScaleFactorChanged { new_inner_size: &mut size, .. },
..
} => {
runner.resize(size.width, size.height);
diff --git a/demo/src/runner.rs b/demo/src/runner.rs
index 7e14d46..6d5932f 100644
--- a/demo/src/runner.rs
+++ b/demo/src/runner.rs
@@ -61,7 +61,7 @@
let window = WindowBuilder::new()
.with_title("demo | compose: ???ms, render: ???ms")
.with_inner_size(PhysicalSize::new(width, height))
- .build(&event_loop)
+ .build(event_loop)
.unwrap();
let layout = LinearLayout::new(width as usize, width as usize * 4, height as usize);
@@ -105,7 +105,7 @@
}
let compose_duration = measure(|| {
- app.compose(&mut self.composition, elapsed, &keyboard);
+ app.compose(&mut self.composition, elapsed, keyboard);
});
let render_duration = measure(|| {
@@ -137,12 +137,12 @@
let new_path = "capture.ppm";
let mut output = File::options().write(true).create(true).open(new_path).unwrap();
output
- .write(
+ .write_all(
format!("P6\n{} {}\n255\n", self.layout.width(), self.layout.height())
.as_bytes(),
)
.unwrap();
- output.write(&bytes).unwrap();
+ output.write_all(&bytes).unwrap();
}
}
}
@@ -173,7 +173,7 @@
let window = WindowBuilder::new()
.with_title("demo | compose: ???ms, sort: ???ms, paint: ???ms, render: ???ms")
.with_inner_size(PhysicalSize::new(width, height))
- .build(&event_loop)
+ .build(event_loop)
.unwrap();
let instance = wgpu::Instance::new(wgpu::Backends::PRIMARY);
@@ -252,7 +252,7 @@
}
let compose_duration = measure(|| {
- app.compose(&mut self.composition, elapsed, &keyboard);
+ app.compose(&mut self.composition, elapsed, keyboard);
});
let timings = self.renderer.render(
diff --git a/e2e_tests/tests/test_env.rs b/e2e_tests/tests/test_env.rs
index c25d999..cc48f66 100644
--- a/e2e_tests/tests/test_env.rs
+++ b/e2e_tests/tests/test_env.rs
@@ -31,8 +31,8 @@
let mut buffer = BufferBuilder::new(&mut data, &mut layout).build();
let mut renderer = CpuRenderer::new();
renderer.render(composition, &mut buffer, RGBA, Color { r: 1.0, g: 1.0, b: 1.0, a: 0.0 }, None);
- let image = RgbaImage::from_raw(width as u32, height as u32, data).unwrap();
- image
+
+ RgbaImage::from_raw(width as u32, height as u32, data).unwrap()
}
fn gpu_render(composition: &mut Composition, width: usize, height: usize) -> RgbaImage {
@@ -148,8 +148,8 @@
#[derive(Debug)]
enum RendererType {
- CPU,
- GPU,
+ Cpu,
+ Gpu,
}
#[derive(Serialize)]
@@ -191,7 +191,7 @@
}
pub fn test_render<F>(self, compose: F)
where
- F: Fn(&mut Composition) -> (),
+ F: Fn(&mut Composition),
{
if let Err(err) = test_render(compose, &self.test_name) {
self.failures.borrow_mut().push(format!("{:?}", err));
@@ -200,9 +200,9 @@
pub fn test_render_param<F, T: Debug>(&self, compose: F, t: T)
where
- F: Fn(&mut Composition) -> (),
+ F: Fn(&mut Composition),
{
- let t = format!("{:?}", t).replace("\"", "");
+ let t = format!("{:?}", t).replace('\"', "");
if let Err(err) = test_render(compose, &format!("{}::{}", self.test_name, t)) {
self.failures.borrow_mut().push(format!("{:?}", err));
}
@@ -229,7 +229,7 @@
fn test_render<F>(compose: F, test_name: &str) -> anyhow::Result<()>
where
- F: Fn(&mut Composition) -> (),
+ F: Fn(&mut Composition),
{
let cpu_actual = {
let mut composition = Composition::new();
@@ -245,11 +245,11 @@
let tolerance = 8;
let result = (|| {
- let expected_cpu = expected_image(test_name, RendererType::CPU)
+ let expected_cpu = expected_image(test_name, RendererType::Cpu)
.context("CPU reference image is missing.")?;
compare_images(&expected_cpu, &cpu_actual, tolerance)
.context("CPU result differs from the reference image.")?;
- let expected_gpu = expected_image(test_name, RendererType::GPU).unwrap_or(expected_cpu);
+ let expected_gpu = expected_image(test_name, RendererType::Gpu).unwrap_or(expected_cpu);
compare_images(&expected_gpu, &gpu_actual, tolerance)
.context("GPU result differs from the reference image.")
})();
@@ -296,8 +296,8 @@
.lock();
let report = lock.unwrap();
- let cpu_expected = expected_image_path(test_name, RendererType::CPU);
- let gpu_expected = expected_image_path(test_name, RendererType::GPU);
+ let cpu_expected = expected_image_path(test_name, RendererType::Cpu);
+ let gpu_expected = expected_image_path(test_name, RendererType::Gpu);
report.add_result(
test_name,
cpu_expected.exists().then(|| cpu_expected),
@@ -311,9 +311,10 @@
impl TestReport {
fn new(output_dir: path::PathBuf) -> TestReport {
- TestReport { output_dir: output_dir, entries: Mutex::new(vec![]) }
+ TestReport { output_dir, entries: Mutex::new(vec![]) }
}
+ #[allow(clippy::too_many_arguments)]
fn add_result(
&self,
test_name: &str,
@@ -371,15 +372,3 @@
fs::write(&self.output_dir.join("report.html"), report).unwrap();
}
}
-
-macro_rules! test_env {
- () => {{
- fn f() {}
- fn type_name_of<T>(_: T) -> &'static str {
- std::any::type_name::<T>()
- }
-
- TestEnv::new(type_name_of(f).strip_prefix("tests::").unwrap().strip_suffix("::f").unwrap())
- }};
-}
-pub(crate) use test_env;
diff --git a/e2e_tests/tests/tests.rs b/e2e_tests/tests/tests.rs
index 22361a5..dd1da0d 100644
--- a/e2e_tests/tests/tests.rs
+++ b/e2e_tests/tests/tests.rs
@@ -1,10 +1,21 @@
mod test_env;
+macro_rules! from_env {
+ () => {{
+ fn f() {}
+ fn type_name_of<T>(_: T) -> &'static str {
+ ::std::any::type_name::<T>()
+ }
+
+ TestEnv::new(type_name_of(f).strip_prefix("tests::").unwrap().strip_suffix("::f").unwrap())
+ }};
+}
+
#[cfg(test)]
mod tests {
use std::sync::Arc;
- use super::test_env::*;
+ use super::test_env::{TestEnv, HEIGHT, PADDING, WIDTH};
use forma::{
AffineTransform, BlendMode, Color, Fill, FillRule, Func, Gradient, GradientBuilder, Image,
Order, Path, PathBuilder, Point, Props, Style, Texture,
@@ -96,7 +107,7 @@
#[test]
fn linear_gradient() {
- let test_env = test_env!();
+ let test_env = from_env!();
test_env.test_render(|composition| {
let mut gradient_builder = GradientBuilder::new(
Point { x: PADDING, y: 0.0 },
@@ -122,7 +133,7 @@
#[test]
fn radial_gradient() {
- let test_env = test_env!();
+ let test_env = from_env!();
test_env.test_render(|composition| {
let mut gradient_builder = GradientBuilder::new(
Point { x: WIDTH * 0.5, y: HEIGHT * 0.5 },
@@ -149,7 +160,7 @@
#[test]
fn solid_color() {
- let test_env = test_env!();
+ let test_env = from_env!();
let colors = vec![
(Color { r: 0.0, g: 0.0, b: 1.0, a: 1.0 }, "blue"),
(Color { r: 0.0, g: 0.0, b: 0.5, a: 1.0 }, "dark_blue"),
@@ -175,7 +186,7 @@
#[test]
fn pixel() {
// This test is useful when the reasterizer is brocken as it emmits 2 pixel segments.
- test_env!().test_render(|composition| {
+ from_env!().test_render(|composition| {
composition
.get_mut_or_insert_default(Order::new(1).unwrap())
.insert(&custom_square(PADDING, PADDING, PADDING + 1.0, PADDING + 1.0))
@@ -186,7 +197,7 @@
#[test]
fn covers() {
// Draws all compination of pixels offseted by 1/32 on both x and y axis.
- test_env!().test_render(|composition| {
+ from_env!().test_render(|composition| {
let layer = composition
.get_mut_or_insert_default(Order::new(0).unwrap())
.set_props(solid_color_props(Color { r: 0.0, g: 0.0, b: 0.0, a: 1.0 }));
@@ -203,7 +214,7 @@
#[test]
fn texture() {
// Draws all compination of pixels offseted by 1/32 on both x and y axis.
- test_env!().test_render(|composition| {
+ from_env!().test_render(|composition| {
let image = Arc::new(
Image::from_srgba(
&[
@@ -259,7 +270,7 @@
#[test]
fn blend_modes() {
- let test_env = test_env!();
+ let test_env = from_env!();
let blend_modes = [
BlendMode::Over,
BlendMode::Multiply,
@@ -311,7 +322,7 @@
#[test]
fn fill_rules() {
- let test_env = test_env!();
+ let test_env = from_env!();
let fill_rules = [FillRule::EvenOdd, FillRule::NonZero];
for fill_rule in fill_rules {
test_env.test_render_param(
@@ -342,7 +353,7 @@
#[test]
fn clipping() {
- let test_env = test_env!();
+ let test_env = from_env!();
test_env.test_render(|composition| {
// First layer is not clipped.
composition
@@ -417,7 +428,7 @@
#[test]
fn clipping2() {
// This test was introduces to verify that the clipping state is reset between tiles.
- let test_env = test_env!();
+ let test_env = from_env!();
test_env.test_render(|composition| {
// First layer is not clipped.
composition
diff --git a/gpu/conveyor-sort/src/lib.rs b/gpu/conveyor-sort/src/lib.rs
index 93658f1..48f7a73 100644
--- a/gpu/conveyor-sort/src/lib.rs
+++ b/gpu/conveyor-sort/src/lib.rs
@@ -112,6 +112,7 @@
}
}
+#[allow(clippy::too_many_arguments)]
pub fn encode<'b>(
device: &wgpu::Device,
encoder: &mut wgpu::CommandEncoder,
@@ -145,7 +146,7 @@
cpass.set_bind_group(0, &block_sort_bind_group, &[]);
if let Some((timestamp, start_index, _)) = timestamp {
- cpass.write_timestamp(×tamp, start_index);
+ cpass.write_timestamp(timestamp, start_index);
}
cpass.dispatch_workgroups(config.workgroup_size(), 1, 1);
@@ -232,15 +233,15 @@
if round == max_rounds - 1 {
if let Some((timestamp, _, end_index)) = timestamp {
- cpass.write_timestamp(×tamp, end_index);
+ cpass.write_timestamp(timestamp, end_index);
}
}
}
}
if rounds % 2 == 0 {
- &storage_buffer0
+ storage_buffer0
} else {
- &storage_buffer1
+ storage_buffer1
}
}
diff --git a/gpu/painter/src/lib.rs b/gpu/painter/src/lib.rs
index 1931e9a..7767501 100644
--- a/gpu/painter/src/lib.rs
+++ b/gpu/painter/src/lib.rs
@@ -72,6 +72,7 @@
PaintContext { pipeline, bind_group_layout }
}
+#[allow(clippy::too_many_arguments)]
pub fn encode(
device: &wgpu::Device,
encoder: &mut wgpu::CommandEncoder,
@@ -115,12 +116,12 @@
wgpu::BindGroupEntry { binding: 3, resource: styles_buffer.as_entire_binding() },
wgpu::BindGroupEntry {
binding: 4,
- resource: wgpu::BindingResource::TextureView(&atlas_texture),
+ resource: wgpu::BindingResource::TextureView(atlas_texture),
},
wgpu::BindGroupEntry { binding: 5, resource: wgpu::BindingResource::Sampler(&sampler) },
wgpu::BindGroupEntry {
binding: 6,
- resource: wgpu::BindingResource::TextureView(&texture_view),
+ resource: wgpu::BindingResource::TextureView(texture_view),
},
],
});
@@ -130,12 +131,12 @@
pass.set_bind_group(0, &bind_group, &[]);
if let Some((timestamp, start_index, _)) = timestamp {
- pass.write_timestamp(×tamp, start_index);
+ pass.write_timestamp(timestamp, start_index);
}
pass.dispatch_workgroups(((height as usize + TILE_HEIGHT - 1) / TILE_HEIGHT) as u32, 1, 1);
if let Some((timestamp, _, end_index)) = timestamp {
- pass.write_timestamp(×tamp, end_index);
+ pass.write_timestamp(timestamp, end_index);
}
}
diff --git a/gpu/rasterizer/src/lib.rs b/gpu/rasterizer/src/lib.rs
index fb2818e..e74b94a 100644
--- a/gpu/rasterizer/src/lib.rs
+++ b/gpu/rasterizer/src/lib.rs
@@ -120,7 +120,7 @@
pass.set_pipeline(&context.prepare_lines_pipeline);
pass.set_bind_group(0, &bind_group, &[]);
if let Some((timestamp, start_index, _)) = timestamp {
- pass.write_timestamp(×tamp, start_index);
+ pass.write_timestamp(timestamp, start_index);
}
let workgroup_size: u32 = 128;
@@ -131,7 +131,7 @@
1,
);
if let Some((timestamp, _, end_index)) = timestamp {
- pass.write_timestamp(×tamp, end_index);
+ pass.write_timestamp(timestamp, end_index);
}
}
@@ -158,7 +158,7 @@
pass.set_pipeline(&context.rasterizer_pipeline);
pass.set_bind_group(0, &bind_group, &[]);
if let Some((timestamp, start_index, _)) = timestamp {
- pass.write_timestamp(×tamp, start_index);
+ pass.write_timestamp(timestamp, start_index);
}
let workgroup_size: u32 = 128;
let max_invocation_count: u32 = 16;
@@ -168,7 +168,7 @@
1,
);
if let Some((timestamp, _, end_index)) = timestamp {
- pass.write_timestamp(×tamp, end_index);
+ pass.write_timestamp(timestamp, end_index);
}
}
}
diff --git a/gpu/renderer/src/lib.rs b/gpu/renderer/src/lib.rs
index 7624648..ce89f4a 100644
--- a/gpu/renderer/src/lib.rs
+++ b/gpu/renderer/src/lib.rs
@@ -75,11 +75,11 @@
swap_chain_format: wgpu::TextureFormat,
has_timestamp_query: bool,
) -> Self {
- let rasterizer = rasterizer::init(&device);
+ let rasterizer = rasterizer::init(device);
- let sort = conveyor_sort::init(&device);
+ let sort = conveyor_sort::init(device);
- let paint = painter::init(&device);
+ let paint = painter::init(device);
let shader = device.create_shader_module(&wgpu::ShaderModuleDescriptor {
label: None,
@@ -110,6 +110,7 @@
Self { rasterizer, sort, paint, render, common: Resources::default(), has_timestamp_query }
}
+ #[allow(clippy::too_many_arguments)]
pub fn render(
&mut self,
device: &wgpu::Device,
@@ -176,7 +177,7 @@
device.create_command_encoder(&wgpu::CommandEncoderDescriptor { label: None });
let atlas_texture = self.common.atlas.get_or_insert_with(|| {
- let texture = device.create_texture(&wgpu::TextureDescriptor {
+ device.create_texture(&wgpu::TextureDescriptor {
label: Some("atlas"),
size: wgpu::Extent3d { width: 4096, height: 4096, depth_or_array_layers: 1 },
mip_level_count: 1,
@@ -184,15 +185,13 @@
dimension: wgpu::TextureDimension::D2,
format: wgpu::TextureFormat::Rgba16Float,
usage: wgpu::TextureUsages::COPY_DST | wgpu::TextureUsages::TEXTURE_BINDING,
- });
-
- texture
+ })
});
for (image, [xmin, ymin, _, _]) in new_allocations {
queue.write_texture(
wgpu::ImageCopyTexture {
- texture: &atlas_texture,
+ texture: atlas_texture,
mip_level: 0,
origin: wgpu::Origin3d { x: *xmin, y: *ymin, z: 0 },
aspect: TextureAspect::All,
@@ -226,10 +225,10 @@
});
rasterizer::encode(
- &device,
+ device,
&mut encoder,
&self.rasterizer,
- &lines,
+ lines,
segments_count,
&pixel_segment_buffer,
timestamp_context.as_ref().map(|(timestamp, _, _)| (timestamp, 0, 1)),
@@ -253,7 +252,7 @@
});
let segments_buffer = conveyor_sort::encode(
- &device,
+ device,
&mut encoder,
&self.sort,
segments_count,
@@ -275,7 +274,7 @@
});
painter::encode(
- &device,
+ device,
&mut encoder,
&self.paint,
&texture_view,
@@ -334,7 +333,7 @@
}
if let Some((timestamp, _, data_buffer)) = ×tamp_context {
- encoder.resolve_query_set(×tamp, 0..4, &data_buffer, 0);
+ encoder.resolve_query_set(timestamp, 0..4, data_buffer, 0);
}
queue.submit(Some(encoder.finish()));
diff --git a/presubmit.sh b/presubmit.sh
index a225944..e1497f0 100755
--- a/presubmit.sh
+++ b/presubmit.sh
@@ -31,5 +31,7 @@
RUSTDOCFLAGS="-D warnings" cargo doc -q -p forma
echo "Running forma doc tests..."
cargo test -q --doc -p forma
+echo "Running clippy..."
+cargo clippy -q --all-targets --all-features -- -D warnings
echo
echo "Pre-submit passed successfully."