Enum wgpu::StorageTextureAccess
source · [−]pub enum StorageTextureAccess {
WriteOnly,
ReadOnly,
ReadWrite,
}
Expand description
Specific type of a sample in a texture binding.
For use in BindingType::StorageTexture
.
Corresponds to WebGPU GPUStorageTextureAccess
.
Variants
WriteOnly
The texture can only be written in the shader and it:
- may or may not be annotated with
write
(WGSL). - must be annotated with
writeonly
(GLSL).
Example WGSL syntax:
@group(0) @binding(0)
var my_storage_image: texture_storage_2d<f32, write>;
Example GLSL syntax:
layout(set=0, binding=0, r32f) writeonly uniform image2D myStorageImage;
ReadOnly
The texture can only be read in the shader and it must be annotated with read
(WGSL) or
readonly
(GLSL).
Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES
must be enabled to use this access
mode. This is a native-only extension.
Example WGSL syntax:
@group(0) @binding(0)
var my_storage_image: texture_storage_2d<f32, read>;
Example GLSL syntax:
layout(set=0, binding=0, r32f) readonly uniform image2D myStorageImage;
ReadWrite
The texture can be both read and written in the shader and must be annotated with
read_write
in WGSL.
Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES
must be enabled to use this access
mode. This is a nonstandard, native-only extension.
Example WGSL syntax:
@group(0) @binding(0)
var my_storage_image: texture_storage_2d<f32, read_write>;
Example GLSL syntax:
layout(set=0, binding=0, r32f) uniform image2D myStorageImage;
Trait Implementations
sourceimpl Clone for StorageTextureAccess
impl Clone for StorageTextureAccess
sourcefn clone(&self) -> StorageTextureAccess
fn clone(&self) -> StorageTextureAccess
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for StorageTextureAccess
impl Debug for StorageTextureAccess
sourceimpl<'de> Deserialize<'de> for StorageTextureAccess
impl<'de> Deserialize<'de> for StorageTextureAccess
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<StorageTextureAccess, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<StorageTextureAccess, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
sourceimpl Hash for StorageTextureAccess
impl Hash for StorageTextureAccess
sourceimpl PartialEq<StorageTextureAccess> for StorageTextureAccess
impl PartialEq<StorageTextureAccess> for StorageTextureAccess
sourcefn eq(&self, other: &StorageTextureAccess) -> bool
fn eq(&self, other: &StorageTextureAccess) -> bool
sourceimpl Serialize for StorageTextureAccess
impl Serialize for StorageTextureAccess
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for StorageTextureAccess
impl Eq for StorageTextureAccess
impl StructuralEq for StorageTextureAccess
impl StructuralPartialEq for StorageTextureAccess
Auto Trait Implementations
impl RefUnwindSafe for StorageTextureAccess
impl Send for StorageTextureAccess
impl Sync for StorageTextureAccess
impl Unpin for StorageTextureAccess
impl UnwindSafe for StorageTextureAccess
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.