[][src]Trait spirv_tools::opt::Optimizer

pub trait Optimizer {
    fn with_env(target_env: TargetEnv) -> Self;
fn optimize<MC: MessageCallback>(
        &self,
        input: &[u32],
        msg_callback: &mut MC,
        options: Option<Options>
    ) -> Result<Binary, Error>;
fn register_pass(&mut self, pass: Passes) -> &mut Self;
fn register_performance_passes(&mut self) -> &mut Self;
fn register_size_passes(&mut self) -> &mut Self;
fn register_hlsl_legalization_passes(&mut self) -> &mut Self; }

Required methods

fn with_env(target_env: TargetEnv) -> Self

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

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

Register a single pass with the the optimizer.

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.

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.

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.

Loading content...

Implementors

impl Optimizer for CompiledOptimizer[src]

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

Register a single pass with the the optimizer.

fn register_performance_passes(&mut self) -> &mut Self[src]

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.

fn register_size_passes(&mut self) -> &mut Self[src]

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.

fn register_hlsl_legalization_passes(&mut self) -> &mut Self[src]

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.

Loading content...