glsl/shader_cache: Save fs (BlendSupport) metadata

Fixes many GL 4.5 CTS blend tests, such as:

* GL45-CTS.blend_equation_advanced.extension_directive_enable
* GL45-CTS.blend_equation_advanced.extension_directive_warn
* GL45-CTS.blend_equation_advanced.blend_all.GL_MULTIPLY_KHR_all_qualifier
* GL45-CTS.blend_equation_advanced.blend_specific.GL_COLORBURN_KHR

v2:
 * Directly save the BlendSupport field to avoid potentially including
   a pointer in the future in the structure is updated. (tarceri)

Cc: Timothy Arceri <tarceri@itsqueeze.com>
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Jordan Justen
2017-03-28 11:48:55 -07:00
parent 7f5204a0db
commit e6ecd7d73f

View File

@@ -1061,6 +1061,9 @@ write_shader_metadata(struct blob *metadata, gl_linked_shader *shader)
sizeof(struct gl_bindless_image) - ptr_size);
}
blob_write_bytes(metadata, &glprog->sh.fs.BlendSupport,
sizeof(glprog->sh.fs.BlendSupport));
write_shader_parameters(metadata, glprog->Parameters);
assert((glprog->driver_cache_blob == NULL) ==
@@ -1122,6 +1125,9 @@ read_shader_metadata(struct blob_reader *metadata,
}
}
blob_copy_bytes(metadata, (uint8_t *) &glprog->sh.fs.BlendSupport,
sizeof(glprog->sh.fs.BlendSupport));
glprog->Parameters = _mesa_new_parameter_list();
read_shader_parameters(metadata, glprog->Parameters);