summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2014-09-23 15:54:02 +0200
committerMarek Olšák <[email protected]>2015-05-16 14:51:22 +0200
commited1b273ffcab0e2089899f3be7e31b2bc49f7ef3 (patch)
treee8fc3e77ffa5857ac927c20a3f68d34cdaf37575 /src/gallium
parent2a7da1bddbee2be09ae6c2276a04c658807720b0 (diff)
gallium/cso: set NULL shaders at context destruction
Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/cso_cache/cso_context.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c
index b3529099d65..59bad2cb2d7 100644
--- a/src/gallium/auxiliary/cso_cache/cso_context.c
+++ b/src/gallium/auxiliary/cso_cache/cso_context.c
@@ -327,6 +327,13 @@ void cso_destroy_context( struct cso_context *ctx )
ctx->pipe->bind_depth_stencil_alpha_state( ctx->pipe, NULL );
ctx->pipe->bind_fs_state( ctx->pipe, NULL );
ctx->pipe->bind_vs_state( ctx->pipe, NULL );
+ if (ctx->has_geometry_shader) {
+ ctx->pipe->bind_gs_state(ctx->pipe, NULL);
+ }
+ if (ctx->has_tessellation) {
+ ctx->pipe->bind_tcs_state(ctx->pipe, NULL);
+ ctx->pipe->bind_tes_state(ctx->pipe, NULL);
+ }
ctx->pipe->bind_vertex_elements_state( ctx->pipe, NULL );
if (ctx->has_streamout)