summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_context.h
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2010-05-19 18:46:45 +0200
committerJerome Glisse <[email protected]>2010-05-27 23:24:22 +0200
commit9e8a6f801d360f85cc7bb53b85f15129b07b26da (patch)
tree12d5d3bd39ece8e88fa4016bfe815e09607583ff /src/gallium/drivers/r600/r600_context.h
parente68b4e50536b3438a3bb8c3d12acebc6845461a8 (diff)
r600g: various fixes
- enabled flushing a buffer more than once - enabled the blitter for r600_clear - added some more colors to r600_is_format_supported (copied from r600_conv_pipe_format) - r600_set_framebuffer_state now sets rctx->fb_state - more states are saved before a blit (had to add some accounting for the viewport and the vertex elements state) - fixed a few errors with reference counting
Diffstat (limited to 'src/gallium/drivers/r600/r600_context.h')
-rw-r--r--src/gallium/drivers/r600/r600_context.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_context.h b/src/gallium/drivers/r600/r600_context.h
index afe544819c8..b8ce8b88cae 100644
--- a/src/gallium/drivers/r600/r600_context.h
+++ b/src/gallium/drivers/r600/r600_context.h
@@ -35,6 +35,13 @@
struct r600_state;
typedef void (*r600_state_destroy_t)(struct r600_state *rstate);
+/* XXX move this to a more appropriate place */
+struct r600_vertex_elements_state
+{
+ unsigned count;
+ struct pipe_vertex_element elements[32];
+};
+
struct r600_state {
unsigned type;
struct r600_atom *atom;
@@ -63,13 +70,13 @@ struct r600_context {
struct r600_pipe_shader *vs_shader;
unsigned flat_shade;
unsigned nvertex_buffer;
- unsigned nvertex_element;
+ struct r600_vertex_elements_state *vertex_elements;
struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS];
- struct pipe_vertex_element vertex_element[PIPE_MAX_ATTRIBS];
struct blitter_context *blitter;
struct pipe_stencil_ref stencil_ref;
struct pipe_framebuffer_state fb_state;
struct radeon_draw *draw;
+ struct pipe_viewport_state *viewport;
};
void r600_draw_arrays(struct pipe_context *ctx, unsigned mode,