From: Timothy Arceri <timothy.arc...@collabora.com> This will be used to disable the shader cache when xfb is enabled via the api as we don't currently allow for it when generating the sha for the shader. --- src/compiler/glsl/link_varyings.cpp | 5 ++++- src/mesa/main/mtypes.h | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index 69c92bf53b0..95773ccaa69 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -1126,9 +1126,12 @@ store_tfeedback_info(struct gl_context *ctx, struct gl_shader_program *prog, * however some drivers expect to receive the list of transform feedback * declarations in order so sort it now for convenience. */ - if (has_xfb_qualifiers) + if (has_xfb_qualifiers) { qsort(tfeedback_decls, num_tfeedback_decls, sizeof(*tfeedback_decls), cmp_xfb_offset); + } else { + xfb_prog->sh.LinkedTransformFeedback->api_enabled = true; + } xfb_prog->sh.LinkedTransformFeedback->Varyings = rzalloc_array(xfb_prog, struct gl_transform_feedback_varying_info, diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index b7a46aed534..2acf64eb56d 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1779,6 +1779,9 @@ struct gl_transform_feedback_buffer /** Post-link transform feedback info. */ struct gl_transform_feedback_info { + /* Was xfb enabled via the api or in shader layout qualifiers */ + bool api_enabled; + unsigned NumOutputs; /* Bitmask of active buffer indices. */ -- 2.15.0.rc0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev