summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/compiler/glsl/link_uniforms.cpp4
-rw-r--r--src/mesa/main/mtypes.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/glsl/link_uniforms.cpp b/src/compiler/glsl/link_uniforms.cpp
index a450aa03a8c..8930d26a5ca 100644
--- a/src/compiler/glsl/link_uniforms.cpp
+++ b/src/compiler/glsl/link_uniforms.cpp
@@ -1265,6 +1265,10 @@ link_assign_uniform_storage(struct gl_context *ctx,
link_setup_uniform_remap_tables(ctx, prog);
+ /* Set shader cache fields */
+ prog->data->NumUniformDataSlots = num_data_slots;
+ prog->data->UniformDataSlots = data;
+
link_set_uniform_initializers(prog, boolean_true);
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index b0a97b30881..4ac75312d6c 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2662,6 +2662,10 @@ struct gl_shader_program_data
struct gl_active_atomic_buffer *AtomicBuffers;
unsigned NumAtomicBuffers;
+ /* Shader cache variables used during restore */
+ unsigned NumUniformDataSlots;
+ union gl_constant_value *UniformDataSlots;
+
/** List of all active resources after linking. */
struct gl_program_resource *ProgramResourceList;
unsigned NumProgramResourceList;