pub struct Options {
pub shader_model: ShaderModel,
pub binding_map: BindingMap,
pub fake_missing_bindings: bool,
pub special_constants_binding: Option<BindTarget>,
pub push_constants_target: Option<BindTarget>,
pub sampler_heap_target: SamplerHeapBindTargets,
pub sampler_buffer_binding_map: SamplerIndexBufferBindingMap,
pub zero_initialize_workgroup_memory: bool,
pub restrict_indexing: bool,
}
Expand description
Configuration used in the Writer
.
Fields§
§shader_model: ShaderModel
The hlsl shader model to be used
binding_map: BindingMap
Map of resources association to binding locations.
fake_missing_bindings: bool
Don’t panic on missing bindings, instead generate any HLSL.
special_constants_binding: Option<BindTarget>
Add special constants to SV_VertexIndex
and SV_InstanceIndex
,
to make them work like in Vulkan/Metal, with help of the host.
push_constants_target: Option<BindTarget>
Bind target of the push constant buffer
sampler_heap_target: SamplerHeapBindTargets
Bind target of the sampler heap and comparison sampler heap.
sampler_buffer_binding_map: SamplerIndexBufferBindingMap
Mapping of each bind group’s sampler index buffer to a bind target.
zero_initialize_workgroup_memory: bool
Should workgroup variables be zero initialized (by polyfilling)?
restrict_indexing: bool
Should we restrict indexing of vectors, matrices and arrays?
Implementations§
source§impl Options
impl Options
fn resolve_resource_binding( &self, res_binding: &ResourceBinding, ) -> Result<BindTarget, EntryPointError>
Trait Implementations§
source§impl<'de> Deserialize<'de> for Options
impl<'de> Deserialize<'de> for Options
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Options
impl StructuralPartialEq for Options
Auto Trait Implementations§
impl Freeze for Options
impl RefUnwindSafe for Options
impl Send for Options
impl Sync for Options
impl Unpin for Options
impl UnwindSafe for Options
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.