Module: Mesa
Branch: master
Commit: 4682b9b7bfffff0caa7bd0f6af3ae820a1df08af
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4682b9b7bfffff0caa7bd0f6af3ae820a1df08af

Author: Paul Berry <stereotype...@gmail.com>
Date:   Sat Jul 27 15:07:08 2013 -0700

glsl: Remove bogus check on return value of link_uniform_blocks().

A comment in link_intrastage_shaders(), and an if-test that followed
it, seemed to indicate that link_uniform_blocks() would return a
negative value in the event of an error.  But this is not the
case--all error checking has already been performed by
validate_intrastage_interface_blocks(), and link_uniform_blocks() can
only return unsigned values.

So get rid of the if-test and change the return type of
link_intrastage_shaders() to clarify that it can only return unsigned
values.

Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>

---

 src/glsl/link_uniform_blocks.cpp |    2 +-
 src/glsl/linker.cpp              |    6 ++----
 src/glsl/linker.h                |    2 +-
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/glsl/link_uniform_blocks.cpp b/src/glsl/link_uniform_blocks.cpp
index c72d1d8..1083653 100644
--- a/src/glsl/link_uniform_blocks.cpp
+++ b/src/glsl/link_uniform_blocks.cpp
@@ -137,7 +137,7 @@ struct block {
    bool has_instance_name;
 };
 
-int
+unsigned
 link_uniform_blocks(void *mem_ctx,
                     struct gl_shader_program *prog,
                     struct gl_shader **shader_list,
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
index ac010cf..4ffd40e 100644
--- a/src/glsl/linker.cpp
+++ b/src/glsl/linker.cpp
@@ -964,12 +964,10 @@ link_intrastage_shaders(void *mem_ctx,
                                              num_shaders))
       return NULL;
 
-   /* Check that uniform blocks between shaders for a stage agree. */
-   const int num_uniform_blocks =
+   /* Link up uniform blocks defined within this stage. */
+   const unsigned num_uniform_blocks =
       link_uniform_blocks(mem_ctx, prog, shader_list, num_shaders,
                           &uniform_blocks);
-   if (num_uniform_blocks < 0)
-      return NULL;
 
    /* Check that there is only a single definition of each function signature
     * across all shaders.
diff --git a/src/glsl/linker.h b/src/glsl/linker.h
index 2fe2410..85a6817 100644
--- a/src/glsl/linker.h
+++ b/src/glsl/linker.h
@@ -53,7 +53,7 @@ extern bool
 link_uniform_blocks_are_compatible(const gl_uniform_block *a,
                                   const gl_uniform_block *b);
 
-extern int
+extern unsigned
 link_uniform_blocks(void *mem_ctx,
                     struct gl_shader_program *prog,
                     struct gl_shader **shader_list,

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to