OSDN Git Service

gallium/cso: set NULL shaders at context destruction
authorMarek Olšák <marek.olsak@amd.com>
Tue, 23 Sep 2014 13:54:02 +0000 (15:54 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 16 May 2015 12:51:22 +0000 (14:51 +0200)
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/auxiliary/cso_cache/cso_context.c

index b352909..59bad2c 100644 (file)
@@ -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)