glsl: check _mesa_hash_table_create return value in link_uniform_blocks
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:

committed by
Ville Syrjälä

parent
db081b497e
commit
088da3720f
@@ -170,6 +170,12 @@ link_uniform_blocks(void *mem_ctx,
|
|||||||
struct hash_table *block_hash =
|
struct hash_table *block_hash =
|
||||||
_mesa_hash_table_create(mem_ctx, _mesa_key_string_equal);
|
_mesa_hash_table_create(mem_ctx, _mesa_key_string_equal);
|
||||||
|
|
||||||
|
if (block_hash == NULL) {
|
||||||
|
_mesa_error_no_memory(__func__);
|
||||||
|
linker_error(prog, "out of memory\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Determine which uniform blocks are active.
|
/* Determine which uniform blocks are active.
|
||||||
*/
|
*/
|
||||||
link_uniform_block_active_visitor v(mem_ctx, block_hash, prog);
|
link_uniform_block_active_visitor v(mem_ctx, block_hash, prog);
|
||||||
|
@@ -1479,6 +1479,8 @@ link_intrastage_shaders(void *mem_ctx,
|
|||||||
const unsigned num_uniform_blocks =
|
const unsigned num_uniform_blocks =
|
||||||
link_uniform_blocks(mem_ctx, prog, shader_list, num_shaders,
|
link_uniform_blocks(mem_ctx, prog, shader_list, num_shaders,
|
||||||
&uniform_blocks);
|
&uniform_blocks);
|
||||||
|
if (!prog->LinkStatus)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
/* Check that there is only a single definition of each function signature
|
/* Check that there is only a single definition of each function signature
|
||||||
* across all shaders.
|
* across all shaders.
|
||||||
|
Reference in New Issue
Block a user