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