pub struct CreateShaderModuleDescriptorPassthrough<'a, L> {
pub entry_point: String,
pub label: L,
pub num_workgroups: (u32, u32, u32),
pub runtime_checks: ShaderRuntimeChecks,
pub spirv: Option<Cow<'a, [u32]>>,
pub dxil: Option<Cow<'a, [u8]>>,
pub msl: Option<Cow<'a, str>>,
pub hlsl: Option<Cow<'a, str>>,
pub glsl: Option<Cow<'a, str>>,
pub wgsl: Option<Cow<'a, str>>,
}
Expand description
Descriptor for a shader module given by any of several sources.
These shaders are passed through directly to the underlying api.
At least one shader type that may be used by the backend must be Some
or a panic is raised.
Fields§
§entry_point: String
Entrypoint. Unused for Spir-V.
label: L
Debug label of the shader module. This will show up in graphics debuggers for easy identification.
num_workgroups: (u32, u32, u32)
Number of workgroups in each dimension x, y and z. Unused for Spir-V.
runtime_checks: ShaderRuntimeChecks
Runtime checks that should be enabled.
spirv: Option<Cow<'a, [u32]>>
Binary SPIR-V data, in 4-byte words.
dxil: Option<Cow<'a, [u8]>>
Shader DXIL source.
msl: Option<Cow<'a, str>>
Shader MSL source.
hlsl: Option<Cow<'a, str>>
Shader HLSL source.
glsl: Option<Cow<'a, str>>
Shader GLSL source (currently unused).
wgsl: Option<Cow<'a, str>>
Shader WGSL source.
Implementations§
Source§impl<'a, L> CreateShaderModuleDescriptorPassthrough<'a, L>
impl<'a, L> CreateShaderModuleDescriptorPassthrough<'a, L>
Sourcepub fn map_label<K>(
&self,
fun: impl FnOnce(&L) -> K,
) -> CreateShaderModuleDescriptorPassthrough<'a, K>
pub fn map_label<K>( &self, fun: impl FnOnce(&L) -> K, ) -> CreateShaderModuleDescriptorPassthrough<'a, K>
Takes a closure and maps the label of the shader module descriptor into another.
Sourcepub fn trace_data(&self) -> &[u8] ⓘ
Available on crate feature trace
only.
pub fn trace_data(&self) -> &[u8] ⓘ
trace
only.Returns the source data for tracing purpose.
Sourcepub fn trace_binary_ext(&self) -> &'static str
Available on crate feature trace
only.
pub fn trace_binary_ext(&self) -> &'static str
trace
only.Returns the binary file extension for tracing purpose.
Trait Implementations§
Source§impl<'a, L: Clone> Clone for CreateShaderModuleDescriptorPassthrough<'a, L>
impl<'a, L: Clone> Clone for CreateShaderModuleDescriptorPassthrough<'a, L>
Source§fn clone(&self) -> CreateShaderModuleDescriptorPassthrough<'a, L>
fn clone(&self) -> CreateShaderModuleDescriptorPassthrough<'a, L>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more