Struct wgsl_to_wgpu::WriteOptions

source ·
pub struct WriteOptions {
    pub derive_bytemuck_vertex: bool,
    pub derive_bytemuck_host_shareable: bool,
    pub derive_encase_host_shareable: bool,
    pub derive_serde: bool,
    pub matrix_vector_types: MatrixVectorTypes,
}
Expand description

Options for configuring the generated bindings to work with additional dependencies. Use WriteOptions::default for only requiring WGPU itself.

Fields§

§derive_bytemuck_vertex: bool

Derive bytemuck::Pod and bytemuck::Zeroable for WGSL vertex input structs when true.

§derive_bytemuck_host_shareable: bool

Derive bytemuck::Pod and bytemuck::Zeroable for user defined WGSL structs for host-shareable types (uniform and storage buffers) when true.

This will generate compile time assertions to check that the memory layout of structs and struct fields matches what is expected by WGSL. This does not account for all layout and alignment rules like storage buffer offset alignment.

Most applications should instead handle these requirements more reliably at runtime using encase.

§derive_encase_host_shareable: bool

Derive encase::ShaderType for user defined WGSL structs for host-shareable types (uniform and storage buffers) when true. Use MatrixVectorTypes::Glam for best compatibility.

§derive_serde: bool

Derive serde::Serialize and serde::Deserialize for user defined WGSL structs when true.

§matrix_vector_types: MatrixVectorTypes

The format to use for matrix and vector types.

Trait Implementations§

source§

impl Clone for WriteOptions

source§

fn clone(&self) -> WriteOptions

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for WriteOptions

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for WriteOptions

source§

fn default() -> WriteOptions

Returns the “default value” for a type. Read more
source§

impl PartialEq for WriteOptions

source§

fn eq(&self, other: &WriteOptions) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for WriteOptions

source§

impl Eq for WriteOptions

source§

impl StructuralPartialEq for WriteOptions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

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

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

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

source§

fn equivalent(&self, key: &K) -> bool

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

impl<T> WasmNotSend for T
where T: Send,

source§

impl<T> WasmNotSendSync for T

source§

impl<T> WasmNotSync for T
where T: Sync,