summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2013-07-27 15:07:08 -0700
committerPaul Berry <[email protected]>2013-07-30 10:10:25 -0700
commit4682b9b7bfffff0caa7bd0f6af3ae820a1df08af (patch)
tree37c796fc53cf5dee267d446090e0d6c508e2a04d
parent4f8048bb5a8558ae4313b12ffd70b593cc629fe8 (diff)
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 <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
-rw-r--r--src/glsl/link_uniform_blocks.cpp2
-rw-r--r--src/glsl/linker.cpp6
-rw-r--r--src/glsl/linker.h2
3 files changed, 4 insertions, 6 deletions
diff --git a/src/glsl/link_uniform_blocks.cpp b/src/glsl/link_uniform_blocks.cpp
index c72d1d8f1de..1083653c7d6 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 ac010cfbb6a..4ffd40e6527 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 2fe2410c220..85a6817d98d 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,