summaryrefslogtreecommitdiffstats
path: root/src/glsl/link_varyings.h
diff options
context:
space:
mode:
authorPaul Berry <stereotype441@gmail.com>2013-07-27 11:08:31 -0700
committerPaul Berry <stereotype441@gmail.com>2013-07-30 10:10:26 -0700
commitb95d237fe6731055dad2ff3eaa59e4d6fc14bfff (patch)
tree4fda4c39f30b71e5d36b6dfde466b412ff115be5 /src/glsl/link_varyings.h
parent659ec1c958b59b77b5334d1121722ea0c80dddf8 (diff)
downloadexternal_mesa3d-b95d237fe6731055dad2ff3eaa59e4d6fc14bfff.zip
external_mesa3d-b95d237fe6731055dad2ff3eaa59e4d6fc14bfff.tar.gz
external_mesa3d-b95d237fe6731055dad2ff3eaa59e4d6fc14bfff.tar.bz2
glsl: Use a consistent technique for tracking link success/failure.
This patch changes link_shaders() so that it sets prog->LinkStatus to true when it starts, and then relies on linker_error() to set it to false if a link failure occurs. Previously, link_shaders() would set prog->LinkStatus to true halfway through its execution; as a result, linker functions that executed during the first half of link_shaders() would have to do their own success/failure tracking; if they didn't, then calling linker_error() would add an error message to the log, but not cause the link to fail. Since it wasn't always obvious from looking at a linker function whether it was called before or after link_shaders() set prog->LinkStatus to true, this carried a high risk of bugs. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src/glsl/link_varyings.h')
-rw-r--r--src/glsl/link_varyings.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/link_varyings.h b/src/glsl/link_varyings.h
index 7f7be35..cfc6e47 100644
--- a/src/glsl/link_varyings.h
+++ b/src/glsl/link_varyings.h
@@ -214,7 +214,7 @@ private:
};
-bool
+void
cross_validate_outputs_to_inputs(struct gl_shader_program *prog,
gl_shader *producer, gl_shader *consumer);