pub struct Options<'a> {
pub lang_version: (u8, u8),
pub flags: WriterFlags,
pub fake_missing_bindings: bool,
pub binding_map: BindingMap,
pub capabilities: Option<FastHashSet<Capability>>,
pub bounds_check_policies: BoundsCheckPolicies,
pub zero_initialize_workgroup_memory: ZeroInitializeWorkgroupMemoryMode,
pub force_loop_bounding: bool,
pub use_storage_input_output_16: bool,
pub debug_info: Option<DebugInfo<'a>>,
}
Fields§
§lang_version: (u8, u8)
(Major, Minor) target version of the SPIR-V.
flags: WriterFlags
Configuration flags for the writer.
fake_missing_bindings: bool
Don’t panic on missing bindings. Instead use fake values for Binding
and DescriptorSet
decorations. This may result in invalid SPIR-V.
binding_map: BindingMap
Map of resources to information about the binding.
capabilities: Option<FastHashSet<Capability>>
If given, the set of capabilities modules are allowed to use. Code that requires capabilities beyond these is rejected with an error.
If this is None
, all capabilities are permitted.
bounds_check_policies: BoundsCheckPolicies
How should generate code handle array, vector, matrix, or image texel indices that are out of range?
zero_initialize_workgroup_memory: ZeroInitializeWorkgroupMemoryMode
Dictates the way workgroup variables should be zero initialized
force_loop_bounding: bool
If set, loops will have code injected into them, forcing the compiler to think the number of iterations is bounded.
use_storage_input_output_16: bool
Whether to use the StorageInputOutput16
capability for f16
shader I/O.
When false, f16
I/O is polyfilled using f32
types with conversions.
debug_info: Option<DebugInfo<'a>>