st/mesa: don't store stream output info to shader cache for tess ctrl shaders
authorMarek Olšák <marek.olsak@amd.com>
Mon, 30 Sep 2019 20:54:00 +0000 (16:54 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 17 Oct 2019 00:10:47 +0000 (20:10 -0400)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/state_tracker/st_shader_cache.c

index 344bd93d6671c5357a0f60b16e27c13861bcf926..7bb36b609c945d0d115439f2ff4599a2b9dea24b 100644 (file)
@@ -107,7 +107,9 @@ st_serialise_ir_program(struct gl_context *ctx, struct gl_program *prog,
    case MESA_SHADER_GEOMETRY: {
       struct st_common_program *stcp = (struct st_common_program *) prog;
 
-      write_stream_out_to_cache(&blob, &stcp->tgsi);
+      if (prog->info.stage == MESA_SHADER_TESS_EVAL ||
+          prog->info.stage == MESA_SHADER_GEOMETRY)
+         write_stream_out_to_cache(&blob, &stcp->tgsi);
 
       if (nir)
          write_nir_to_cache(&blob, prog);
@@ -238,7 +240,6 @@ st_deserialise_ir_program(struct gl_context *ctx,
       struct st_common_program *sttcp = st_common_program(prog);
 
       st_release_basic_variants(st, sttcp);
-      read_stream_out_from_cache(&blob_reader, &sttcp->tgsi);
 
       if (nir) {
          sttcp->tgsi.type = PIPE_SHADER_IR_NIR;