Module: Mesa
Branch: staging/18.1
Commit: a14f1d2110c04432d5cca1f0ec92de6589237156
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a14f1d2110c04432d5cca1f0ec92de6589237156

Author: Marek Olšák <[email protected]>
Date:   Sat Jun 30 00:57:08 2018 -0400

glsl/cache: save and restore ExternalSamplersUsed

Shaders that need special code for external samplers were broken if
they were loaded from the cache.

Cc: 18.1 <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
(cherry picked from commit 99c6cae2278011309b7ca3d4735c7b341cbb4eef)

---

 src/compiler/glsl/serialize.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/compiler/glsl/serialize.cpp b/src/compiler/glsl/serialize.cpp
index 9c21453f91..889038fb5e 100644
--- a/src/compiler/glsl/serialize.cpp
+++ b/src/compiler/glsl/serialize.cpp
@@ -1044,6 +1044,7 @@ write_shader_metadata(struct blob *metadata, 
gl_linked_shader *shader)
    blob_write_bytes(metadata, glprog->sh.SamplerTargets,
                     sizeof(glprog->sh.SamplerTargets));
    blob_write_uint32(metadata, glprog->ShadowSamplers);
+   blob_write_uint32(metadata, glprog->ExternalSamplersUsed);
 
    blob_write_bytes(metadata, glprog->sh.ImageAccess,
                     sizeof(glprog->sh.ImageAccess));
@@ -1096,6 +1097,7 @@ read_shader_metadata(struct blob_reader *metadata,
    blob_copy_bytes(metadata, (uint8_t *) glprog->sh.SamplerTargets,
                    sizeof(glprog->sh.SamplerTargets));
    glprog->ShadowSamplers = blob_read_uint32(metadata);
+   glprog->ExternalSamplersUsed = blob_read_uint32(metadata);
 
    blob_copy_bytes(metadata, (uint8_t *) glprog->sh.ImageAccess,
                    sizeof(glprog->sh.ImageAccess));

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to