[Mesa-dev] [PATCH 76/88] i965: add cache fallback support for tess stages
Timothy Arceri
timothy.arceri at collabora.com
Sat Sep 24 05:25:57 UTC 2016
---
src/mesa/drivers/dri/i965/brw_shader_cache.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_shader_cache.c b/src/mesa/drivers/dri/i965/brw_shader_cache.c
index 00bc1d2..73e7afc 100644
--- a/src/mesa/drivers/dri/i965/brw_shader_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_shader_cache.c
@@ -170,12 +170,20 @@ fallback_to_full_recompile(struct brw_context *brw,
struct gl_program *vp =
shProg->_LinkedShaders[MESA_SHADER_VERTEX]->Program;
+ struct gl_program *tcp = shProg->_LinkedShaders[MESA_SHADER_TESS_CTRL] ?
+ shProg->_LinkedShaders[MESA_SHADER_TESS_CTRL]->Program : NULL;
+ struct gl_program *tep = shProg->_LinkedShaders[MESA_SHADER_TESS_EVAL] ?
+ shProg->_LinkedShaders[MESA_SHADER_TESS_EVAL]->Program : NULL;
struct gl_program *gp = shProg->_LinkedShaders[MESA_SHADER_GEOMETRY] ?
shProg->_LinkedShaders[MESA_SHADER_GEOMETRY]->Program : NULL;
struct gl_program *fp = shProg->_LinkedShaders[MESA_SHADER_FRAGMENT] ?
shProg->_LinkedShaders[MESA_SHADER_FRAGMENT]->Program : NULL;
vp->cache_fallback = true;
+ if (tcp)
+ tcp->cache_fallback = true;
+ if (tep)
+ tep->cache_fallback = true;
if (gp)
gp->cache_fallback = true;
if (fp)
@@ -188,6 +196,10 @@ fallback_to_full_recompile(struct brw_context *brw,
_mesa_glsl_link_shader(&brw->ctx, shProg, true);
vp->cache_fallback = false;
+ if (tcp)
+ tcp->cache_fallback = true;
+ if (tep)
+ tep->cache_fallback = true;
if (gp)
gp->cache_fallback = false;
if (fp)
--
2.7.4
More information about the mesa-dev
mailing list