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<r32float, 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<r32float, 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<r32float, read_write>;
Example GLSL syntax:
layout(set=0, binding=0, r32f) uniform image2D myStorageImage;
Trait Implementations§
Source§impl Clone for StorageTextureAccess
impl Clone for StorageTextureAccess
Source§fn clone(&self) -> StorageTextureAccess
fn clone(&self) -> StorageTextureAccess
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for StorageTextureAccess
impl Debug for StorageTextureAccess
Source§impl<'de> Deserialize<'de> for StorageTextureAccess
impl<'de> Deserialize<'de> for StorageTextureAccess
Source§fn 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>,
Source§impl Hash for StorageTextureAccess
impl Hash for StorageTextureAccess
Source§impl PartialEq for StorageTextureAccess
impl PartialEq for StorageTextureAccess
Source§impl Serialize for StorageTextureAccess
impl Serialize for StorageTextureAccess
Source§fn 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 StructuralPartialEq for StorageTextureAccess
Auto Trait Implementations§
impl Freeze for StorageTextureAccess
impl RefUnwindSafe for StorageTextureAccess
impl Send for StorageTextureAccess
impl Sync for StorageTextureAccess
impl Unpin for StorageTextureAccess
impl UnwindSafe for StorageTextureAccess
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.