pub struct ProgrammableStageDescriptor<'a, SM = ShaderModuleId> {
pub module: SM,
pub entry_point: Option<Cow<'a, str>>,
pub constants: PipelineConstants,
pub zero_initialize_workgroup_memory: bool,
}Expand description
Describes a programmable pipeline stage.
Fields§
§module: SMThe compiled shader module for this stage.
entry_point: Option<Cow<'a, str>>The name of the entry point in the compiled shader. The name is selected using the following logic:
- If
Some(name)is specified, there must be a function with this name in the shader. - If a single entry point associated with this stage must be in the shader, then proceed as
if
Some(…)was specified with that entry point’s name.
constants: PipelineConstantsSpecifies the values of pipeline-overridable constants in the shader module.
If an @id attribute was specified on the declaration,
the key must be the pipeline constant ID as a decimal ASCII number; if not,
the key must be the constant’s identifier name.
The value may represent any of WGSL’s concrete scalar types.
zero_initialize_workgroup_memory: boolWhether workgroup scoped memory will be initialized with zero values for this stage.
This is required by the WebGPU spec, but may have overhead which can be avoided for cross-platform applications
Trait Implementations§
Source§impl<'a, SM: Clone> Clone for ProgrammableStageDescriptor<'a, SM>
impl<'a, SM: Clone> Clone for ProgrammableStageDescriptor<'a, SM>
Source§fn clone(&self) -> ProgrammableStageDescriptor<'a, SM>
fn clone(&self) -> ProgrammableStageDescriptor<'a, SM>
Returns a duplicate 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<'a, SM: Debug> Debug for ProgrammableStageDescriptor<'a, SM>
impl<'a, SM: Debug> Debug for ProgrammableStageDescriptor<'a, SM>
Source§impl<'de, 'a, SM> Deserialize<'de> for ProgrammableStageDescriptor<'a, SM>where
SM: Deserialize<'de>,
impl<'de, 'a, SM> Deserialize<'de> for ProgrammableStageDescriptor<'a, SM>where
SM: Deserialize<'de>,
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
Auto Trait Implementations§
impl<'a, SM> Freeze for ProgrammableStageDescriptor<'a, SM>where
SM: Freeze,
impl<'a, SM> RefUnwindSafe for ProgrammableStageDescriptor<'a, SM>where
SM: RefUnwindSafe,
impl<'a, SM> Send for ProgrammableStageDescriptor<'a, SM>where
SM: Send,
impl<'a, SM> Sync for ProgrammableStageDescriptor<'a, SM>where
SM: Sync,
impl<'a, SM> Unpin for ProgrammableStageDescriptor<'a, SM>where
SM: Unpin,
impl<'a, SM> UnwindSafe for ProgrammableStageDescriptor<'a, SM>where
SM: UnwindSafe,
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