mesa: save/restore SSO flag when using ARB_get_program_binary

Without this the restored program will fail the pipeline validation
checks when we attempt to use an SSO program.

Fixes: c20fd744fe ("mesa: Add Mesa ARB_get_program_binary helper functions")

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111010
(cherry picked from commit 3043908ccb)
This commit is contained in:
Timothy Arceri 2019-07-01 12:25:19 +10:00 committed by Juan A. Suarez Romero
parent 24e7db0a36
commit e4b7aa9e74

View file

@ -178,6 +178,8 @@ write_program_payload(struct gl_context *ctx, struct blob *blob,
shader->Program);
}
blob_write_uint32(blob, sh_prog->SeparateShader);
serialize_glsl_program(blob, ctx, sh_prog);
for (unsigned stage = 0; stage < MESA_SHADER_STAGES; stage++) {
@ -195,6 +197,8 @@ static bool
read_program_payload(struct gl_context *ctx, struct blob_reader *blob,
GLenum binary_format, struct gl_shader_program *sh_prog)
{
sh_prog->SeparateShader = blob_read_uint32(blob);
if (!deserialize_glsl_program(blob, ctx, sh_prog))
return false;