[Mesa-dev] [PATCH] st/mesa: set the vbuffer to NULL if we are skipping it

Dave Airlie airlied at gmail.com
Thu Sep 3 17:25:38 PDT 2015


From: Dave Airlie <airlied at redhat.com>

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

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;
-- 
2.4.3



More information about the mesa-dev mailing list