Francisco Jerez wrote:
> This should make things easier for drivers wanting to work with a
> "subclass" of gl_framebuffer.
> 
> The complementary "_mesa_initialize_framebuffer" function is now
> called "_mesa_initialize_unnamed_framebuffer" for the sake of
> symmetry.

I think I'd prefer _mesa_initialize_window_framebuffer() or 
_mesa_initialize_winsys_framebuffer() to "unnamed".  I think either of 
those would be a better name for the framebuffer that's associated 
with an actual window.  OK?

Also, the comments and the actual function name don't agree in your 
comments below...

-Brian




> ---
>  src/mesa/drivers/directfb/idirectfbgl_mesa.c |    2 +-
>  src/mesa/drivers/dri/intel/intel_screen.c    |    2 +-
>  src/mesa/drivers/dri/radeon/radeon_screen.c  |    2 +-
>  src/mesa/drivers/dri/swrast/swrast.c         |    2 +-
>  src/mesa/drivers/fbdev/glfbdev.c             |    2 +-
>  src/mesa/drivers/windows/gdi/wmesa.c         |    2 +-
>  src/mesa/drivers/x11/xm_api.c                |    2 +-
>  src/mesa/main/framebuffer.c                  |   41 ++++++++++++++++++-------
>  src/mesa/main/framebuffer.h                  |    6 +++-
>  src/mesa/state_tracker/st_framebuffer.c      |    2 +-
>  10 files changed, 42 insertions(+), 21 deletions(-)
> 
> diff --git a/src/mesa/drivers/directfb/idirectfbgl_mesa.c 
> b/src/mesa/drivers/directfb/idirectfbgl_mesa.c
> index 62a3269..83971de 100644
> --- a/src/mesa/drivers/directfb/idirectfbgl_mesa.c
> +++ b/src/mesa/drivers/directfb/idirectfbgl_mesa.c
> @@ -813,7 +813,7 @@ directfbgl_create_context( GLcontext        *context,
>  {
>       struct dd_function_table functions;
> 
> -     _mesa_initialize_framebuffer( framebuffer, visual );
> +     _mesa_initialize_unnamed_framebuffer( framebuffer, visual );
> 
>       _mesa_init_driver_functions( &functions );
>       functions.GetString     = dfbGetString;
> diff --git a/src/mesa/drivers/dri/intel/intel_screen.c 
> b/src/mesa/drivers/dri/intel/intel_screen.c
> index e8cc202..c0710b2 100644
> --- a/src/mesa/drivers/dri/intel/intel_screen.c
> +++ b/src/mesa/drivers/dri/intel/intel_screen.c
> @@ -202,7 +202,7 @@ intelCreateBuffer(__DRIscreen * driScrnPriv,
>        if (!fb)
>          return GL_FALSE;
> 
> -      _mesa_initialize_framebuffer(fb, mesaVis);
> +      _mesa_initialize_unnamed_framebuffer(fb, mesaVis);
> 
>        if (mesaVis->redBits == 5)
>          rgbFormat = MESA_FORMAT_RGB565;
> diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c 
> b/src/mesa/drivers/dri/radeon/radeon_screen.c
> index 6fa1a06..031a301 100644
> --- a/src/mesa/drivers/dri/radeon/radeon_screen.c
> +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
> @@ -1479,7 +1479,7 @@ radeonCreateBuffer( __DRIscreen *driScrnPriv,
>      if (!rfb)
>        return GL_FALSE;
> 
> -    _mesa_initialize_framebuffer(&rfb->base, mesaVis);
> +    _mesa_initialize_unnamed_framebuffer(&rfb->base, mesaVis);
> 
>      if (mesaVis->redBits == 5)
>          rgbFormat = _mesa_little_endian() ? MESA_FORMAT_RGB565 : 
> MESA_FORMAT_RGB565_REV;
> diff --git a/src/mesa/drivers/dri/swrast/swrast.c 
> b/src/mesa/drivers/dri/swrast/swrast.c
> index 8340861..e0c8624 100644
> --- a/src/mesa/drivers/dri/swrast/swrast.c
> +++ b/src/mesa/drivers/dri/swrast/swrast.c
> @@ -368,7 +368,7 @@ driCreateNewDrawable(__DRIscreen *screen,
>      buf->row = _mesa_malloc(MAX_WIDTH * 4);
> 
>      /* basic framebuffer setup */
> -    _mesa_initialize_framebuffer(&buf->Base, &config->modes);
> +    _mesa_initialize_unnamed_framebuffer(&buf->Base, &config->modes);
> 
>      /* add front renderbuffer */
>      frontrb = swrast_new_renderbuffer(&config->modes, GL_TRUE);
> diff --git a/src/mesa/drivers/fbdev/glfbdev.c 
> b/src/mesa/drivers/fbdev/glfbdev.c
> index 531558d..d809c28 100644
> --- a/src/mesa/drivers/fbdev/glfbdev.c
> +++ b/src/mesa/drivers/fbdev/glfbdev.c
> @@ -626,7 +626,7 @@ glFBDevCreateBuffer( const struct fb_fix_screeninfo 
> *fixInfo,
>        return NULL;
> 
>     /* basic framebuffer setup */
> -   _mesa_initialize_framebuffer(&buf->glframebuffer, &visual->glvisual);
> +   _mesa_initialize_unnamed_framebuffer(&buf->glframebuffer, 
> &visual->glvisual);
>     /* add front renderbuffer */
>     frontrb = new_glfbdev_renderbuffer(frontBuffer, visual);
>     _mesa_add_renderbuffer(&buf->glframebuffer, BUFFER_FRONT_LEFT,
> diff --git a/src/mesa/drivers/windows/gdi/wmesa.c 
> b/src/mesa/drivers/windows/gdi/wmesa.c
> index ceeafd5..c398e36 100644
> --- a/src/mesa/drivers/windows/gdi/wmesa.c
> +++ b/src/mesa/drivers/windows/gdi/wmesa.c
> @@ -35,7 +35,7 @@ wmesa_new_framebuffer(HDC hdc, GLvisual *visual)
>      WMesaFramebuffer pwfb
>          = (WMesaFramebuffer) malloc(sizeof(struct wmesa_framebuffer));
>      if (pwfb) {
> -        _mesa_initialize_framebuffer(&pwfb->Base, visual);
> +        _mesa_initialize_unnamed_framebuffer(&pwfb->Base, visual);
>          pwfb->hDC = hdc;
>          /* insert at head of list */
>          pwfb->next = FirstFramebuffer;
> diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
> index bf767bc..f9b6ebc 100644
> --- a/src/mesa/drivers/x11/xm_api.c
> +++ b/src/mesa/drivers/x11/xm_api.c
> @@ -375,7 +375,7 @@ create_xmesa_buffer(XMesaDrawable d, BufferType type,
>     b->type = type;
>     b->cmap = cmap;
> 
> -   _mesa_initialize_framebuffer(&b->mesa_buffer, &vis->mesa_visual);
> +   _mesa_initialize_unnamed_framebuffer(&b->mesa_buffer, &vis->mesa_visual);
>     b->mesa_buffer.Delete = xmesa_delete_framebuffer;
> 
>     /*
> diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
> index d958dbf..0a9ecb9 100644
> --- a/src/mesa/main/framebuffer.c
> +++ b/src/mesa/main/framebuffer.c
> @@ -88,7 +88,7 @@ _mesa_create_framebuffer(const GLvisual *visual)
>     struct gl_framebuffer *fb = CALLOC_STRUCT(gl_framebuffer);
>     assert(visual);
>     if (fb) {
> -      _mesa_initialize_framebuffer(fb, visual);
> +      _mesa_initialize_unnamed_framebuffer(fb, visual);
>     }
>     return fb;
>  }
> @@ -109,15 +109,7 @@ _mesa_new_framebuffer(GLcontext *ctx, GLuint name)
>     assert(name != 0);
>     fb = CALLOC_STRUCT(gl_framebuffer);
>     if (fb) {
> -      fb->Name = name;
> -      fb->RefCount = 1;
> -      fb->_NumColorDrawBuffers = 1;
> -      fb->ColorDrawBuffer[0] = GL_COLOR_ATTACHMENT0_EXT;
> -      fb->_ColorDrawBufferIndexes[0] = BUFFER_COLOR0;
> -      fb->ColorReadBuffer = GL_COLOR_ATTACHMENT0_EXT;
> -      fb->_ColorReadBufferIndex = BUFFER_COLOR0;
> -      fb->Delete = _mesa_destroy_framebuffer;
> -      _glthread_INIT_MUTEX(fb->Mutex);
> +      _mesa_initialize_user_framebuffer(fb, name);
>     }
>     return fb;
>  }
> @@ -126,10 +118,11 @@ _mesa_new_framebuffer(GLcontext *ctx, GLuint name)
>  /**
>   * Initialize a gl_framebuffer object.  Typically used to initialize
>   * window system-created framebuffers, not user-created framebuffers.
> - * \sa _mesa_create_framebuffer
> + * \sa _mesa_initialize_framebuffer_user

Wrong function name in comment.


>   */
>  void
> -_mesa_initialize_framebuffer(struct gl_framebuffer *fb, const GLvisual 
> *visual)
> +_mesa_initialize_unnamed_framebuffer(struct gl_framebuffer *fb,
> +                                    const GLvisual *visual)
>  {
>     assert(fb);
>     assert(visual);
> @@ -167,6 +160,30 @@ _mesa_initialize_framebuffer(struct gl_framebuffer *fb, 
> const GLvisual *visual)
> 
> 
>  /**
> + * Initialize an user-created gl_framebuffer object.
> + * \sa _mesa_initialize_framebuffer_unnamed

Wrong function name in comment.


> + */
> +void
> +_mesa_initialize_user_framebuffer(struct gl_framebuffer *fb, GLuint name)
> +{
> +   assert(fb);
> +   assert(name);
> +
> +   _mesa_bzero(fb, sizeof(struct gl_framebuffer));
> +
> +   fb->Name = name;
> +   fb->RefCount = 1;
> +   fb->_NumColorDrawBuffers = 1;
> +   fb->ColorDrawBuffer[0] = GL_COLOR_ATTACHMENT0_EXT;
> +   fb->_ColorDrawBufferIndexes[0] = BUFFER_COLOR0;
> +   fb->ColorReadBuffer = GL_COLOR_ATTACHMENT0_EXT;
> +   fb->_ColorReadBufferIndex = BUFFER_COLOR0;
> +   fb->Delete = _mesa_destroy_framebuffer;
> +   _glthread_INIT_MUTEX(fb->Mutex);
> +}
> +
> +
> +/**
>   * Deallocate buffer and everything attached to it.
>   * Typically called via the gl_framebuffer->Delete() method.
>   */
> diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h
> index ef21dd9..425e2a0 100644
> --- a/src/mesa/main/framebuffer.h
> +++ b/src/mesa/main/framebuffer.h
> @@ -34,7 +34,11 @@ extern struct gl_framebuffer *
>  _mesa_new_framebuffer(GLcontext *ctx, GLuint name);
> 
>  extern void
> -_mesa_initialize_framebuffer(struct gl_framebuffer *fb, const GLvisual 
> *visual);
> +_mesa_initialize_unnamed_framebuffer(struct gl_framebuffer *fb,
> +                                    const GLvisual *visual);
> +
> +extern void
> +_mesa_initialize_user_framebuffer(struct gl_framebuffer *fb, GLuint name);
> 
>  extern void
>  _mesa_destroy_framebuffer(struct gl_framebuffer *buffer);
> diff --git a/src/mesa/state_tracker/st_framebuffer.c 
> b/src/mesa/state_tracker/st_framebuffer.c
> index 835142e..91ecd3f 100644
> --- a/src/mesa/state_tracker/st_framebuffer.c
> +++ b/src/mesa/state_tracker/st_framebuffer.c
> @@ -53,7 +53,7 @@ st_create_framebuffer( const __GLcontextModes *visual,
>        if (visual->sampleBuffers)
>           samples = visual->samples;
> 
> -      _mesa_initialize_framebuffer(&stfb->Base, visual);
> +      _mesa_initialize_unnamed_framebuffer(&stfb->Base, visual);
> 
>        if (visual->doubleBufferMode) {
>           struct gl_renderbuffer *rb
> --
> 1.6.4.4
> 
> 
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
> .
> 


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to