From e6ecd7d73fdbbca45ed398185eee2823e381d472 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Tue, 28 Mar 2017 11:48:55 -0700 Subject: [PATCH] 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 Signed-off-by: Jordan Justen Reviewed-by: Timothy Arceri Reviewed-by: Jason Ekstrand --- src/compiler/glsl/shader_cache.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/glsl/shader_cache.cpp b/src/compiler/glsl/shader_cache.cpp index 1d208fb0911..8fd2774bdfa 100644 --- a/src/compiler/glsl/shader_cache.cpp +++ b/src/compiler/glsl/shader_cache.cpp @@ -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); -- 2.30.2