st/mesa: add sha1 field to st program structs
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 22 Feb 2017 00:33:44 +0000 (11:33 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 22 Feb 2017 22:20:22 +0000 (09:20 +1100)
This will be used to share the sha1 computed by the tgsi load
function with the tgsi write function.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/mesa/state_tracker/st_program.h

index 9f9777a7d559edad4f7f3f05901c54c862ed34ed..70664d1d46a4e96426086f3a4b5ed65eaaeb1630 100644 (file)
@@ -150,6 +150,9 @@ struct st_fragment_program
    struct gl_shader_program *shader_program;
 
    struct st_fp_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };
 
 
@@ -220,6 +223,9 @@ struct st_vertex_program
    /** List of translated variants of this vertex program.
     */
    struct st_vp_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };
 
 
@@ -256,6 +262,9 @@ struct st_geometry_program
    uint64_t affected_states; /**< ST_NEW_* flags to mark dirty when binding */
 
    struct st_basic_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };
 
 
@@ -270,6 +279,9 @@ struct st_tessctrl_program
    uint64_t affected_states; /**< ST_NEW_* flags to mark dirty when binding */
 
    struct st_basic_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };
 
 
@@ -284,6 +296,9 @@ struct st_tesseval_program
    uint64_t affected_states; /**< ST_NEW_* flags to mark dirty when binding */
 
    struct st_basic_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };
 
 
@@ -298,6 +313,9 @@ struct st_compute_program
    uint64_t affected_states; /**< ST_NEW_* flags to mark dirty when binding */
 
    struct st_basic_variant *variants;
+
+   /** SHA1 hash of linked tgsi shader program, used for on-disk cache */
+   unsigned char sha1[20];
 };