[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