@@ -758,24 +758,22 @@ impl SpirvBuilder {
758758 let metadata: CompileResult =
759759 rustc_codegen_spirv_types:: serde_json:: from_reader ( BufReader :: new ( metadata_contents) )
760760 . map_err ( SpirvBuilderError :: MetadataFileMalformed ) ?;
761- match & metadata. module {
762- ModuleResult :: SingleModule ( spirv_module) => {
763- assert ! ( !self . multimodule) ;
764- if self . build_script . get_env_shader_spv_path ( ) {
765- let env_var = format ! (
766- "{}.spv" ,
767- at. file_name( )
768- . unwrap( )
769- . to_str( )
770- . unwrap( )
771- . strip_suffix( ARTIFACT_SUFFIX )
772- . unwrap( )
773- ) ;
761+
762+ let is_multimodule = match & metadata. module {
763+ ModuleResult :: SingleModule ( _) => false ,
764+ ModuleResult :: MultiModule ( _) => true ,
765+ } ;
766+ assert_eq ! ( self . multimodule, is_multimodule) ;
767+
768+ if self . build_script . get_env_shader_spv_path ( ) {
769+ match & metadata. module {
770+ ModuleResult :: SingleModule ( spirv_module) => {
771+ let env_var = spirv_module. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) ;
774772 println ! ( "cargo::rustc-env={}={}" , env_var, spirv_module. display( ) ) ;
775773 }
776- }
777- ModuleResult :: MultiModule ( _ ) => {
778- assert ! ( self . multimodule ) ;
774+ ModuleResult :: MultiModule ( _ ) => {
775+ Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ? ;
776+ }
779777 }
780778 }
781779 Ok ( metadata)
@@ -901,10 +899,6 @@ fn invoke_rustc(builder: &SpirvBuilder) -> Result<RustcOutput, SpirvBuilderError
901899 . as_ref ( )
902900 . ok_or ( SpirvBuilderError :: MissingTarget ) ?;
903901 target = SpirvTarget :: parse ( target_str) ?;
904-
905- if builder. build_script . get_env_shader_spv_path ( ) && builder. multimodule {
906- return Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ;
907- }
908902 if !path_to_crate. is_dir ( ) {
909903 return Err ( SpirvBuilderError :: CratePathDoesntExist (
910904 path_to_crate. clone ( ) ,
0 commit comments