summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Worth <[email protected]>2016-04-14 10:48:19 +1000
committerTimothy Arceri <[email protected]>2017-01-31 09:51:30 +1100
commitb8cb1a05cdf8a5dc7377d8a0c8d0ef5a655126cc (patch)
treea5ed76d9e8ded0f6ba3f1733019756641c2d2602
parent0f60c6616e93cba72bff4fbfedb72a753ef78e05 (diff)
glsl: add new uniform fields to be used to restore state from cache
Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
-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;