Mesa (master): st/mesa: set the vbuffer to NULL if we are skipping it
Dave Airlie
airlied at kemper.freedesktop.org
Fri Sep 11 02:07:37 UTC 2015
Module: Mesa
Branch: master
Commit: b46cbc36072ae050f648f9baa974c4180d9bb8a3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b46cbc36072ae050f648f9baa974c4180d9bb8a3
Author: Dave Airlie <airlied at redhat.com>
Date: Fri Sep 4 01:24:39 2015 +0100
st/mesa: set the vbuffer to NULL if we are skipping it
If we skip a vbuffer we need to make sure we NULL out
the contents, otherwise when it gets passed to the driver
it will get confused.
This was hit by:
GL41-CTS.gpu_shader_fp64.varyings
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
src/mesa/state_tracker/st_atom_array.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.c
index 56b8019..0847184 100644
--- a/src/mesa/state_tracker/st_atom_array.c
+++ b/src/mesa/state_tracker/st_atom_array.c
@@ -567,8 +567,12 @@ setup_non_interleaved_attribs(struct st_context *st,
unsigned src_format;
array = get_client_array(vp, arrays, attr);
- if (!array)
+ if (!array) {
+ vbuffer[attr].buffer = NULL;
+ vbuffer[attr].user_buffer = NULL;
+ vbuffer[attr].buffer_offset = 0;
continue;
+ }
stride = array->StrideB;
bufobj = array->BufferObj;
More information about the mesa-commit
mailing list