Enum wgpu::BindingType[][src]

pub enum BindingType {
    Buffer {
        ty: BufferBindingType,
        has_dynamic_offset: bool,
        min_binding_size: Option<NonZeroU64>,
    },
    Sampler {
        filtering: bool,
        comparison: bool,
    },
    Texture {
        sample_type: TextureSampleType,
        view_dimension: TextureViewDimension,
        multisampled: bool,
    },
    StorageTexture {
        access: StorageTextureAccess,
        format: TextureFormat,
        view_dimension: TextureViewDimension,
    },
}

Variants

Buffer

A buffer binding.

Show fields

Fields of Buffer

ty: BufferBindingType

Sub-type of the buffer binding.

has_dynamic_offset: bool

Indicates that the binding has a dynamic offset. One offset must be passed to [RenderPass::set_bind_group] for each dynamic binding in increasing order of binding number.

min_binding_size: Option<NonZeroU64>

Minimum size of the corresponding BufferBinding required to match this entry. When pipeline is created, the size has to cover at least the corresponding structure in the shader plus one element of the unbound array, which can only be last in the structure. If None, the check is performed at draw call time instead of pipeline and bind group creation.

Sampler

A sampler that can be used to sample a texture.

Example GLSL syntax:

layout(binding = 0)
uniform sampler s;
Show fields

Fields of Sampler

filtering: bool

The sampling result is produced based on more than a single color sample from a texture, e.g. when bilinear interpolation is enabled.

A filtering sampler can only be used with a filterable texture.

comparison: bool

Use as a comparison sampler instead of a normal sampler. For more info take a look at the analogous functionality in OpenGL: https://www.khronos.org/opengl/wiki/Sampler_Object#Comparison_mode.

Texture

A texture binding.

Example GLSL syntax:

layout(binding = 0)
uniform texture2D t;
Show fields

Fields of Texture

sample_type: TextureSampleType

Sample type of the texture binding.

view_dimension: TextureViewDimension

Dimension of the texture view that is going to be sampled.

multisampled: bool

True if the texture has a sample count greater than 1. If this is true, the texture must be read from shaders with texture1DMS, texture2DMS, or texture3DMS, depending on dimension.

StorageTexture

A storage texture.

Example GLSL syntax:

layout(set=0, binding=0, r32f) uniform image2D myStorageImage;

Note that the texture format must be specified in the shader as well. A list of valid formats can be found in the specification here: https://www.khronos.org/registry/OpenGL/specs/gl/GLSLangSpec.4.60.html#layout-qualifiers

Show fields

Fields of StorageTexture

access: StorageTextureAccess

Allowed access to this texture.

format: TextureFormat

Format of the texture.

view_dimension: TextureViewDimension

Dimension of the texture view that is going to be sampled.

Implementations

impl BindingType[src]

pub fn has_dynamic_offset(&self) -> bool[src]

Returns true for buffer bindings with dynamic offset enabled.

Trait Implementations

impl Clone for BindingType[src]

pub fn clone(&self) -> BindingType[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for BindingType[src]

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for BindingType[src]

pub fn deserialize<__D>(
    __deserializer: __D
) -> Result<BindingType, <__D as Deserializer<'de>>::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Hash for BindingType[src]

pub fn hash<__H>(&self, state: &mut __H) where
    __H: Hasher
[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl PartialEq<BindingType> for BindingType[src]

pub fn eq(&self, other: &BindingType) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

pub fn ne(&self, other: &BindingType) -> bool[src]

This method tests for !=.

impl Serialize for BindingType[src]

pub fn serialize<__S>(
    &self,
    __serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl Copy for BindingType[src]

impl Eq for BindingType[src]

impl StructuralEq for BindingType[src]

impl StructuralPartialEq for BindingType[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> CallHasher for T where
    T: Hash

pub fn get_hash<H>(&self, hasher: H) -> u64 where
    H: Hasher

impl<T> Downcast<T> for T

pub fn downcast(&self) -> &T

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

pub fn equivalent(&self, key: &K) -> bool[src]

Compare self to key and return true if they are equal.

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Upcast<T> for T

pub fn upcast(&self) -> Option<&T>

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]