vbuf_render Struct Reference

Interface for hardware vertex buffer rendering. More...

Collaboration diagram for vbuf_render:

Collaboration graph
[legend]

Data Fields

unsigned max_indices
 Driver limits.
unsigned max_vertex_buffer_bytes
boolean(* need_pipeline )(const struct vbuf_render *render, const struct pipe_rasterizer_state *rasterizer, unsigned int prim)
 Query if the hardware driver needs assistance for a particular combination of rasterizer state and primitive.
struct vertex_info *(* get_vertex_info )(struct vbuf_render *)
 Get the hardware vertex format.
void *(* allocate_vertices )(struct vbuf_render *, ushort vertex_size, ushort nr_vertices)
 Request a destination for vertices.
boolean(* set_primitive )(struct vbuf_render *, unsigned prim)
 Notify the renderer of the current primitive when it changes.
void(* draw )(struct vbuf_render *, const ushort *indices, uint nr_indices)
 DrawElements, note indices are ushort.
void(* draw_arrays )(struct vbuf_render *, unsigned start, uint nr)
void(* release_vertices )(struct vbuf_render *, void *vertices, unsigned vertex_size, unsigned vertices_used)
 Called when vbuf is done with this set of vertices:.
void(* destroy )(struct vbuf_render *)

Detailed Description

Interface for hardware vertex buffer rendering.

Definition at line 49 of file draw_vbuf.h.


Field Documentation

unsigned vbuf_render::max_indices

Driver limits.

May be tuned lower to improve cache hits on index list.

Definition at line 55 of file draw_vbuf.h.

unsigned vbuf_render::max_vertex_buffer_bytes

Definition at line 56 of file draw_vbuf.h.

boolean(* vbuf_render::need_pipeline)(const struct vbuf_render *render, const struct pipe_rasterizer_state *rasterizer, unsigned int prim)

Query if the hardware driver needs assistance for a particular combination of rasterizer state and primitive.

Currently optional.

struct vertex_info*(* vbuf_render::get_vertex_info)(struct vbuf_render *) [read]

Get the hardware vertex format.

XXX: have this in draw_context instead?

void*(* vbuf_render::allocate_vertices)(struct vbuf_render *, ushort vertex_size, ushort nr_vertices)

Request a destination for vertices.

Hardware renderers will use ttm memory, others will just malloc something.

boolean(* vbuf_render::set_primitive)(struct vbuf_render *, unsigned prim)

Notify the renderer of the current primitive when it changes.

Must succeed for TRIANGLES, LINES and POINTS. Other prims at the discretion of the driver, for the benefit of the passthrough path.

void(* vbuf_render::draw)(struct vbuf_render *, const ushort *indices, uint nr_indices)

DrawElements, note indices are ushort.

The driver must complete this call, if necessary splitting the index list itself.

void(* vbuf_render::draw_arrays)(struct vbuf_render *, unsigned start, uint nr)

void(* vbuf_render::release_vertices)(struct vbuf_render *, void *vertices, unsigned vertex_size, unsigned vertices_used)

Called when vbuf is done with this set of vertices:.

void(* vbuf_render::destroy)(struct vbuf_render *)


The documentation for this struct was generated from the following file:
Generated on Tue Sep 29 06:26:08 2009 for Gallium3D by  doxygen 1.5.4