Enum wgpu::ShaderSource [−][src]
pub enum ShaderSource<'a> {
SpirV(Cow<'a, [u32]>),
Glsl {
shader: Cow<'a, str>,
stage: ShaderStage,
defines: FastHashMap<String, String>,
},
Wgsl(Cow<'a, str>),
}
Expand description
Source of a shader module.
Variants
SpirV(Cow<'a, [u32]>)
SPIR-V module represented as a slice of words.
wgpu will attempt to parse and validate it, but the original binary
is passed to gfx-rs
and spirv_cross
for translation.
Glsl
Fields
stage: ShaderStage
Stage in which the GLSL shader is for example: naga::ShaderStage::Vertex
defines: FastHashMap<String, String>
Defines to unlock configured shader features
GLSL module as a string slice.
wgpu will attempt to parse and validate it. The module will get passed to wgpu-core where it will translate it to the required languages.
Note: GLSL is not yet fully supported and must be a direct ShaderStage.
Wgsl(Cow<'a, str>)
WGSL module as a string slice.
wgpu-rs will parse it and use for validation. It will attempt to build a SPIR-V module internally and panic otherwise.
Note: WGSL is not yet supported on the Web.