Brian Paul <[email protected]> writes: > 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? > Sounds good to me.
> Also, the comments and the actual function name don't agree in your
> comments below...
>
Sorry for that, I'll fix both soon.
> -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
>> .
>>
pgpSK32131pV1.pgp
Description: PGP signature
------------------------------------------------------------------------------ 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
