[Mesa-dev] [PATCH 4/5] st/glsl_to_tgsi: add st_get_program_binary_driver_sha1() helper

Timothy Arceri tarceri at itsqueeze.com
Fri Dec 8 09:57:38 UTC 2017


This will be used by ARB_get_program_binary.
---
 src/mesa/state_tracker/st_shader_cache.c | 6 ++++++
 src/mesa/state_tracker/st_shader_cache.h | 3 +++
 2 files changed, 9 insertions(+)

diff --git a/src/mesa/state_tracker/st_shader_cache.c b/src/mesa/state_tracker/st_shader_cache.c
index 62d62f76117..a971b0d7ee7 100644
--- a/src/mesa/state_tracker/st_shader_cache.c
+++ b/src/mesa/state_tracker/st_shader_cache.c
@@ -23,20 +23,26 @@
 
 #include <stdio.h>
 #include "st_debug.h"
 #include "st_program.h"
 #include "st_shader_cache.h"
 #include "compiler/glsl/program.h"
 #include "pipe/p_shader_tokens.h"
 #include "program/ir_to_mesa.h"
 #include "util/u_memory.h"
 
+void
+st_get_program_binary_driver_sha1(struct gl_context *ctx, uint8_t *sha1)
+{
+   disk_cache_compute_key(ctx->Cache, NULL, 0, sha1);
+}
+
 static void
 write_stream_out_to_cache(struct blob *blob,
                           struct pipe_shader_state *tgsi)
 {
    blob_write_bytes(blob, &tgsi->stream_output,
                     sizeof(tgsi->stream_output));
 }
 
 static void
 write_tgsi_to_cache(struct blob *blob, const struct tgsi_token *tokens,
diff --git a/src/mesa/state_tracker/st_shader_cache.h b/src/mesa/state_tracker/st_shader_cache.h
index 358c6ecef88..488035c7ed5 100644
--- a/src/mesa/state_tracker/st_shader_cache.h
+++ b/src/mesa/state_tracker/st_shader_cache.h
@@ -25,20 +25,23 @@
 #include "compiler/blob.h"
 #include "main/mtypes.h"
 #include "pipe/p_state.h"
 #include "util/disk_cache.h"
 #include "util/mesa-sha1.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+void
+st_get_program_binary_driver_sha1(struct gl_context *ctx, uint8_t *sha1);
+
 void
 st_serialise_tgsi_program(struct gl_context *ctx, struct gl_program *prog);
 
 void
 st_deserialise_tgsi_program(struct gl_context *ctx,
                             struct gl_shader_program *shProg,
                             struct gl_program *prog);
 
 bool
 st_load_tgsi_from_disk_cache(struct gl_context *ctx,
-- 
2.14.3



More information about the mesa-dev mailing list