Trait gfx_core::command::Buffer [] [src]

pub trait Buffer<R: Resources>: Send {
    fn reset(&mut self);
    fn bind_pipeline_state(&mut self, _: R::PipelineStateObject);
    fn bind_vertex_buffers(&mut self, _: VertexBufferSet<R>);
    fn bind_constant_buffers(&mut self, _: &[ConstantBufferParam<R>]);
    fn bind_global_constant(&mut self, _: Location, _: UniformValue);
    fn bind_resource_views(&mut self, _: &[ResourceViewParam<R>]);
    fn bind_unordered_views(&mut self, _: &[UnorderedViewParam<R>]);
    fn bind_samplers(&mut self, _: &[SamplerParam<R>]);
    fn bind_pixel_targets(&mut self, _: PixelTargetSet<R>);
    fn bind_index(&mut self, _: R::Buffer, _: IndexType);
    fn set_scissor(&mut self, _: Rect);
    fn set_ref_values(&mut self, _: RefValues);
    fn copy_buffer(
        &mut self,
        src: R::Buffer,
        dst: R::Buffer,
        src_offset_bytes: usize,
        dst_offset_bytes: usize,
        size_bytes: usize
    ); fn copy_buffer_to_texture(
        &mut self,
        src: R::Buffer,
        src_offset_bytes: usize,
        dst: R::Texture,
        _: Kind,
        _: Option<CubeFace>,
        _: RawImageInfo
    ); fn copy_texture_to_buffer(
        &mut self,
        src: R::Texture,
        _: Kind,
        _: Option<CubeFace>,
        _: RawImageInfo,
        dst: R::Buffer,
        dst_offset_bytes: usize
    ); fn update_buffer(&mut self, _: R::Buffer, data: &[u8], offset: usize); fn update_texture(
        &mut self,
        _: R::Texture,
        _: Kind,
        _: Option<CubeFace>,
        data: &[u8],
        _: RawImageInfo
    ); fn generate_mipmap(&mut self, _: R::ShaderResourceView); fn clear_color(&mut self, _: R::RenderTargetView, _: ClearColor); fn clear_depth_stencil(
        &mut self,
        _: R::DepthStencilView,
        _: Option<Depth>,
        _: Option<Stencil>
    ); fn call_draw(
        &mut self,
        _: VertexCount,
        _: VertexCount,
        _: Option<InstanceParams>
    ); fn call_draw_indexed(
        &mut self,
        _: VertexCount,
        _: VertexCount,
        _: VertexCount,
        _: Option<InstanceParams>
    ); }

An interface of the abstract command buffer. It collects commands in an efficient API-specific manner, to be ready for execution on the device.

Required Methods

Reset the command buffer contents, retain the allocated storage

Bind a pipeline state object

Bind a complete set of vertex buffers

Bind a complete set of constant buffers

Bind a global constant

Bind a complete set of shader resource views

Bind a complete set of unordered access views

Bind a complete set of samplers

Bind a complete set of pixel targets, including multiple colors views and an optional depth/stencil view.

Bind an index buffer

Set scissor rectangle

Set reference values for the blending and stencil front/back

Copy part of a buffer to another

Copy part of a buffer to a texture

Copy part of a texture to a buffer

Update a vertex/index/uniform buffer

Update a texture

Clear color target

Draw a primitive

Draw a primitive with index buffer

Implementors