From: Timothy Arceri Date: Fri, 21 Apr 2017 03:29:46 +0000 (+1000) Subject: mesa: remove fallback RefCount == 0 pattern X-Git-Tag: upstream/18.1.0~10541 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=622a68ed3e36a6b56db35df62c5913d2d54d5ed6;p=platform%2Fupstream%2Fmesa.git mesa: remove fallback RefCount == 0 pattern We should never get here if this is 0 unless there is a bug. Replace the check with an assert. Reviewed-by: Nicolai Hähnle Reviewed-by: Samuel Pitoiset --- diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c index ab1b834..fdb3caa 100644 --- a/src/mesa/main/arrayobj.c +++ b/src/mesa/main/arrayobj.c @@ -208,16 +208,10 @@ _mesa_reference_vao_(struct gl_context *ctx, if (vao) { /* reference new array object */ mtx_lock(&vao->Mutex); - if (vao->RefCount == 0) { - /* this array's being deleted (look just above) */ - /* Not sure this can every really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted array object"); - *ptr = NULL; - } - else { - vao->RefCount++; - *ptr = vao; - } + assert(vao->RefCount > 0); + + vao->RefCount++; + *ptr = vao; mtx_unlock(&vao->Mutex); } } diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index 922c7d8..961871c 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -511,16 +511,10 @@ _mesa_reference_buffer_object_(struct gl_context *ctx, if (bufObj) { /* reference new buffer */ mtx_lock(&bufObj->Mutex); - if (bufObj->RefCount == 0) { - /* this buffer's being deleted (look just above) */ - /* Not sure this can every really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted buffer object"); - *ptr = NULL; - } - else { - bufObj->RefCount++; - *ptr = bufObj; - } + assert(bufObj->RefCount > 0); + + bufObj->RefCount++; + *ptr = bufObj; mtx_unlock(&bufObj->Mutex); } } diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index c1dd8d7..2988c97 100644 --- a/src/mesa/main/pipelineobj.c +++ b/src/mesa/main/pipelineobj.c @@ -206,16 +206,10 @@ _mesa_reference_pipeline_object_(struct gl_context *ctx, if (obj) { /* reference new pipeline object */ mtx_lock(&obj->Mutex); - if (obj->RefCount == 0) { - /* this pipeline's being deleted (look just above) */ - /* Not sure this can ever really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted pipeline object"); - *ptr = NULL; - } - else { - obj->RefCount++; - *ptr = obj; - } + assert(obj->RefCount > 0); + + obj->RefCount++; + *ptr = obj; mtx_unlock(&obj->Mutex); } } diff --git a/src/mesa/main/samplerobj.c b/src/mesa/main/samplerobj.c index 183f1d2..63beaf1 100644 --- a/src/mesa/main/samplerobj.c +++ b/src/mesa/main/samplerobj.c @@ -97,16 +97,10 @@ _mesa_reference_sampler_object_(struct gl_context *ctx, if (samp) { /* reference new sampler */ mtx_lock(&samp->Mutex); - if (samp->RefCount == 0) { - /* this sampler's being deleted (look just above) */ - /* Not sure this can every really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted sampler object"); - *ptr = NULL; - } - else { - samp->RefCount++; - *ptr = samp; - } + assert(samp->RefCount > 0); + + samp->RefCount++; + *ptr = samp; mtx_unlock(&samp->Mutex); } } diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 00feb97..af9baa9 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -566,16 +566,10 @@ _mesa_reference_texobj_(struct gl_texture_object **ptr, /* reference new texture */ assert(valid_texture_object(tex)); mtx_lock(&tex->Mutex); - if (tex->RefCount == 0) { - /* this texture's being deleted (look just above) */ - /* Not sure this can every really happen. Warn if it does. */ - _mesa_problem(NULL, "referencing deleted texture object"); - *ptr = NULL; - } - else { - tex->RefCount++; - *ptr = tex; - } + assert(tex->RefCount > 0); + + tex->RefCount++; + *ptr = tex; mtx_unlock(&tex->Mutex); } } diff --git a/src/mesa/main/transformfeedback.c b/src/mesa/main/transformfeedback.c index 96f3df1..131014f 100644 --- a/src/mesa/main/transformfeedback.c +++ b/src/mesa/main/transformfeedback.c @@ -110,16 +110,12 @@ reference_transform_feedback_object(struct gl_transform_feedback_object **ptr, assert(!*ptr); if (obj) { + assert(obj->RefCount > 0); + /* reference new object */ - if (obj->RefCount == 0) { - _mesa_problem(NULL, "referencing deleted transform feedback object"); - *ptr = NULL; - } - else { - obj->RefCount++; - obj->EverBound = GL_TRUE; - *ptr = obj; - } + obj->RefCount++; + obj->EverBound = GL_TRUE; + *ptr = obj; } }