pub struct ToolOptimizer { /* private fields */ }

Trait Implementations§

source§

impl Default for ToolOptimizer

source§

fn default() -> ToolOptimizer

Returns the “default value” for a type. Read more
source§

impl Optimizer for ToolOptimizer

source§

fn register_pass(&mut self, pass: Passes) -> &mut Self

Register a single pass with the the optimizer.

source§

fn register_performance_passes(&mut self) -> &mut Self

Registers passes that attempt to improve performance of generated code. This sequence of passes is subject to constant review and will change from time to time.

source§

fn register_size_passes(&mut self) -> &mut Self

Registers passes that attempt to improve the size of generated code. This sequence of passes is subject to constant review and will change from time to time.

source§

fn register_hlsl_legalization_passes(&mut self) -> &mut Self

Registers passes that attempt to legalize the generated code.

Note: this recipe is specially designed for legalizing SPIR-V. It should be used by compilers after translating HLSL source code literally. It should not be used by general workloads for performance or size improvement.

This sequence of passes is subject to constant review and will change from time to time.

source§

fn with_env(target_env: TargetEnv) -> Self

source§

fn optimize<MC: MessageCallback>( &self, input: impl AsRef<[u32]>, msg_callback: &mut MC, options: Option<Options> ) -> Result<Binary, Error>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.