#[non_exhaustive]pub struct CompilerOptions {Show 23 fields
pub platform: Platform,
pub version: Version,
pub vertex: CompilerVertexOptions,
pub swizzle_buffer_index: u32,
pub indirect_params_buffer_index: u32,
pub output_buffer_index: u32,
pub patch_output_buffer_index: u32,
pub tessellation_factor_buffer_index: u32,
pub buffer_size_buffer_index: u32,
pub enable_point_size_builtin: bool,
pub enable_rasterization: bool,
pub capture_output_to_buffer: bool,
pub swizzle_texture_samples: bool,
pub tessellation_domain_origin_lower_left: bool,
pub enable_argument_buffers: bool,
pub pad_fragment_output_components: bool,
pub resource_binding_overrides: BTreeMap<ResourceBindingLocation, ResourceBinding>,
pub vertex_attribute_overrides: BTreeMap<VertexAttributeLocation, VertexAttribute>,
pub const_samplers: BTreeMap<SamplerLocation, SamplerData>,
pub force_native_arrays: bool,
pub force_zero_initialized_variables: bool,
pub force_active_argument_buffer_resources: bool,
pub entry_point: Option<(String, ExecutionModel)>,
}Expand description
MSL compiler options.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.platform: PlatformThe target platform.
version: VersionThe target MSL version.
vertex: CompilerVertexOptionsVertex compiler options.
swizzle_buffer_index: u32The buffer index to use for swizzle.
indirect_params_buffer_index: u32§output_buffer_index: u32The buffer index to use for output.
patch_output_buffer_index: u32The buffer index to use for patch output.
tessellation_factor_buffer_index: u32The buffer index to use for tessellation factor.
buffer_size_buffer_index: u32The buffer index to use for buffer size.
enable_point_size_builtin: boolWhether the built-in point size should be enabled.
enable_rasterization: boolWhether rasterization should be enabled.
capture_output_to_buffer: boolWhether to capture output to buffer.
swizzle_texture_samples: boolWhether to swizzle texture samples.
tessellation_domain_origin_lower_left: boolWhether to place the origin of tessellation domain shaders in the lower left.
enable_argument_buffers: boolWhether to enable use of argument buffers (only compatible with MSL 2.0).
pad_fragment_output_components: boolWhether to pad fragment output to have at least the number of components as the render pass.
resource_binding_overrides: BTreeMap<ResourceBindingLocation, ResourceBinding>MSL resource bindings overrides.
vertex_attribute_overrides: BTreeMap<VertexAttributeLocation, VertexAttribute>MSL vertex attribute overrides.
const_samplers: BTreeMap<SamplerLocation, SamplerData>MSL const sampler mappings.
force_native_arrays: boolWhether to force native arrays (useful to workaround issues on some hardware).
force_zero_initialized_variables: boolWhether to force all uninitialized variables to be initialized to zero.
force_active_argument_buffer_resources: boolWhether to force always emit resources which are part of argument buffers
entry_point: Option<(String, ExecutionModel)>The name and execution model of the entry point to use. If no entry point is specified, then the first entry point found will be used.
Trait Implementations§
Source§impl Clone for CompilerOptions
impl Clone for CompilerOptions
Source§fn clone(&self) -> CompilerOptions
fn clone(&self) -> CompilerOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompilerOptions
impl Debug for CompilerOptions
Source§impl Default for CompilerOptions
impl Default for CompilerOptions
Source§fn default() -> CompilerOptions
fn default() -> CompilerOptions
impl Eq for CompilerOptions
Source§impl Hash for CompilerOptions
impl Hash for CompilerOptions
Source§impl PartialEq for CompilerOptions
impl PartialEq for CompilerOptions
Source§fn eq(&self, other: &CompilerOptions) -> bool
fn eq(&self, other: &CompilerOptions) -> bool
self and other values to be equal, and is used by ==.