summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2020-01-02 10:10:57 +0100
committerIago Toral Quiroga <[email protected]>2020-01-03 07:58:35 +0100
commit2271a187c231f1ee2d10d0d777aa53605ed8f59a (patch)
treebc1d9471129fff365d3824d7e4dbf2cc21126bb6
parentd0d28c783d41960a556441593d80925dc0e9aaf0 (diff)
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 <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/auxiliary/util/u_vbuf.c3
1 files changed, 2 insertions, 1 deletions
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);
}