load spirv using correct API (#3466)
# Objective currently spirv source loading parse then desterilize it to make wgpu happy. ## Solution Use the right API to get spirv
This commit is contained in:
parent
b532cc9ef6
commit
3ac55f0bcf
@ -9,7 +9,7 @@ use std::{
|
|||||||
borrow::Cow, collections::HashSet, marker::Copy, ops::Deref, path::PathBuf, str::FromStr,
|
borrow::Cow, collections::HashSet, marker::Copy, ops::Deref, path::PathBuf, str::FromStr,
|
||||||
};
|
};
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use wgpu::{ShaderModuleDescriptor, ShaderSource};
|
use wgpu::{util::make_spirv, ShaderModuleDescriptor, ShaderSource};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Hash, Eq, PartialEq, Debug)]
|
#[derive(Copy, Clone, Hash, Eq, PartialEq, Debug)]
|
||||||
pub struct ShaderId(Uuid);
|
pub struct ShaderId(Uuid);
|
||||||
@ -172,12 +172,7 @@ impl ProcessedShader {
|
|||||||
let wgsl = reflection.get_wgsl()?;
|
let wgsl = reflection.get_wgsl()?;
|
||||||
ShaderSource::Wgsl(wgsl.into())
|
ShaderSource::Wgsl(wgsl.into())
|
||||||
}
|
}
|
||||||
ProcessedShader::SpirV(_) => {
|
ProcessedShader::SpirV(source) => make_spirv(source),
|
||||||
// TODO: we can probably just transmute the u8 array to u32?
|
|
||||||
let reflection = self.reflect()?;
|
|
||||||
let spirv = reflection.get_spirv()?;
|
|
||||||
ShaderSource::SpirV(Cow::Owned(spirv))
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user