[Mesa-dev] [PATCH 2/2] mesa: return GL_OUT_OF_MEMORY if NewSamplerObject fails

Timothy Arceri tarceri at itsqueeze.com
Mon Jul 24 01:26:45 UTC 2017


please see the comment in patch 1. Otherwise 1-2 are:

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 21/07/17 22:42, Samuel Pitoiset wrote:
> This is similar to other functions that create objects.
> 
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>   src/mesa/main/samplerobj.c | 16 ++++++++++++----
>   1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c
> index a9c004fe71..7744ab2726 100644
> --- a/src/mesa/main/samplerobj.c
> +++ b/src/mesa/main/samplerobj.c
> @@ -169,10 +169,18 @@ create_samplers(struct gl_context *ctx, GLsizei count, GLuint *samplers,
>   
>      /* Insert the ID and pointer to new sampler object into hash table */
>      for (i = 0; i < count; i++) {
> -      struct gl_sampler_object *sampObj =
> -         ctx->Driver.NewSamplerObject(ctx, first + i);
> -      _mesa_HashInsertLocked(ctx->Shared->SamplerObjects, first + i, sampObj);
> -      samplers[i] = first + i;
> +      struct gl_sampler_object *sampObj;
> +      GLuint name = first + i;
> +
> +      sampObj = ctx->Driver.NewSamplerObject(ctx, name);
> +      if (!sampObj) {
> +         _mesa_HashUnlockMutex(ctx->Shared->SamplerObjects);
> +         _mesa_error(ctx, GL_OUT_OF_MEMORY, "%s", caller);
> +         return;
> +      }
> +
> +      _mesa_HashInsertLocked(ctx->Shared->SamplerObjects, name, sampObj);
> +      samplers[i] = name;
>      }
>   
>      _mesa_HashUnlockMutex(ctx->Shared->SamplerObjects);
> 


More information about the mesa-dev mailing list