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
> [email protected]
> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev