[Mesa-dev] [PATCH 12/27] i965: add support for cached shaders with xfb qualifiers

Jordan Justen jordan.l.justen at intel.com
Sat Aug 19 07:44:28 UTC 2017


From: Timothy Arceri <timothy.arceri at collabora.com>

For now this disables the shader cache when transform feedback is
enabled via the GL API as we don't currently allow for it when
generating the sha for the shader.
---
 src/mesa/drivers/dri/i965/brw_disk_cache.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/brw_disk_cache.c b/src/mesa/drivers/dri/i965/brw_disk_cache.c
index e2dba76679..1156fc0b8f 100644
--- a/src/mesa/drivers/dri/i965/brw_disk_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_disk_cache.c
@@ -317,6 +317,14 @@ brw_disk_cache_upload_program(struct brw_context *brw, gl_shader_stage stage)
    if (prog == NULL)
       return false;
 
+   /* FIXME: For now we don't read from the cache if transform feedback is
+    * enabled via the API. However the shader cache does support transform
+    * feedback when enabled via in shader xfb qualifiers.
+    */
+   if (prog->sh.LinkedTransformFeedback &&
+       prog->sh.LinkedTransformFeedback->api_enabled)
+      return false;
+
    if (prog->sh.data->LinkStatus != linking_skipped)
       goto FAIL;
 
-- 
2.14.0



More information about the mesa-dev mailing list