diff options
author | Timothy Arceri <[email protected]> | 2016-11-19 16:16:08 +1100 |
---|---|---|
committer | Jordan Justen <[email protected]> | 2017-10-31 23:36:54 -0700 |
commit | 15f39e8654b3dd94821624af73f7045906e6d354 (patch) | |
tree | faf413c5ccaa1e74d63844dfc641d80de9bbb54a | |
parent | 8a019f5601ced415d13f55e3c06ab4cb3b7d5989 (diff) |
mesa/glsl: add api_enabled flag to gl_transform_feedback_info
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.
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/compiler/glsl/link_varyings.cpp | 5 | ||||
-rw-r--r-- | src/mesa/main/mtypes.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/compiler/glsl/link_varyings.cpp b/src/compiler/glsl/link_varyings.cpp index 70e4b8c7f70..66a20a2c9b6 100644 --- a/src/compiler/glsl/link_varyings.cpp +++ b/src/compiler/glsl/link_varyings.cpp @@ -1316,9 +1316,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. */ |