mesa: Use pipe_buffer_write_nooverlap where appropriate.

This commit is contained in:
José Fonseca 2010-01-21 09:42:05 -08:00
parent 37246f854b
commit 8410f7cde3
3 changed files with 19 additions and 9 deletions

View file

@ -386,11 +386,11 @@ setup_bitmap_vertex_data(struct st_context *st,
}
/* put vertex data into vbuf */
st_no_flush_pipe_buffer_write(st,
st->bitmap.vbuf,
st->bitmap.vbuf_slot * sizeof st->bitmap.vertices,
sizeof st->bitmap.vertices,
st->bitmap.vertices);
st_no_flush_pipe_buffer_write_nooverlap(st,
st->bitmap.vbuf,
st->bitmap.vbuf_slot * sizeof st->bitmap.vertices,
sizeof st->bitmap.vertices,
st->bitmap.vertices);
return st->bitmap.vbuf_slot++ * sizeof st->bitmap.vertices;
}

View file

@ -162,10 +162,10 @@ draw_quad(GLcontext *ctx,
}
/* put vertex data into vbuf */
st_no_flush_pipe_buffer_write(st, st->clear.vbuf,
st->clear.vbuf_slot * sizeof(st->clear.vertices),
sizeof(st->clear.vertices),
st->clear.vertices);
st_no_flush_pipe_buffer_write_nooverlap(st, st->clear.vbuf,
st->clear.vbuf_slot * sizeof(st->clear.vertices),
sizeof(st->clear.vertices),
st->clear.vertices);
/* draw */
util_draw_vertex_buffer(pipe,

View file

@ -125,6 +125,16 @@ st_no_flush_pipe_buffer_write(struct st_context *st,
pipe_buffer_write(st->pipe->screen, buf, offset, size, data);
}
static INLINE void
st_no_flush_pipe_buffer_write_nooverlap(struct st_context *st,
struct pipe_buffer *buf,
unsigned int offset,
unsigned int size,
const void * data)
{
pipe_buffer_write_nooverlap(st->pipe->screen, buf, offset, size, data);
}
static INLINE void
st_cond_flush_pipe_buffer_read(struct st_context *st,
struct pipe_buffer *buf,