Trait Driver

Source
pub trait Driver: IntrusiveCounter {
Show 16 methods // Required methods fn get_caps(&self) -> &DriverCaps; fn create_device_buffer( &mut self, desc: DeviceBufferDesc, ) -> Option<DeviceBufferPtr>; fn create_texture(&mut self, desc: TextureDesc) -> Option<TexturePtr>; fn create_render_target( &mut self, desc: RenderTargetDesc, ) -> Option<RenderTargetPtr>; fn create_shader(&mut self, desc: ShaderDesc) -> Option<ShaderPtr>; fn create_pipeline(&mut self, desc: PipelineDesc) -> Option<PipelinePtr>; fn create_frame_buffer( &mut self, desc: FrameBufferDesc, ) -> Option<FrameBufferPtr>; fn delete_resource(&mut self, resource_type: &ResourceType, res_id: usize); fn update_device_buffer( &mut self, dev_buf: &mut DeviceBufferPtr, offset: usize, pl: &dyn Payload, ); fn update_texture(&mut self, dev_buf: &mut TexturePtr, pl: Box<dyn Payload>); fn begin_pass(&mut self, pass: &Pass); fn end_pass(&mut self); fn set_viewport(&mut self, x: u32, y: u32, w: u32, h: u32); fn set_scissor(&mut self, x: u32, y: u32, w: u32, h: u32); fn draw( &mut self, pipe: &Pipeline, bindings: &Bindings, uniforms: *const c_void, prim_count: u32, instance_count: u32, ); fn read_back( &mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32, ) -> Option<ReadbackPayload>;
}
Expand description

Driver

Required Methods§

Source

fn get_caps(&self) -> &DriverCaps

Source

fn create_device_buffer( &mut self, desc: DeviceBufferDesc, ) -> Option<DeviceBufferPtr>

Source

fn create_texture(&mut self, desc: TextureDesc) -> Option<TexturePtr>

Source

fn create_render_target( &mut self, desc: RenderTargetDesc, ) -> Option<RenderTargetPtr>

Source

fn create_shader(&mut self, desc: ShaderDesc) -> Option<ShaderPtr>

Source

fn create_pipeline(&mut self, desc: PipelineDesc) -> Option<PipelinePtr>

Source

fn create_frame_buffer( &mut self, desc: FrameBufferDesc, ) -> Option<FrameBufferPtr>

Source

fn delete_resource(&mut self, resource_type: &ResourceType, res_id: usize)

Source

fn update_device_buffer( &mut self, dev_buf: &mut DeviceBufferPtr, offset: usize, pl: &dyn Payload, )

Source

fn update_texture(&mut self, dev_buf: &mut TexturePtr, pl: Box<dyn Payload>)

Source

fn begin_pass(&mut self, pass: &Pass)

Source

fn end_pass(&mut self)

Source

fn set_viewport(&mut self, x: u32, y: u32, w: u32, h: u32)

Source

fn set_scissor(&mut self, x: u32, y: u32, w: u32, h: u32)

Source

fn draw( &mut self, pipe: &Pipeline, bindings: &Bindings, uniforms: *const c_void, prim_count: u32, instance_count: u32, )

Source

fn read_back( &mut self, surface: &TexturePtr, x: u32, y: u32, w: u32, h: u32, ) -> Option<ReadbackPayload>

Implementors§