Trait gfx::handle::Producer  
                   
                       [−]
                   
               [src]
pub trait Producer<R> where
R: Resources, { fn make_buffer(
&mut self,
<R as Resources>::Buffer,
BufferInfo
) -> RawBuffer<R>; fn make_shader(&mut self, <R as Resources>::Shader) -> Shader<R>; fn make_program(
&mut self,
<R as Resources>::Program,
ProgramInfo
) -> Program<R>; fn make_pso(
&mut self,
<R as Resources>::PipelineStateObject,
&Program<R>
) -> RawPipelineState<R>; fn make_texture(
&mut self,
<R as Resources>::Texture,
Descriptor
) -> RawTexture<R>; fn make_buffer_srv(
&mut self,
<R as Resources>::ShaderResourceView,
&RawBuffer<R>
) -> RawShaderResourceView<R>; fn make_texture_srv(
&mut self,
<R as Resources>::ShaderResourceView,
&RawTexture<R>
) -> RawShaderResourceView<R>; fn make_buffer_uav(
&mut self,
<R as Resources>::UnorderedAccessView,
&RawBuffer<R>
) -> RawUnorderedAccessView<R>; fn make_texture_uav(
&mut self,
<R as Resources>::UnorderedAccessView,
&RawTexture<R>
) -> RawUnorderedAccessView<R>; fn make_rtv(
&mut self,
<R as Resources>::RenderTargetView,
&RawTexture<R>,
(u16, u16, u16, AaMode)
) -> RawRenderTargetView<R>; fn make_dsv(
&mut self,
<R as Resources>::DepthStencilView,
&RawTexture<R>,
(u16, u16, u16, AaMode)
) -> RawDepthStencilView<R>; fn make_sampler(
&mut self,
<R as Resources>::Sampler,
SamplerInfo
) -> Sampler<R>; fn make_fence(&mut self, name: <R as Resources>::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 as Resources>::Buffer),
B: Fn(&mut T, &<R as Resources>::Shader),
C: Fn(&mut T, &<R as Resources>::Program),
D: Fn(&mut T, &<R as Resources>::PipelineStateObject),
E: Fn(&mut T, &<R as Resources>::Texture),
F: Fn(&mut T, &<R as Resources>::ShaderResourceView),
G: Fn(&mut T, &<R as Resources>::UnorderedAccessView),
H: Fn(&mut T, &<R as Resources>::RenderTargetView),
I: Fn(&mut T, &<R as Resources>::DepthStencilView),
J: Fn(&mut T, &<R as Resources>::Sampler),
K: Fn(&mut T, &<R as Resources>::Fence); }
A service trait to be used by the device implementation
Required Methods
fn make_buffer(&mut self, <R as Resources>::Buffer, BufferInfo) -> RawBuffer<R>
fn make_shader(&mut self, <R as Resources>::Shader) -> Shader<R>
fn make_program(&mut self, <R as Resources>::Program, ProgramInfo) -> Program<R>
fn make_pso(
    &mut self, 
    <R as Resources>::PipelineStateObject, 
    &Program<R>
) -> RawPipelineState<R>
&mut self,
<R as Resources>::PipelineStateObject,
&Program<R>
) -> RawPipelineState<R>
fn make_texture(
    &mut self, 
    <R as Resources>::Texture, 
    Descriptor
) -> RawTexture<R>
&mut self,
<R as Resources>::Texture,
Descriptor
) -> RawTexture<R>
fn make_buffer_srv(
    &mut self, 
    <R as Resources>::ShaderResourceView, 
    &RawBuffer<R>
) -> RawShaderResourceView<R>
&mut self,
<R as Resources>::ShaderResourceView,
&RawBuffer<R>
) -> RawShaderResourceView<R>
fn make_texture_srv(
    &mut self, 
    <R as Resources>::ShaderResourceView, 
    &RawTexture<R>
) -> RawShaderResourceView<R>
&mut self,
<R as Resources>::ShaderResourceView,
&RawTexture<R>
) -> RawShaderResourceView<R>
fn make_buffer_uav(
    &mut self, 
    <R as Resources>::UnorderedAccessView, 
    &RawBuffer<R>
) -> RawUnorderedAccessView<R>
&mut self,
<R as Resources>::UnorderedAccessView,
&RawBuffer<R>
) -> RawUnorderedAccessView<R>
fn make_texture_uav(
    &mut self, 
    <R as Resources>::UnorderedAccessView, 
    &RawTexture<R>
) -> RawUnorderedAccessView<R>
&mut self,
<R as Resources>::UnorderedAccessView,
&RawTexture<R>
) -> RawUnorderedAccessView<R>
fn make_rtv(
    &mut self, 
    <R as Resources>::RenderTargetView, 
    &RawTexture<R>, 
    (u16, u16, u16, AaMode)
) -> RawRenderTargetView<R>
&mut self,
<R as Resources>::RenderTargetView,
&RawTexture<R>,
(u16, u16, u16, AaMode)
) -> RawRenderTargetView<R>
fn make_dsv(
    &mut self, 
    <R as Resources>::DepthStencilView, 
    &RawTexture<R>, 
    (u16, u16, u16, AaMode)
) -> RawDepthStencilView<R>
&mut self,
<R as Resources>::DepthStencilView,
&RawTexture<R>,
(u16, u16, u16, AaMode)
) -> RawDepthStencilView<R>
fn make_sampler(&mut self, <R as Resources>::Sampler, SamplerInfo) -> Sampler<R>
fn make_fence(&mut self, name: <R as Resources>::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 as Resources>::Buffer),
    B: Fn(&mut T, &<R as Resources>::Shader),
    C: Fn(&mut T, &<R as Resources>::Program),
    D: Fn(&mut T, &<R as Resources>::PipelineStateObject),
    E: Fn(&mut T, &<R as Resources>::Texture),
    F: Fn(&mut T, &<R as Resources>::ShaderResourceView),
    G: Fn(&mut T, &<R as Resources>::UnorderedAccessView),
    H: Fn(&mut T, &<R as Resources>::RenderTargetView),
    I: Fn(&mut T, &<R as Resources>::DepthStencilView),
    J: Fn(&mut T, &<R as Resources>::Sampler),
    K: Fn(&mut T, &<R as Resources>::Fence), 
&mut self,
&mut T,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K
) where
A: Fn(&mut T, &<R as Resources>::Buffer),
B: Fn(&mut T, &<R as Resources>::Shader),
C: Fn(&mut T, &<R as Resources>::Program),
D: Fn(&mut T, &<R as Resources>::PipelineStateObject),
E: Fn(&mut T, &<R as Resources>::Texture),
F: Fn(&mut T, &<R as Resources>::ShaderResourceView),
G: Fn(&mut T, &<R as Resources>::UnorderedAccessView),
H: Fn(&mut T, &<R as Resources>::RenderTargetView),
I: Fn(&mut T, &<R as Resources>::DepthStencilView),
J: Fn(&mut T, &<R as Resources>::Sampler),
K: Fn(&mut T, &<R as Resources>::Fence),
Walk through all the handles, keep ones that are reference elsewhere and call the provided delete function (resource-specific) for others