Struct librashader_reflect::front::SpirvCompilation
source · pub struct SpirvCompilation { /* private fields */ }Expand description
A reflectable shader compilation via glslang.
Implementations§
source§impl SpirvCompilation
impl SpirvCompilation
sourcepub fn compile(source: &ShaderSource) -> Result<Self, ShaderCompileError>
pub fn compile(source: &ShaderSource) -> Result<Self, ShaderCompileError>
Tries to compile SPIR-V from the provided shader source.
Trait Implementations§
source§impl Clone for SpirvCompilation
impl Clone for SpirvCompilation
source§fn clone(&self) -> SpirvCompilation
fn clone(&self) -> SpirvCompilation
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for SpirvCompilation
impl Debug for SpirvCompilation
source§impl<'de> Deserialize<'de> for SpirvCompilation
impl<'de> Deserialize<'de> for SpirvCompilation
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl FromCompilation<SpirvCompilation, Naga> for MSL
impl FromCompilation<SpirvCompilation, Naga> for MSL
§type Context = NagaMslContext
type Context = NagaMslContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<MSL as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <MSL as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <MSL as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
type Output = impl CompileShader<<MSL as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <MSL as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <MSL as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, Naga> for SPIRV
impl FromCompilation<SpirvCompilation, Naga> for SPIRV
§type Options = NagaSpirvOptions
type Options = NagaSpirvOptions
Options provided to the compiler.
§type Context = NagaSpirvContext
type Context = NagaSpirvContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<SPIRV as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <SPIRV as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <SPIRV as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
type Output = impl CompileShader<<SPIRV as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <SPIRV as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <SPIRV as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, Naga> for WGSL
impl FromCompilation<SpirvCompilation, Naga> for WGSL
§type Options = NagaLoweringOptions
type Options = NagaLoweringOptions
Options provided to the compiler.
§type Context = NagaWgslContext
type Context = NagaWgslContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<WGSL as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <WGSL as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <WGSL as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
type Output = impl CompileShader<<WGSL as FromCompilation<SpirvCompilation, Naga>>::Target, Options = <WGSL as FromCompilation<SpirvCompilation, Naga>>::Options, Context = <WGSL as FromCompilation<SpirvCompilation, Naga>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, SpirvCross> for GLSL
impl FromCompilation<SpirvCompilation, SpirvCross> for GLSL
§type Context = CrossGlslContext
type Context = CrossGlslContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<GLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = Version, Context = <GLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
type Output = impl CompileShader<<GLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = Version, Context = <GLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, SpirvCross> for HLSL
impl FromCompilation<SpirvCompilation, SpirvCross> for HLSL
§type Options = Option<ShaderModel>
type Options = Option<ShaderModel>
Options provided to the compiler.
§type Context = CrossHlslContext
type Context = CrossHlslContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
type Output = impl CompileShader<<HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <HLSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, SpirvCross> for MSL
impl FromCompilation<SpirvCompilation, SpirvCross> for MSL
§type Context = CrossMslContext
type Context = CrossMslContext
Additional context returned by the compiler after compilation.
§type Output = impl CompileShader<<MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
type Output = impl CompileShader<<MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <MSL as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl FromCompilation<SpirvCompilation, SpirvCross> for SPIRV
impl FromCompilation<SpirvCompilation, SpirvCross> for SPIRV
§type Output = impl CompileShader<<SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
type Output = impl CompileShader<<SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Target, Options = <SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Options, Context = <SPIRV as FromCompilation<SpirvCompilation, SpirvCross>>::Context> + ReflectShader
The output type after conversion.
source§fn from_compilation(
compile: SpirvCompilation
) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
fn from_compilation( compile: SpirvCompilation ) -> Result<CompilerBackend<Self::Output>, ShaderReflectError>
Tries to convert the input object into an object ready for compilation.
source§impl Serialize for SpirvCompilation
impl Serialize for SpirvCompilation
source§impl ShaderInputCompiler<SpirvCompilation> for Glslang
impl ShaderInputCompiler<SpirvCompilation> for Glslang
source§fn compile(
source: &ShaderSource
) -> Result<SpirvCompilation, ShaderCompileError>
fn compile( source: &ShaderSource ) -> Result<SpirvCompilation, ShaderCompileError>
Compile the input shader source file into a compilation unit.
source§impl ShaderReflectObject for SpirvCompilation
impl ShaderReflectObject for SpirvCompilation
Marker trait for types that are the reflectable outputs of a shader compilation.
source§impl TryFrom<&ShaderSource> for SpirvCompilation
impl TryFrom<&ShaderSource> for SpirvCompilation
source§fn try_from(source: &ShaderSource) -> Result<Self, Self::Error>
fn try_from(source: &ShaderSource) -> Result<Self, Self::Error>
Tries to compile SPIR-V from the provided shader source.
§type Error = ShaderCompileError
type Error = ShaderCompileError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl RefUnwindSafe for SpirvCompilation
impl Send for SpirvCompilation
impl Sync for SpirvCompilation
impl Unpin for SpirvCompilation
impl UnwindSafe for SpirvCompilation
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more