[Mesa-dev] [PATCH] mesa: Return ZeroVec/dummyReg instead of NULL pointer

Kenneth Graunke kenneth at whitecape.org
Thu Jun 27 21:09:48 PDT 2013


On 06/27/2013 04:37 PM, Anuj Phogat wrote:
> Assertions are not sufficient to check for null pointers as they don't
> show up in release builds. So, return ZeroVec/dummyReg instead of NULL
> pointer in get_{src,dst}_register_pointer(). This should calm down
> static analysis tool.
>
> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
>   src/mesa/program/prog_execute.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/program/prog_execute.c b/src/mesa/program/prog_execute.c
> index b902006..560332a 100644
> --- a/src/mesa/program/prog_execute.c
> +++ b/src/mesa/program/prog_execute.c
> @@ -145,7 +145,7 @@ get_src_register_pointer(const struct prog_src_register *source,
>         _mesa_problem(NULL,
>            "Invalid src register file %d in get_src_register_pointer()",
>            source->File);
> -      return NULL;
> +      return ZeroVec;
>      }
>   }
>
> @@ -184,7 +184,7 @@ get_dst_register_pointer(const struct prog_dst_register *dest,
>         _mesa_problem(NULL,
>            "Invalid dest register file %d in get_dst_register_pointer()",
>            dest->File);
> -      return NULL;
> +      return dummyReg;
>      }
>   }
>
> @@ -199,7 +199,6 @@ fetch_vector4(const struct prog_src_register *source,
>                 const struct gl_program_machine *machine, GLfloat result[4])
>   {
>      const GLfloat *src = get_src_register_pointer(source, machine);
> -   ASSERT(src);
>
>      if (source->Swizzle == SWIZZLE_NOOP) {
>         /* no swizzling */
> @@ -302,7 +301,6 @@ fetch_vector1(const struct prog_src_register *source,
>                 const struct gl_program_machine *machine, GLfloat result[4])
>   {
>      const GLfloat *src = get_src_register_pointer(source, machine);
> -   ASSERT(src);
>
>      result[0] = src[GET_SWZ(source->Swizzle, 0)];
>
>

I don't see any harm in having the assertions, but they're not super 
useful either, I guess.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>


More information about the mesa-dev mailing list