From 2a118720262f6c71376fcca26ab48b1f397e3dd8 Mon Sep 17 00:00:00 2001 From: jer Date: Wed, 21 May 2025 13:49:40 +1000 Subject: [PATCH 1/4] fix: buff the help menu for the wgpu-runner --- examples/runners/wgpu/src/lib.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/examples/runners/wgpu/src/lib.rs b/examples/runners/wgpu/src/lib.rs index 11cba07c39..a052e72306 100644 --- a/examples/runners/wgpu/src/lib.rs +++ b/examples/runners/wgpu/src/lib.rs @@ -72,6 +72,8 @@ // #![allow()] use clap::Parser; +use clap::builder::PossibleValue; +use clap::ValueEnum; use std::borrow::Cow; use strum::{Display, EnumString}; @@ -81,7 +83,7 @@ mod compute; mod graphics; -#[derive(EnumString, Display, PartialEq, Eq, Copy, Clone)] +#[derive(Debug, EnumString, Display, PartialEq, Eq, Copy, Clone, ValueEnum)] pub enum RustGPUShader { Simplest, Sky, @@ -89,6 +91,16 @@ pub enum RustGPUShader { Mouse, } +impl RustGPUShader { + pub fn help_string() -> String { + let variants: Vec = Self::value_variants() + .iter() + .map(|v| v.to_possible_value().unwrap().get_name().to_owned()) + .collect(); + format!("Shader to run [{}]", variants.join(", ")) + } +} + struct CompiledShaderModules { named_spv_modules: Vec<(Option, wgpu::ShaderModuleDescriptorSpirV<'static>)>, } @@ -148,7 +160,7 @@ fn maybe_watch( .iter() .copied() .collect::(); - + let has_debug_printf = options.force_spirv_passthru; let builder = SpirvBuilder::new(crate_path, "spirv-unknown-vulkan1.1") @@ -224,7 +236,7 @@ fn maybe_watch( #[derive(Parser, Clone)] #[command()] pub struct Options { - #[arg(short, long, default_value = "Sky")] + #[arg(short, long, default_value = "Sky", help = RustGPUShader::help_string())] shader: RustGPUShader, #[arg(long)] From aafad5c561fda78c082793240b41c123f5a0a1da Mon Sep 17 00:00:00 2001 From: jer Date: Wed, 21 May 2025 13:52:45 +1000 Subject: [PATCH 2/4] fix: remove unused import --- examples/runners/wgpu/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/runners/wgpu/src/lib.rs b/examples/runners/wgpu/src/lib.rs index a052e72306..306f288625 100644 --- a/examples/runners/wgpu/src/lib.rs +++ b/examples/runners/wgpu/src/lib.rs @@ -72,7 +72,6 @@ // #![allow()] use clap::Parser; -use clap::builder::PossibleValue; use clap::ValueEnum; use std::borrow::Cow; use strum::{Display, EnumString}; From a46c216fd06b39ce42e95e77cfb5bdfb9a8bdedf Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Wed, 21 May 2025 11:18:16 +0200 Subject: [PATCH 3/4] cargo fmt --- examples/runners/wgpu/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/runners/wgpu/src/lib.rs b/examples/runners/wgpu/src/lib.rs index 306f288625..61ecea1f42 100644 --- a/examples/runners/wgpu/src/lib.rs +++ b/examples/runners/wgpu/src/lib.rs @@ -159,7 +159,7 @@ fn maybe_watch( .iter() .copied() .collect::(); - + let has_debug_printf = options.force_spirv_passthru; let builder = SpirvBuilder::new(crate_path, "spirv-unknown-vulkan1.1") From bbb826a5befe06101432c4877b31f9ea869ff0a2 Mon Sep 17 00:00:00 2001 From: Firestar99 Date: Wed, 21 May 2025 12:02:20 +0200 Subject: [PATCH 4/4] print possible values only once --- examples/runners/wgpu/src/lib.rs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/examples/runners/wgpu/src/lib.rs b/examples/runners/wgpu/src/lib.rs index 61ecea1f42..0b8e608f76 100644 --- a/examples/runners/wgpu/src/lib.rs +++ b/examples/runners/wgpu/src/lib.rs @@ -90,16 +90,6 @@ pub enum RustGPUShader { Mouse, } -impl RustGPUShader { - pub fn help_string() -> String { - let variants: Vec = Self::value_variants() - .iter() - .map(|v| v.to_possible_value().unwrap().get_name().to_owned()) - .collect(); - format!("Shader to run [{}]", variants.join(", ")) - } -} - struct CompiledShaderModules { named_spv_modules: Vec<(Option, wgpu::ShaderModuleDescriptorSpirV<'static>)>, } @@ -235,7 +225,8 @@ fn maybe_watch( #[derive(Parser, Clone)] #[command()] pub struct Options { - #[arg(short, long, default_value = "Sky", help = RustGPUShader::help_string())] + /// which shader to run + #[arg(short, long, default_value = "sky")] shader: RustGPUShader, #[arg(long)]