summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2017-02-25 02:37:57 -0800
committerJordan Justen <[email protected]>2017-10-31 23:36:54 -0700
commit478a73fdfaf1fed57bc7f05e672f6728e27ab110 (patch)
treeb16c9d8fc073fd279c85b2d327ae75a47f2a06ec
parentc3a8ae105ca4c6abdd967bd569b9605967cfcf25 (diff)
i965: Don't link when the program was found in the disk cache
Signed-off-by: Jordan Justen <[email protected]> Cc: Timothy Arceri <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_link.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp
index 988dd3a73d7..9019db56aa0 100644
--- a/src/mesa/drivers/dri/i965/brw_link.cpp
+++ b/src/mesa/drivers/dri/i965/brw_link.cpp
@@ -225,6 +225,9 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
unsigned int stage;
struct shader_info *infos[MESA_SHADER_STAGES] = { 0, };
+ if (shProg->data->LinkStatus == linking_skipped)
+ return GL_TRUE;
+
for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) {
struct gl_linked_shader *shader = shProg->_LinkedShaders[stage];
if (!shader)