summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2011-08-20 16:05:43 -0700
committerIan Romanick <[email protected]>2011-10-07 16:39:51 -0700
commit5a4279f80d80fd30452ee6cc7cdfaffb12b1d605 (patch)
tree59e4be88b6fad69283974171387129b3227a1702
parentde772c402215b956ab3aa0875330fc1bf7cdf95b (diff)
mesa: Simplify validate_shader_program after previous refactors
Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/main/shaderapi.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 1583520391d..c3aabe43f8b 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -966,9 +966,7 @@ static GLboolean
validate_shader_program(const struct gl_shader_program *shProg,
char *errMsg)
{
- const struct gl_shader *vs = shProg->_LinkedShaders[MESA_SHADER_VERTEX];
- const struct gl_shader *gs = shProg->_LinkedShaders[MESA_SHADER_GEOMETRY];
- const struct gl_shader *fs = shProg->_LinkedShaders[MESA_SHADER_FRAGMENT];
+ unsigned i;
if (!shProg->LinkStatus) {
return GL_FALSE;
@@ -994,14 +992,11 @@ validate_shader_program(const struct gl_shader_program *shProg,
* Check: any two active samplers in the current program object are of
* different types, but refer to the same texture image unit,
*/
- if (vs && !validate_samplers(vs->Program, errMsg)) {
- return GL_FALSE;
- }
- if (gs && !validate_samplers(gs->Program, errMsg)) {
- return GL_FALSE;
- }
- if (fs && !validate_samplers(fs->Program, errMsg)) {
- return GL_FALSE;
+ for (i = 0; i < Elements(shProg->_LinkedShaders); i++) {
+ if (shProg->_LinkedShaders[i]
+ && !validate_samplers(shProg->_LinkedShaders[i]->Program, errMsg)) {
+ return GL_FALSE;
+ }
}
return GL_TRUE;