ResolvedProgrammableStageDescriptor

Type Alias ResolvedProgrammableStageDescriptor 

Source
pub type ResolvedProgrammableStageDescriptor<'a> = ProgrammableStageDescriptor<'a, Arc<ShaderModule>>;
Expand description

cbindgen:ignore

Aliased Type§

pub struct ResolvedProgrammableStageDescriptor<'a> {
    pub module: Arc<ShaderModule>,
    pub entry_point: Option<Cow<'a, str>>,
    pub constants: HashMap<String, f64>,
    pub zero_initialize_workgroup_memory: bool,
}

Fields§

§module: Arc<ShaderModule>

The 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: HashMap<String, f64>

Specifies 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: 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

Trait Implementations§

Source§

impl<'a> IntoTrace for ResolvedProgrammableStageDescriptor<'a>

Available on crate feature trace and (crate features trace or replay) only.