From: Brian Paul Date: Sat, 10 Jun 2017 03:21:12 +0000 (-0600) Subject: st/mesa: unmap the stream_uploader buffer before drawing X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=26500c3fad822ebcd7e2df186d59f96ae550ef64;p=mesa.git st/mesa: unmap the stream_uploader buffer before drawing Some drivers require that the vertex buffers be unmapped prior to drawing. This change unmaps the stream_uploader buffer after we've uploaded the zero-stride attributes (unless the driver supports rendering with mapped buffers). This fixes a regression in the VMware driver since 17f776c27be266f2. Some Mesa demos such as mandelbrot and brick would display black quads instead of the expected rendering. Reviewed-by: Marek Olšák --- diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c index c7467eb20b7..6af1355ee17 100644 --- a/src/mesa/state_tracker/st_atom_array.c +++ b/src/mesa/state_tracker/st_atom_array.c @@ -670,6 +670,10 @@ setup_non_interleaved_attribs(struct st_context *st, array->Size, array->Doubles, &attr); } + if (!ctx->Const.AllowMappedBuffersDuringExecution) { + u_upload_unmap(st->pipe->stream_uploader); + } + set_vertex_attribs(st, vbuffer, num_vbuffers, velements, num_inputs); /* Unreference uploaded zero-stride vertex buffers. */