Struct wgpu_hal::ProgrammableStage
source · pub struct ProgrammableStage<'a, M: DynShaderModule + ?Sized> {
pub module: &'a M,
pub entry_point: &'a str,
pub constants: &'a PipelineConstants,
pub zero_initialize_workgroup_memory: bool,
}
Expand description
Describes a programmable pipeline stage.
Fields§
§module: &'a M
The compiled shader module for this stage.
entry_point: &'a str
The name of the entry point in the compiled shader. There must be a function with this name in the shader.
constants: &'a PipelineConstants
Pipeline constants
zero_initialize_workgroup_memory: bool
Whether 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
Implementations§
source§impl<'a> ProgrammableStage<'a, dyn DynShaderModule>
impl<'a> ProgrammableStage<'a, dyn DynShaderModule>
fn expect_downcast<T: DynShaderModule>(self) -> ProgrammableStage<'a, T>
Trait Implementations§
source§impl<M: DynShaderModule + ?Sized> Clone for ProgrammableStage<'_, M>
impl<M: DynShaderModule + ?Sized> Clone for ProgrammableStage<'_, M>
Auto Trait Implementations§
impl<'a, M> Freeze for ProgrammableStage<'a, M>where
M: ?Sized,
impl<'a, M> RefUnwindSafe for ProgrammableStage<'a, M>where
M: RefUnwindSafe + ?Sized,
impl<'a, M> Send for ProgrammableStage<'a, M>where
M: ?Sized,
impl<'a, M> Sync for ProgrammableStage<'a, M>where
M: ?Sized,
impl<'a, M> Unpin for ProgrammableStage<'a, M>where
M: ?Sized,
impl<'a, M> UnwindSafe for ProgrammableStage<'a, M>where
M: RefUnwindSafe + ?Sized,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)