[Mesa-dev] [PATCH 01/11] mesa: Refactor _mesa_framebuffer_renderbuffer
Anuj Phogat
anuj.phogat at gmail.com
Fri Feb 5 23:32:25 UTC 2016
On Fri, Feb 5, 2016 at 3:04 PM, Anuj Phogat <anuj.phogat at gmail.com> wrote:
> On Fri, Feb 5, 2016 at 1:04 PM, Ian Romanick <idr at freedesktop.org> wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> This function previously was only used in fbobject.c and contained a
>> bunch of API validation. Split the function into
>> framebuffer_renderbuffer that is static and contains the validation, and
>> _mesa_framebuffer_renderbuffer that is suitable for calling from
>> elsewhere in Mesa (e.g., meta).
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>> ---
>> src/mesa/main/fbobject.c | 42 ++++++++++++++++++++++++++----------------
>> src/mesa/main/fbobject.h | 3 +--
>> 2 files changed, 27 insertions(+), 18 deletions(-)
>>
>> diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
>> index 2d4acb3..0b0653d 100644
>> --- a/src/mesa/main/fbobject.c
>> +++ b/src/mesa/main/fbobject.c
>> @@ -3413,8 +3413,27 @@ void
>> _mesa_framebuffer_renderbuffer(struct gl_context *ctx,
>> struct gl_framebuffer *fb,
>> GLenum attachment,
>> - struct gl_renderbuffer *rb,
>> - const char *func)
>> + struct gl_renderbuffer *rb)
>> +{
>> + assert(!_mesa_is_winsys_fbo(fb));
>> +
>> + FLUSH_VERTICES(ctx, _NEW_BUFFERS);
>> +
>> + assert(ctx->Driver.FramebufferRenderbuffer);
>> + ctx->Driver.FramebufferRenderbuffer(ctx, fb, attachment, rb);
>> +
>> + /* Some subsequent GL commands may depend on the framebuffer's visual
>> + * after the binding is updated. Update visual info now.
>> + */
>> + _mesa_update_framebuffer_visual(ctx, fb);
>> +}
>> +
>> +static void
>> +framebuffer_renderbuffer(struct gl_context *ctx,
>> + struct gl_framebuffer *fb,
>> + GLenum attachment,
>> + struct gl_renderbuffer *rb,
>> + const char *func)
>> {
>> struct gl_renderbuffer_attachment *att;
>>
>> @@ -3444,18 +3463,9 @@ _mesa_framebuffer_renderbuffer(struct gl_context *ctx,
>> }
>> }
>>
>> - FLUSH_VERTICES(ctx, _NEW_BUFFERS);
>> -
>> - assert(ctx->Driver.FramebufferRenderbuffer);
>> - ctx->Driver.FramebufferRenderbuffer(ctx, fb, attachment, rb);
>> -
>> - /* Some subsequent GL commands may depend on the framebuffer's visual
>> - * after the binding is updated. Update visual info now.
>> - */
>> - _mesa_update_framebuffer_visual(ctx, fb);
>> + _mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb);
>> }
>>
>> -
>> void GLAPIENTRY
>> _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
>> GLenum renderbuffertarget,
>> @@ -3491,8 +3501,8 @@ _mesa_FramebufferRenderbuffer(GLenum target, GLenum attachment,
>> rb = NULL;
>> }
>>
>> - _mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb,
>> - "glFramebufferRenderbuffer");
>> + framebuffer_renderbuffer(ctx, fb, attachment, rb,
>> + "glFramebufferRenderbuffer");
>> }
>>
>>
>> @@ -3528,8 +3538,8 @@ _mesa_NamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment,
>> rb = NULL;
>> }
>>
>> - _mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb,
>> - "glNamedFramebufferRenderbuffer");
>> + framebuffer_renderbuffer(ctx, fb, attachment, rb,
>> + "glNamedFramebufferRenderbuffer");
>> }
>>
>>
>> diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h
>> index 8dad0ff..458e440 100644
>> --- a/src/mesa/main/fbobject.h
>> +++ b/src/mesa/main/fbobject.h
>> @@ -91,8 +91,7 @@ extern void
>> _mesa_framebuffer_renderbuffer(struct gl_context *ctx,
>> struct gl_framebuffer *fb,
>> GLenum attachment,
>> - struct gl_renderbuffer *rb,
>> - const char *func);
>> + struct gl_renderbuffer *rb);
>>
>> extern void
>> _mesa_validate_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb);
>> --
>> 2.5.0
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> Patches 1-5 are:
> Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
>
> I'll continue reviewing rest of the series.
and 6-11 are:
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
More information about the mesa-dev
mailing list