Struct naga::back::msl::PipelineOptions
source · pub struct PipelineOptions {
pub allow_and_force_point_size: bool,
pub vertex_pulling_transform: bool,
pub vertex_buffer_mappings: Vec<VertexBufferMapping>,
}
Expand description
A subset of options that are meant to be changed per pipeline.
Fields§
§allow_and_force_point_size: bool
Allow BuiltIn::PointSize
and inject it if doesn’t exist.
Metal doesn’t like this for non-point primitive topologies and requires it for point primitive topologies.
Enable this for vertex shaders with point primitive topologies.
vertex_pulling_transform: bool
If set, when generating the Metal vertex shader, transform it to receive the vertex buffers, lengths, and vertex id as args, and bounds-check the vertex id and use the index into the vertex buffers to access attributes, rather than using Metal’s [[stage-in]] assembled attribute data. This is true by default, but remains configurable for use by tests via deserialization of this struct. There is no user-facing way to set this value.
vertex_buffer_mappings: Vec<VertexBufferMapping>
vertex_buffer_mappings are used during shader translation to support vertex pulling.
Trait Implementations§
source§impl Clone for PipelineOptions
impl Clone for PipelineOptions
source§fn clone(&self) -> PipelineOptions
fn clone(&self) -> PipelineOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more