Trait gfx::device::handle::Producer
[−]
[src]
pub trait Producer<R: Resources> { fn make_buffer(&mut self, R::Buffer, BufferInfo) -> RawBuffer<R>; fn make_array_buffer(&mut self, R::ArrayBuffer) -> ArrayBuffer<R>; fn make_shader(&mut self, R::Shader, Stage) -> Shader<R>; fn make_program(&mut self, R::Program, ProgramInfo) -> Program<R>; fn make_frame_buffer(&mut self, R::FrameBuffer) -> FrameBuffer<R>; fn make_surface(&mut self, R::Surface, SurfaceInfo) -> Surface<R>; fn make_texture(&mut self, R::Texture, TextureInfo) -> Texture<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, F1: Fn(&mut T, &R::Buffer), F2: Fn(&mut T, &R::ArrayBuffer), F3: Fn(&mut T, &R::Shader), F4: Fn(&mut T, &R::Program), F5: Fn(&mut T, &R::FrameBuffer), F6: Fn(&mut T, &R::Surface), F7: Fn(&mut T, &R::Texture), F8: Fn(&mut T, &R::Sampler), F9: Fn(&mut T, &R::Fence)>(&mut self, &mut T, F1, F2, F3, F4, F5, F6, F7, F8, F9); }
A service trait to be used by the device implementation
Required Methods
fn make_buffer(&mut self, R::Buffer, BufferInfo) -> RawBuffer<R>
fn make_array_buffer(&mut self, R::ArrayBuffer) -> ArrayBuffer<R>
fn make_shader(&mut self, R::Shader, Stage) -> Shader<R>
fn make_program(&mut self, R::Program, ProgramInfo) -> Program<R>
fn make_frame_buffer(&mut self, R::FrameBuffer) -> FrameBuffer<R>
fn make_surface(&mut self, R::Surface, SurfaceInfo) -> Surface<R>
fn make_texture(&mut self, R::Texture, TextureInfo) -> Texture<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, F1: Fn(&mut T, &R::Buffer), F2: Fn(&mut T, &R::ArrayBuffer), F3: Fn(&mut T, &R::Shader), F4: Fn(&mut T, &R::Program), F5: Fn(&mut T, &R::FrameBuffer), F6: Fn(&mut T, &R::Surface), F7: Fn(&mut T, &R::Texture), F8: Fn(&mut T, &R::Sampler), F9: Fn(&mut T, &R::Fence)>(&mut self, &mut T, F1, F2, F3, F4, F5, F6, F7, F8, F9)
Walk through all the handles, keep ones that are reference elsewhere and call the provided delete function (resource-specific) for others