summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2017-06-09 21:21:12 -0600
committerBrian Paul <[email protected]>2017-06-13 07:52:54 -0600
commit26500c3fad822ebcd7e2df186d59f96ae550ef64 (patch)
tree20a335294824681c173deb9653882c987eb51426 /src/mesa
parente5eb9b43631b38120812673f2a9f0cd6b79b0c8e (diff)
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 <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/state_tracker/st_atom_array.c4
1 files changed, 4 insertions, 0 deletions
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. */