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 moresource§impl Debug for PipelineOptions
impl Debug for PipelineOptions
source§impl Default for PipelineOptions
impl Default for PipelineOptions
source§fn default() -> PipelineOptions
fn default() -> PipelineOptions
source§impl<'de> Deserialize<'de> for PipelineOptionswhere
PipelineOptions: Default,
impl<'de> Deserialize<'de> for PipelineOptionswhere
PipelineOptions: Default,
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>,
Auto Trait Implementations§
impl Freeze for PipelineOptions
impl RefUnwindSafe for PipelineOptions
impl Send for PipelineOptions
impl Sync for PipelineOptions
impl Unpin for PipelineOptions
impl UnwindSafe for PipelineOptions
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
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)
clone_to_uninit
)