pub struct ShaderDescriptor {
pub name: &'static str,
pub tier: GpuTier,
pub workgroup_size: [u32; 3],
pub entry_point: &'static str,
pub storage_bindings: u32,
pub uniform_bindings: u32,
pub description: &'static str,
}Expand description
Descriptor for a registered GPU shader.
Fields§
§name: &'static strHuman-readable name.
tier: GpuTierGPU tier classification.
workgroup_size: [u32; 3]Workgroup size [x, y, z].
entry_point: &'static strEntry point function name.
storage_bindings: u32Number of storage bindings required.
uniform_bindings: u32Number of uniform bindings required.
description: &'static strBrief description of what this shader computes.
Implementations§
Source§impl ShaderDescriptor
impl ShaderDescriptor
Sourcepub fn total_bindings(&self) -> u32
pub fn total_bindings(&self) -> u32
Total bindings (storage + uniform).
Sourcepub fn check_against_budget(
&self,
budget: &GpuMemoryBudget,
) -> Result<(), String>
pub fn check_against_budget( &self, budget: &GpuMemoryBudget, ) -> Result<(), String>
Pre-flight check against memory budget limits.
Trait Implementations§
Source§impl Clone for ShaderDescriptor
impl Clone for ShaderDescriptor
Source§fn clone(&self) -> ShaderDescriptor
fn clone(&self) -> ShaderDescriptor
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 moreAuto Trait Implementations§
impl Freeze for ShaderDescriptor
impl RefUnwindSafe for ShaderDescriptor
impl Send for ShaderDescriptor
impl Sync for ShaderDescriptor
impl Unpin for ShaderDescriptor
impl UnsafeUnpin for ShaderDescriptor
impl UnwindSafe for ShaderDescriptor
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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.