From 187aed8e1158ce4df7b7beb60e48e0e5a94af78a Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Tue, 12 Sep 2023 13:43:06 -0700 Subject: [PATCH] cli: Put a full naga::front::spv::Options in Parameters. This lets us gather up the code that influences SPV input. --- cli/src/bin/naga.rs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/cli/src/bin/naga.rs b/cli/src/bin/naga.rs index bfeb00a42c..7b799e0d1a 100644 --- a/cli/src/bin/naga.rs +++ b/cli/src/bin/naga.rs @@ -160,7 +160,7 @@ struct Parameters<'a> { bounds_check_policies: naga::proc::BoundsCheckPolicies, entry_point: Option, keep_coordinate_space: bool, - spv_block_ctx_dump_prefix: Option, + spv_in: naga::front::spv::Options, dot: naga::back::dot::Options, spv: naga::back::spv::Options<'a>, msl: naga::back::msl::Options, @@ -264,7 +264,13 @@ fn run() -> Result<(), Box> { Some(arg) => arg.0, None => params.bounds_check_policies.index, }; - params.spv_block_ctx_dump_prefix = args.block_ctx_dir; + + params.spv_in = naga::front::spv::Options { + adjust_coordinate_space: !args.keep_coordinate_space, + strict_capabilities: false, + block_ctx_dump_prefix: args.block_ctx_dir.map(std::path::PathBuf::from), + }; + params.entry_point = args.entry_point; if let Some(version) = args.profile { params.glsl.version = version.0; @@ -283,16 +289,7 @@ fn run() -> Result<(), Box> { .ok_or(CliError("Input filename not valid unicode"))? { "bin" => (bincode::deserialize(&input)?, None), - "spv" => { - let options = naga::front::spv::Options { - adjust_coordinate_space: !params.keep_coordinate_space, - strict_capabilities: false, - block_ctx_dump_prefix: params - .spv_block_ctx_dump_prefix - .map(std::path::PathBuf::from), - }; - naga::front::spv::parse_u8_slice(&input, &options).map(|m| (m, None))? - } + "spv" => naga::front::spv::parse_u8_slice(&input, ¶ms.spv_in).map(|m| (m, None))?, "wgsl" => { let input = String::from_utf8(input)?; let result = naga::front::wgsl::parse_str(&input);