Trait gfx::pso::DataLink [] [src]

pub trait DataLink<'a>: Sized {
    type Init: 'a;
    fn new() -> Self;
    fn is_active(&self) -> bool;

    fn link_input(&mut self, _: &AttributeVar, _: &Self::Init) -> Option<Result<AttributeDesc, Format>> { ... }
    fn link_constant_buffer(&mut self, _: &ConstantBufferVar, _: &Self::Init) -> Option<Result<()ConstFormat>> { ... }
    fn link_global_constant(&mut self, _: &ConstVar, _: &Self::Init) -> Option<Result<()UniformValue>> { ... }
    fn link_output(&mut self, _: &OutputVar, _: &Self::Init) -> Option<Result<ColorTargetDesc, Format>> { ... }
    fn link_depth_stencil(&mut self, _: &Self::Init) -> Option<DepthStencilDesc> { ... }
    fn link_resource_view(&mut self, _: &TextureVar, _: &Self::Init) -> Option<Result<()Format>> { ... }
    fn link_unordered_view(&mut self, _: &UnorderedVar, _: &Self::Init) -> Option<Result<()Format>> { ... }
    fn link_sampler(&mut self, _: &SamplerVar, _: &Self::Init) -> Option<()> { ... }
    fn link_scissor(&mut self) -> bool { ... }
}

The "link" logic portion of a PSO component. Defines the input data for the component.

Associated Types

type Init: 'a

The assotiated "init" type - a member of the PSO "init" struct.

Required Methods

fn new() -> Self

Create a new empty data link.

fn is_active(&self) -> bool

Check if this link is actually used by the shader.

Provided Methods

Attempt to link with a vertex attribute.

Attempt to link with a constant buffer.

Attempt to link with a global constant.

Attempt to link with an output render target (RTV).

Attempt to link with a depth-stencil target (DSV).

Attempt to link with a shader resource (SRV).

Attempt to link with an unordered access (UAV).

Attempt to link with a sampler.

Attempt to enable scissor test.

Implementors