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

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Jul 24 10:29:44 UTC 2017



On 07/24/2017 03:26 AM, Timothy Arceri wrote:
> please see the comment in patch 1. Otherwise 1-2 are:
> 
> Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

Thanks, I will drop that whitespace fix then.

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