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 dynamic_storage_buffer_offsets_targets: DynamicStorageBufferOffsetsTargets,
pub zero_initialize_workgroup_memory: bool,
pub restrict_indexing: bool,
pub force_loop_bounding: bool,
}Expand description
Configuration used in the Writer.
Fields§
§shader_model: ShaderModelThe hlsl shader model to be used
binding_map: BindingMapMap of resources association to binding locations.
fake_missing_bindings: boolDon’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: SamplerHeapBindTargetsBind target of the sampler heap and comparison sampler heap.
sampler_buffer_binding_map: SamplerIndexBufferBindingMapMapping of each bind group’s sampler index buffer to a bind target.
dynamic_storage_buffer_offsets_targets: DynamicStorageBufferOffsetsTargetsBind target for dynamic storage buffer offsets
zero_initialize_workgroup_memory: boolShould workgroup variables be zero initialized (by polyfilling)?
restrict_indexing: boolShould we restrict indexing of vectors, matrices and arrays?
force_loop_bounding: boolIf set, loops will have code injected into them, forcing the compiler to think the number of iterations is bounded.
Trait Implementations§
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§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
Compare self to
key and return true if they are equal.