mesa/main: add NULL name check when searching for a resource name
authorAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 21 Dec 2017 15:20:18 +0000 (16:20 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 21 Jun 2018 12:25:05 +0000 (14:25 +0200)
Since ARB_gl_spirv name reflection can be missing. piglit
shader_runner does several resource checking, so this commit is useful
to get even the more simple piglit tests running without crashing on
SPIR-V mode.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/mesa/main/shader_query.cpp

index 86064a98b97f406465daa2b01b6fcc805740eb0d..11ecd71c575273ec6afa0c6ef16326379cafc4a7 100644 (file)
@@ -533,6 +533,11 @@ _mesa_program_resource_find_name(struct gl_shader_program *shProg,
 
       /* Resource basename. */
       const char *rname = _mesa_program_resource_name(res);
+
+      /* Since ARB_gl_spirv lack of name reflections is a possibility */
+      if (rname == NULL)
+         continue;
+
       unsigned baselen = strlen(rname);
       unsigned baselen_without_array_index = baselen;
       const char *rname_last_square_bracket = strrchr(rname, '[');