pub struct FunctionInfo {
pub available_stages: ShaderStages,
pub uniformity: Uniformity,
pub may_kill: bool,
pub sampling_set: HashSet<SamplingKey, BuildHasherDefault<FxHasher>>,
pub dual_source_blending: bool,
/* private fields */
}
Fields§
§available_stages: ShaderStages
Set of shader stages where calling this function is valid.
uniformity: Uniformity
Uniformity characteristics.
may_kill: bool
Function may kill the invocation.
sampling_set: HashSet<SamplingKey, BuildHasherDefault<FxHasher>>
All pairs of (texture, sampler) globals that may be used together in sampling operations by this function and its callees. This includes pairings that arise when this function passes textures and samplers as arguments to its callees.
This table does not include uses of textures and samplers passed as arguments to this function itself, since we do not know which globals those will be. However, this table is exhaustive when computed for an entry point function: entry points never receive textures or samplers as arguments, so all an entry point’s sampling can be reported in terms of globals.
The GLSL back end uses this table to construct reflection info that clients need to construct texture-combined sampler values.
dual_source_blending: bool
Indicates that the function is using dual source blending.
Implementations§
source§impl FunctionInfo
impl FunctionInfo
pub const fn global_variable_count(&self) -> usize
pub const fn expression_count(&self) -> usize
pub fn dominates_global_use(&self, other: &FunctionInfo) -> bool
Trait Implementations§
source§impl Debug for FunctionInfo
impl Debug for FunctionInfo
source§impl Index<Handle<Expression>> for FunctionInfo
impl Index<Handle<Expression>> for FunctionInfo
§type Output = ExpressionInfo
type Output = ExpressionInfo
source§fn index(&self, handle: Handle<Expression>) -> &ExpressionInfo
fn index(&self, handle: Handle<Expression>) -> &ExpressionInfo
container[index]
) operation. Read more