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.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Paul Berry
2013-07-27 15:07:08 -07:00
parent 4f8048bb5a
commit 4682b9b7bf
3 changed files with 4 additions and 6 deletions

View File

@@ -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,

View File

@@ -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.

View File

@@ -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,