@@ -739,24 +739,22 @@ impl SpirvBuilder {
739739 let metadata: CompileResult =
740740 rustc_codegen_spirv_types:: serde_json:: from_reader ( BufReader :: new ( metadata_contents) )
741741 . map_err ( SpirvBuilderError :: MetadataFileMalformed ) ?;
742- match & metadata. module {
743- ModuleResult :: SingleModule ( spirv_module) => {
744- assert ! ( !self . multimodule) ;
745- if self . build_script . get_env_shader_spv_path ( ) {
746- let env_var = format ! (
747- "{}.spv" ,
748- at. file_name( )
749- . unwrap( )
750- . to_str( )
751- . unwrap( )
752- . strip_suffix( ARTIFACT_SUFFIX )
753- . unwrap( )
754- ) ;
742+
743+ let is_multimodule = match & metadata. module {
744+ ModuleResult :: SingleModule ( _) => false ,
745+ ModuleResult :: MultiModule ( _) => true ,
746+ } ;
747+ assert_eq ! ( self . multimodule, is_multimodule) ;
748+
749+ if self . build_script . get_env_shader_spv_path ( ) {
750+ match & metadata. module {
751+ ModuleResult :: SingleModule ( spirv_module) => {
752+ let env_var = spirv_module. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) ;
755753 println ! ( "cargo::rustc-env={}={}" , env_var, spirv_module. display( ) ) ;
756754 }
757- }
758- ModuleResult :: MultiModule ( _ ) => {
759- assert ! ( self . multimodule ) ;
755+ ModuleResult :: MultiModule ( _ ) => {
756+ Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ? ;
757+ }
760758 }
761759 }
762760 Ok ( metadata)
@@ -831,10 +829,6 @@ fn invoke_rustc(builder: &SpirvBuilder) -> Result<RustcOutput, SpirvBuilderError
831829 . as_ref ( )
832830 . ok_or ( SpirvBuilderError :: MissingTarget ) ?;
833831 target = SpirvTarget :: parse ( target_str) ?;
834-
835- if builder. build_script . get_env_shader_spv_path ( ) && builder. multimodule {
836- return Err ( SpirvBuilderError :: MultiModuleWithEnvShaderSpvPath ) ;
837- }
838832 if !path_to_crate. is_dir ( ) {
839833 return Err ( SpirvBuilderError :: CratePathDoesntExist (
840834 path_to_crate. clone ( ) ,
0 commit comments