summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_draw.c
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>2010-05-19 18:46:45 +0200
committerJerome Glisse <jglisse@redhat.com>2010-05-27 23:24:22 +0200
commit9e8a6f801d360f85cc7bb53b85f15129b07b26da (patch)
tree12d5d3bd39ece8e88fa4016bfe815e09607583ff /src/gallium/drivers/r600/r600_draw.c
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_draw.c')
-rw-r--r--src/gallium/drivers/r600/r600_draw.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/r600_draw.c b/src/gallium/drivers/r600/r600_draw.c
index aa254faf15..26cc94f857 100644
--- a/src/gallium/drivers/r600/r600_draw.c
+++ b/src/gallium/drivers/r600/r600_draw.c
@@ -99,11 +99,11 @@ static int r600_draw_common(struct r600_draw *draw)
if (r)
return r;
- for (i = 0 ; i < rctx->nvertex_element; i++) {
- j = rctx->vertex_element[i].vertex_buffer_index;
+ for (i = 0 ; i < rctx->vertex_elements->count; i++) {
+ j = rctx->vertex_elements->elements[i].vertex_buffer_index;
rbuffer = (struct r600_buffer*)rctx->vertex_buffer[j].buffer;
- offset = rctx->vertex_element[i].src_offset + rctx->vertex_buffer[j].buffer_offset;
- r = r600_conv_pipe_format(rctx->vertex_element[i].src_format, &format);
+ offset = rctx->vertex_elements->elements[i].src_offset + rctx->vertex_buffer[j].buffer_offset;
+ r = r600_conv_pipe_format(rctx->vertex_elements->elements[i].src_format, &format);
if (r)
return r;
vs_resource = radeon_state(rscreen->rw, R600_VS_RESOURCE_TYPE, R600_VS_RESOURCE + i);