Trait gfx_core::handle::Producer [] [src]

pub trait Producer<R: Resources> {
    fn make_buffer(&mut self, _: R::Buffer, _: BufferInfo) -> RawBuffer<R>;
fn make_shader(&mut self, _: R::Shader) -> Shader<R>;
fn make_program(&mut self, _: R::Program, _: ProgramInfo) -> Program<R>;
fn make_pso(
        &mut self,
        _: R::PipelineStateObject,
        _: &Program<R>
    ) -> RawPipelineState<R>;
fn make_texture(&mut self, _: R::Texture, _: Descriptor) -> RawTexture<R>;
fn make_buffer_srv(
        &mut self,
        _: R::ShaderResourceView,
        _: &RawBuffer<R>
    ) -> RawShaderResourceView<R>;
fn make_texture_srv(
        &mut self,
        _: R::ShaderResourceView,
        _: &RawTexture<R>
    ) -> RawShaderResourceView<R>;
fn make_buffer_uav(
        &mut self,
        _: R::UnorderedAccessView,
        _: &RawBuffer<R>
    ) -> RawUnorderedAccessView<R>;
fn make_texture_uav(
        &mut self,
        _: R::UnorderedAccessView,
        _: &RawTexture<R>
    ) -> RawUnorderedAccessView<R>;
fn make_rtv(
        &mut self,
        _: R::RenderTargetView,
        _: &RawTexture<R>,
        _: Dimensions
    ) -> RawRenderTargetView<R>;
fn make_dsv(
        &mut self,
        _: R::DepthStencilView,
        _: &RawTexture<R>,
        _: Dimensions
    ) -> RawDepthStencilView<R>;
fn make_sampler(&mut self, _: R::Sampler, _: SamplerInfo) -> Sampler<R>;
fn make_fence(&mut self, name: R::Fence) -> Fence<R>;
fn clean_with<T, A: Fn(&mut T, &R::Buffer), B: Fn(&mut T, &R::Shader), C: Fn(&mut T, &R::Program), D: Fn(&mut T, &R::PipelineStateObject), E: Fn(&mut T, &R::Texture), F: Fn(&mut T, &R::ShaderResourceView), G: Fn(&mut T, &R::UnorderedAccessView), H: Fn(&mut T, &R::RenderTargetView), I: Fn(&mut T, &R::DepthStencilView), J: Fn(&mut T, &R::Sampler), K: Fn(&mut T, &R::Fence)>(
        &mut self,
        _: &mut T,
        _: A,
        _: B,
        _: C,
        _: D,
        _: E,
        _: F,
        _: G,
        _: H,
        _: I,
        _: J,
        _: K
    ); }

A service trait to be used by the device implementation

Required Methods

Walk through all the handles, keep ones that are reference elsewhere and call the provided delete function (resource-specific) for others

Implementors