diff options
Diffstat (limited to 'src/mesa/drivers/directfb')
-rw-r--r-- | src/mesa/drivers/directfb/idirectfbgl_mesa.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mesa/drivers/directfb/idirectfbgl_mesa.c b/src/mesa/drivers/directfb/idirectfbgl_mesa.c index d11241b2b21..3c2a77b5bc4 100644 --- a/src/mesa/drivers/directfb/idirectfbgl_mesa.c +++ b/src/mesa/drivers/directfb/idirectfbgl_mesa.c @@ -214,7 +214,8 @@ IDirectFBGL_Mesa_Lock( IDirectFBGL *thiz ) if (data->width != width || data->height != height) { data->width = width; data->height = height; - _mesa_ResizeBuffersMESA(); + _mesa_resize_framebuffer(&data->context, + &data->framebuffer, width, height); } data->locked = DFB_TRUE; @@ -355,10 +356,19 @@ dfbGetBufferSize( GLframebuffer *buffer, GLuint *width, GLuint *height ) *height = (GLuint) data->height; } +/** + * We only implement this function as a mechanism to check if the + * framebuffer size has changed (and update corresponding state). + */ static void dfbSetViewport( GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h ) { - _mesa_ResizeBuffersMESA(); + GLuint newWidth, newHeight; + GLframebuffer *buffer = ctx->WinSysDrawBuffer; + dfbGetBufferSize( buffer, &newWidth, &newHeight ); + if (buffer->Width != newWidth || buffer->Height != newHeight) { + _mesa_resize_framebuffer(ctx, buffer, newWidth, newHeight ); + } } static void |