[Mesa-dev] [PATCH 4/9] mesa: Simplify validate_shader_program after previous refactors

Ian Romanick idr at freedesktop.org
Tue Oct 4 13:44:07 PDT 2011


From: Ian Romanick <ian.d.romanick at intel.com>

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/mesa/main/shaderapi.c |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 1583520..c3aabe4 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;
-- 
1.7.6



More information about the mesa-dev mailing list