[Mesa-dev] [PATCH 1/8] i965: Consolidate code for setting brw->ib.start_vertex_offset.
Ian Romanick
idr at freedesktop.org
Thu Mar 13 09:06:31 PDT 2014
Patches 1, 2, 4, 6, 7, and 8 are
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
I separately sent some questions about 3 and 5.
On 03/13/2014 01:57 AM, Kenneth Graunke wrote:
> This was set identically in three places.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/mesa/drivers/dri/i965/brw_draw_upload.c | 15 ++++++---------
> 1 file changed, 6 insertions(+), 9 deletions(-)
>
> This is just a series of tidying and commenting, for the most part.
> Patch 7 has an actual change.
>
> diff --git a/src/mesa/drivers/dri/i965/brw_draw_upload.c b/src/mesa/drivers/dri/i965/brw_draw_upload.c
> index d42c074..3c537a5 100644
> --- a/src/mesa/drivers/dri/i965/brw_draw_upload.c
> +++ b/src/mesa/drivers/dri/i965/brw_draw_upload.c
> @@ -841,12 +841,10 @@ static void brw_upload_indices(struct brw_context *brw)
> /* Turn into a proper VBO:
> */
> if (!_mesa_is_bufferobj(bufferobj)) {
> -
> /* Get new bufferobj, offset:
> */
> intel_upload_data(brw, index_buffer->ptr, ib_size, ib_type_size,
> &bo, &offset);
> - brw->ib.start_vertex_offset = offset / ib_type_size;
> } else {
> offset = (GLuint) (unsigned long) index_buffer->ptr;
>
> @@ -865,22 +863,21 @@ static void brw_upload_indices(struct brw_context *brw)
> MAP_INTERNAL);
>
> intel_upload_data(brw, map, ib_size, ib_type_size, &bo, &offset);
> - brw->ib.start_vertex_offset = offset / ib_type_size;
>
> ctx->Driver.UnmapBuffer(ctx, bufferobj, MAP_INTERNAL);
> } else {
> - /* Use CMD_3D_PRIM's start_vertex_offset to avoid re-uploading
> - * the index buffer state when we're just moving the start index
> - * of our drawing.
> - */
> - brw->ib.start_vertex_offset = offset / ib_type_size;
> -
> bo = intel_bufferobj_buffer(brw, intel_buffer_object(bufferobj),
> offset, ib_size);
> drm_intel_bo_reference(bo);
> }
> }
>
> + /* Use 3DPRIMITIVE's start_vertex_offset to avoid re-uploading
> + * the index buffer state when we're just moving the start index
> + * of our drawing.
> + */
> + brw->ib.start_vertex_offset = offset / ib_type_size;
> +
> if (brw->ib.bo != bo) {
> drm_intel_bo_unreference(brw->ib.bo);
> brw->ib.bo = bo;
>
More information about the mesa-dev
mailing list