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 <mesa-stable@lists.freedesktop.org> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:
parent
463f849097
commit
99c6cae227
1 changed files with 2 additions and 0 deletions
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue