mesa/st: Avoid extra references in the feedback draw function scope.

The change removes the reference that is held on the entries of the
vbuffers[] array. The new code does not do that anymore as following
the code into draw_set_vertex_buffers() the draw context holds an
other reference as long as it is reset down the function again.
So it should be already by that argument save to remove that
additional reference count.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Mathias Fröhlich <Mathias.Froehlich@web.de>
This commit is contained in:
Mathias Fröhlich 2018-11-01 19:03:26 +01:00 committed by Mathias Fröhlich
parent 6705188cc5
commit a00a8fb8d1
1 changed files with 1 additions and 2 deletions

View File

@ -185,7 +185,7 @@ st_feedback_draw_vbo(struct gl_context *ctx,
vbuffers[attr].buffer.resource = NULL;
vbuffers[attr].is_user_buffer = false;
pipe_resource_reference(&vbuffers[attr].buffer.resource, stobj->buffer);
vbuffers[attr].buffer.resource = stobj->buffer;
vbuffers[attr].buffer_offset = _mesa_draw_binding_offset(binding);
velements[attr].src_offset =
_mesa_draw_attributes_relative_offset(attrib);
@ -275,7 +275,6 @@ st_feedback_draw_vbo(struct gl_context *ctx,
if (vb_transfer[attr])
pipe_buffer_unmap(pipe, vb_transfer[attr]);
draw_set_mapped_vertex_buffer(draw, attr, NULL, 0);
pipe_vertex_buffer_unreference(&vbuffers[attr]);
}
draw_set_vertex_buffers(draw, 0, vp->num_inputs, NULL);
}