Mesa (master): st/mesa: unmap the stream_uploader buffer before drawing

Brian Paul brianp at kemper.freedesktop.org
Tue Jun 13 14:05:05 UTC 2017


Module: Mesa
Branch: master
Commit: 26500c3fad822ebcd7e2df186d59f96ae550ef64
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=26500c3fad822ebcd7e2df186d59f96ae550ef64

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Jun  9 21:21:12 2017 -0600

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 <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_atom_array.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c
index c7467eb20b..6af1355ee1 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. */




More information about the mesa-commit mailing list