[go: up one dir, main page]

Trait gfx::handle::Producer []

pub trait Producer<R> where 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>,
            (u16, u16, u16, AaMode))
            -> RawRenderTargetView<R>; fn make_dsv(&mut self,
            R::DepthStencilView,
            &RawTexture<R>,
            (u16, u16, u16, AaMode))
            -> 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, B, C, D, E, F, G, H, I, J, K>(&mut self,
                                                  &mut T,
                                                  A,
                                                  B,
                                                  C,
                                                  D,
                                                  E,
                                                  F,
                                                  G,
                                                  H,
                                                  I,
                                                  J,
                                                  K) where 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) -> (); }

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