Module: Mesa
Branch: master
Commit: 44918a197905e4e9d09e32b7d07945948ca2da07
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=44918a197905e4e9d09e32b7d07945948ca2da07

Author: Timothy Arceri <tarc...@itsqueeze.com>
Date:   Fri Aug 11 14:59:02 2017 +1000

glsl: always write a name/label string to the cache

In the following patch we will stop writing the pointer to cache.

Unfortunately adding empty strings to that cache seems to be the
only thing we can do here once we no longer have the pointers.

Reviewed-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>

---

 src/compiler/glsl/shader_cache.cpp | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/compiler/glsl/shader_cache.cpp 
b/src/compiler/glsl/shader_cache.cpp
index 26be9e1f88..0e7744bb0b 100644
--- a/src/compiler/glsl/shader_cache.cpp
+++ b/src/compiler/glsl/shader_cache.cpp
@@ -1315,10 +1315,9 @@ create_linked_shader_and_program(struct gl_context *ctx,
 
    /* Restore shader info */
    blob_copy_bytes(metadata, (uint8_t *) &glprog->info, sizeof(shader_info));
-   if (glprog->info.name)
-      glprog->info.name = ralloc_strdup(glprog, blob_read_string(metadata));
-   if (glprog->info.label)
-      glprog->info.label = ralloc_strdup(glprog, blob_read_string(metadata));
+
+   glprog->info.name = ralloc_strdup(glprog, blob_read_string(metadata));
+   glprog->info.label = ralloc_strdup(glprog, blob_read_string(metadata));
 
    _mesa_reference_shader_program_data(ctx, &glprog->sh.data, prog->data);
    _mesa_reference_program(ctx, &linked->Program, glprog);
@@ -1362,9 +1361,13 @@ shader_cache_write_program_metadata(struct gl_context 
*ctx,
 
          if (sh->Program->info.name)
             blob_write_string(metadata, sh->Program->info.name);
+         else
+            blob_write_string(metadata, "");
 
          if (sh->Program->info.label)
             blob_write_string(metadata, sh->Program->info.label);
+         else
+            blob_write_string(metadata, "");
       }
    }
 

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to