From da11e50750cb24c92e514587e6319b41ed4fd801 Mon Sep 17 00:00:00 2001 From: hatoo Date: Mon, 26 Jul 2021 19:17:00 +0900 Subject: [PATCH 1/2] Fix example-runner-ash Fix compile_shaders() to return correct shader name. --- examples/runners/ash/src/main.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/runners/ash/src/main.rs b/examples/runners/ash/src/main.rs index 22901d900c..d2e2f9ce39 100644 --- a/examples/runners/ash/src/main.rs +++ b/examples/runners/ash/src/main.rs @@ -211,8 +211,20 @@ pub fn compile_shaders() -> Vec { ]; let mut spv_files = Vec::::with_capacity(spv_paths.len()); for path in spv_paths.iter() { + let name = path + .parent() + .unwrap() + .file_name() + .unwrap() + .to_str() + .unwrap() + .split('.') + .next() + .unwrap() + .to_owned(); + spv_files.push(SpvFile { - name: path.file_stem().unwrap().to_str().unwrap().to_owned(), + name, data: read_spv(&mut File::open(path).unwrap()).unwrap(), }); } From 713363744371d2a9a42ad683d701afa86432ad03 Mon Sep 17 00:00:00 2001 From: hatoo Date: Tue, 3 Aug 2021 16:29:12 +0900 Subject: [PATCH 2/2] Refactor example-runner-ash - Stop to get shader name from path. It was too complicated. --- examples/runners/ash/src/main.rs | 42 +++++++++----------------------- 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/examples/runners/ash/src/main.rs b/examples/runners/ash/src/main.rs index d2e2f9ce39..edb3840f61 100644 --- a/examples/runners/ash/src/main.rs +++ b/examples/runners/ash/src/main.rs @@ -89,7 +89,6 @@ use std::{ ffi::{CStr, CString}, fs::File, ops::Drop, - path::PathBuf, sync::mpsc::{sync_channel, TryRecvError, TrySendError}, thread, }; @@ -199,36 +198,19 @@ pub fn main() { } pub fn compile_shaders() -> Vec { - let spv_paths: Vec = - vec![ - SpirvBuilder::new("examples/shaders/sky-shader", "spirv-unknown-vulkan1.1") - .print_metadata(MetadataPrintout::None) - .build() - .unwrap() - .module - .unwrap_single() - .to_path_buf(), - ]; - let mut spv_files = Vec::::with_capacity(spv_paths.len()); - for path in spv_paths.iter() { - let name = path - .parent() - .unwrap() - .file_name() - .unwrap() - .to_str() - .unwrap() - .split('.') - .next() + let sky_shader_path = + SpirvBuilder::new("examples/shaders/sky-shader", "spirv-unknown-vulkan1.1") + .print_metadata(MetadataPrintout::None) + .build() .unwrap() - .to_owned(); - - spv_files.push(SpvFile { - name, - data: read_spv(&mut File::open(path).unwrap()).unwrap(), - }); - } - spv_files + .module + .unwrap_single() + .to_path_buf(); + let sky_shader = SpvFile { + name: "sky_shader".to_string(), + data: read_spv(&mut File::open(sky_shader_path).unwrap()).unwrap(), + }; + vec![sky_shader] } #[derive(Debug)]