diff options
Diffstat (limited to 'glx/glxdri2.c')
-rw-r--r-- | glx/glxdri2.c | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/glx/glxdri2.c b/glx/glxdri2.c index d1fc3f9fa..253d06611 100644 --- a/glx/glxdri2.c +++ b/glx/glxdri2.c @@ -98,21 +98,6 @@ struct __GLXDRIdrawable { }; static void -__glXDRIdrawableDestroy(__GLXdrawable * drawable) -{ - __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; - const __DRIcoreExtension *core = private->screen->core; - - FreeResource(private->dri2_id, FALSE); - - (*core->destroyDrawable) (private->driDrawable); - - __glXDrawableRelease(drawable); - - free(private); -} - -static void copy_box(__GLXdrawable * drawable, int dst, int src, int x, int y, int w, int h) @@ -134,6 +119,24 @@ copy_box(__GLXdrawable * drawable, } } +/* white lie */ +extern glx_func_ptr glXGetProcAddressARB(const char *); + +static void +__glXDRIdrawableDestroy(__GLXdrawable * drawable) +{ + __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; + const __DRIcoreExtension *core = private->screen->core; + + FreeResource(private->dri2_id, FALSE); + + (*core->destroyDrawable) (private->driDrawable); + + __glXDrawableRelease(drawable); + + free(private); +} + static void __glXDRIdrawableCopySubBuffer(__GLXdrawable * drawable, int x, int y, int w, int h) @@ -339,32 +342,6 @@ static __GLXtextureFromPixmap __glXDRItextureFromPixmap = { __glXDRIreleaseTexImage }; -static void -__glXDRIscreenDestroy(__GLXscreen * baseScreen) -{ - int i; - - ScrnInfoPtr pScrn = xf86ScreenToScrn(baseScreen->pScreen); - __GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen; - - (*screen->core->destroyScreen) (screen->driScreen); - - dlclose(screen->driver); - - __glXScreenDestroy(baseScreen); - - if (screen->driConfigs) { - for (i = 0; screen->driConfigs[i] != NULL; i++) - free((__DRIconfig **) screen->driConfigs[i]); - free(screen->driConfigs); - } - - pScrn->EnterVT = screen->enterVT; - pScrn->LeaveVT = screen->leaveVT; - - free(screen); -} - static Bool dri2_convert_glx_attribs(__GLXDRIscreen *screen, unsigned num_attribs, const uint32_t *attribs, @@ -931,8 +908,31 @@ initializeExtensions(__GLXscreen * screen) } } -/* white lie */ -extern glx_func_ptr glXGetProcAddressARB(const char *); +static void +__glXDRIscreenDestroy(__GLXscreen * baseScreen) +{ + int i; + + ScrnInfoPtr pScrn = xf86ScreenToScrn(baseScreen->pScreen); + __GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen; + + (*screen->core->destroyScreen) (screen->driScreen); + + dlclose(screen->driver); + + __glXScreenDestroy(baseScreen); + + if (screen->driConfigs) { + for (i = 0; screen->driConfigs[i] != NULL; i++) + free((__DRIconfig **) screen->driConfigs[i]); + free(screen->driConfigs); + } + + pScrn->EnterVT = screen->enterVT; + pScrn->LeaveVT = screen->leaveVT; + + free(screen); +} enum { GLXOPT_VENDOR_LIBRARY, |