Enum wgpu_types::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§
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 Hash for StorageTextureAccess
impl Hash for StorageTextureAccess
source§impl PartialEq for StorageTextureAccess
impl PartialEq for StorageTextureAccess
source§fn eq(&self, other: &StorageTextureAccess) -> bool
fn eq(&self, other: &StorageTextureAccess) -> bool
self
and other
values to be equal, and is used
by ==
.