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,
|
||||
};
|
||||
use thiserror::Error;
|
||||
use wgpu::{ShaderModuleDescriptor, ShaderSource};
|
||||
use wgpu::{util::make_spirv, ShaderModuleDescriptor, ShaderSource};
|
||||
|
||||
#[derive(Copy, Clone, Hash, Eq, PartialEq, Debug)]
|
||||
pub struct ShaderId(Uuid);
|
||||
@ -172,12 +172,7 @@ impl ProcessedShader {
|
||||
let wgsl = reflection.get_wgsl()?;
|
||||
ShaderSource::Wgsl(wgsl.into())
|
||||
}
|
||||
ProcessedShader::SpirV(_) => {
|
||||
// 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))
|
||||
}
|
||||
ProcessedShader::SpirV(source) => make_spirv(source),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user