diff options
author | Iago Toral Quiroga <[email protected]> | 2020-01-02 10:10:57 +0100 |
---|---|---|
committer | Iago Toral Quiroga <[email protected]> | 2020-01-03 07:58:35 +0100 |
commit | 2271a187c231f1ee2d10d0d777aa53605ed8f59a (patch) | |
tree | bc1d9471129fff365d3824d7e4dbf2cc21126bb6 | |
parent | d0d28c783d41960a556441593d80925dc0e9aaf0 (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.c | 3 |
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); } |