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 */ /* put vertex data into vbuf */
st_no_flush_pipe_buffer_write(st, st_no_flush_pipe_buffer_write_nooverlap(st,
st->bitmap.vbuf, st->bitmap.vbuf,
st->bitmap.vbuf_slot * sizeof st->bitmap.vertices, st->bitmap.vbuf_slot * sizeof st->bitmap.vertices,
sizeof st->bitmap.vertices, sizeof st->bitmap.vertices,
st->bitmap.vertices); st->bitmap.vertices);
return st->bitmap.vbuf_slot++ * sizeof 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 */ /* put vertex data into vbuf */
st_no_flush_pipe_buffer_write(st, st->clear.vbuf, st_no_flush_pipe_buffer_write_nooverlap(st, st->clear.vbuf,
st->clear.vbuf_slot * sizeof(st->clear.vertices), st->clear.vbuf_slot * sizeof(st->clear.vertices),
sizeof(st->clear.vertices), sizeof(st->clear.vertices),
st->clear.vertices); st->clear.vertices);
/* draw */ /* draw */
util_draw_vertex_buffer(pipe, 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); 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 static INLINE void
st_cond_flush_pipe_buffer_read(struct st_context *st, st_cond_flush_pipe_buffer_read(struct st_context *st,
struct pipe_buffer *buf, struct pipe_buffer *buf,