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

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

    fn link_vertex_buffer(
        &mut self,
        _: BufferIndex,
        _: &Self::Init
    ) -> Option<VertexBufferDesc> { ... } fn link_input(
        &mut self,
        _: &AttributeVar,
        _: &Self::Init
    ) -> Option<Result<AttributeDesc, Format>> { ... } fn link_constant_buffer<'b>(
        &mut self,
        _: &'b ConstantBufferVar,
        _: &Self::Init
    ) -> Option<Result<ConstantBufferDesc, ElementError<&'b str>>> { ... } fn link_global_constant(
        &mut self,
        _: &ConstVar,
        _: &Self::Init
    ) -> Option<Result<(), CompatibilityError>> { ... } 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<ResourceViewDesc, Format>> { ... } fn link_unordered_view(
        &mut self,
        _: &UnorderedVar,
        _: &Self::Init
    ) -> Option<Result<UnorderedViewDesc, Format>> { ... } fn link_sampler(
        &mut self,
        _: &SamplerVar,
        _: &Self::Init
    ) -> Option<SamplerDesc> { ... } fn link_scissor(&mut self) -> bool { ... } }

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

Associated Types

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

Required Methods

Create a new empty data link.

Check if this link is actually used by the shader.

Provided Methods

Attempt to link with a vertex buffer containing multiple attributes.

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