From: Iago Toral Quiroga Date: Thu, 2 Jan 2020 09:10:57 +0000 (+0100) Subject: u_vbuf: don't try to delete NULL driver CSO X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2271a187c231f1ee2d10d0d777aa53605ed8f59a;p=mesa.git u_vbuf: don't try to delete NULL driver CSO Since 18a8c3f7f11 we don't create a driver CSO if there are any incompatible elements, so only ask backends to delete it if it exists. Fixes multiple CTS crashes in V3D. Fixes: 18a8c3f7f11 ("u_vbuf: Only create driver CSO if no incompatible elements") Reviewed-by: Alejandro Piñeiro Reviewed-by: Christian Gmeiner Reviewed-by: Marek Olšák --- diff --git a/src/gallium/auxiliary/util/u_vbuf.c b/src/gallium/auxiliary/util/u_vbuf.c index 70eaebb453e..8d50092b4c4 100644 --- a/src/gallium/auxiliary/util/u_vbuf.c +++ b/src/gallium/auxiliary/util/u_vbuf.c @@ -849,7 +849,8 @@ static void u_vbuf_delete_vertex_elements(struct u_vbuf *mgr, void *cso) struct pipe_context *pipe = mgr->pipe; struct u_vbuf_elements *ve = cso; - pipe->delete_vertex_elements_state(pipe, ve->driver_cso); + if (ve->driver_cso) + pipe->delete_vertex_elements_state(pipe, ve->driver_cso); FREE(ve); }