diff options
author | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-07-16 11:25:09 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-07-16 11:25:09 +0800 |
commit | 726ad264f485ce1d39aa387e93ac224fb46ed059 (patch) | |
tree | 917640e31f9d0648ed5ead8f651afd23b5762efb | |
parent | e51e16e64b1b87a6eb96c5993183475ad8a88cfd (diff) |
Synch with xorg 1.13 change.
As xorg 1.13 change the scrn interaces and remove those
global arrays. Some API change cause we can't build. Now
fix it.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r-- | src/glamor.c | 4 | ||||
-rw-r--r-- | src/glamor.h | 9 | ||||
-rw-r--r-- | src/glamor_egl.c | 16 | ||||
-rw-r--r-- | src/glamor_priv.h | 1 | ||||
-rw-r--r-- | src/glamor_utils.h | 3 |
5 files changed, 23 insertions, 10 deletions
diff --git a/src/glamor.c b/src/glamor.c index 8b7dc93..d51811e 100644 --- a/src/glamor.c +++ b/src/glamor.c @@ -491,7 +491,7 @@ glamor_set_pixmap_private(PixmapPtr pixmap, glamor_pixmap_private *priv) } Bool -glamor_close_screen(int idx, ScreenPtr screen) +glamor_close_screen(CLOSE_SCREEN_ARGS_DECL) { glamor_screen_private *glamor_priv; PixmapPtr screen_pixmap; @@ -533,7 +533,7 @@ glamor_close_screen(int idx, ScreenPtr screen) glamor_release_screen_priv(screen); - return screen->CloseScreen(idx, screen); + return screen->CloseScreen(CLOSE_SCREEN_ARGS); } diff --git a/src/glamor.h b/src/glamor.h index fe3e4f8..bafd543 100644 --- a/src/glamor.h +++ b/src/glamor.h @@ -30,9 +30,8 @@ #define GLAMOR_H #include <scrnintstr.h> -#ifdef GLAMOR_FOR_XORG +#include <xf86.h> #include <xf86str.h> -#endif #include <pixmapstr.h> #include <gcstruct.h> #include <picturestr.h> @@ -117,7 +116,11 @@ extern _X_EXPORT void glamor_fini(ScreenPtr screen); * screen pixmap which must be a glamor pixmap and requires * the internal data structure still exist at that time. * Otherwise, the glamor internal structure will not be freed.*/ -extern _X_EXPORT Bool glamor_close_screen(int idx, ScreenPtr screen); +#ifndef XF86_SCRN_INTERFACE +extern _X_EXPORT Bool glamor_close_screen(int scrnIndex, ScreenPtr screen); +#else +extern _X_EXPORT Bool glamor_close_screen(ScreenPtr screen); +#endif /* Let glamor to know the screen's fbo. The low level diff --git a/src/glamor_egl.c b/src/glamor_egl.c index 07acf1a..da9283b 100644 --- a/src/glamor_egl.c +++ b/src/glamor_egl.c @@ -59,6 +59,7 @@ #include <EGL/eglext.h> #include "glamor.h" +#include "compat-api.h" #include "glamor_gl_dispatch.h" #ifdef GLX_USE_SHARED_DISPATCH #include "glapi.h" @@ -365,7 +366,7 @@ glamor_egl_destroy_textured_pixmap(PixmapPtr pixmap) } static Bool -glamor_egl_close_screen(int idx, ScreenPtr screen) +glamor_egl_close_screen(CLOSE_SCREEN_ARGS_DECL) { ScrnInfoPtr scrn; struct glamor_egl_screen_private *glamor_egl; @@ -391,7 +392,7 @@ glamor_egl_close_screen(int idx, ScreenPtr screen) screen->CloseScreen = glamor_egl->saved_close_screen; - return screen->CloseScreen(idx, screen); + return screen->CloseScreen(CLOSE_SCREEN_ARGS); } static Bool @@ -430,10 +431,15 @@ glamor_egl_screen_init(ScreenPtr screen) } static void -glamor_egl_free_screen(int scrnIndex, int flags) +glamor_egl_free_screen(FREE_SCREEN_ARGS_DECL) { - ScrnInfoPtr scrn = xf86Screens[scrnIndex]; + ScrnInfoPtr scrn; struct glamor_egl_screen_private *glamor_egl; +#ifndef XF86_SCRN_INTERFACE + scrn = xf86Screens[arg]; +#else + scrn = arg; +#endif glamor_egl = glamor_egl_get_screen_private(scrn); if (glamor_egl != NULL) { @@ -447,7 +453,7 @@ glamor_egl_free_screen(int scrnIndex, int flags) #endif scrn->FreeScreen = glamor_egl->saved_free_screen; free(glamor_egl); - scrn->FreeScreen(scrnIndex, flags); + scrn->FreeScreen(FREE_SCREEN_ARGS); } } diff --git a/src/glamor_priv.h b/src/glamor_priv.h index 3b64c31..11d09c4 100644 --- a/src/glamor_priv.h +++ b/src/glamor_priv.h @@ -38,6 +38,7 @@ #define NDEBUG #endif #include "glamor.h" +#include "compat-api.h" #define GL_GLEXT_PROTOTYPES diff --git a/src/glamor_utils.h b/src/glamor_utils.h index a282985..eb2e202 100644 --- a/src/glamor_utils.h +++ b/src/glamor_utils.h @@ -798,7 +798,10 @@ region_is_empty(pixman_region16_t *region) return region->data && region->data->numRects == 0; } +#ifndef ARRAY_SIZE #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) +#endif + #define ALIGN(i,m) (((i) + (m) - 1) & ~((m) - 1)) #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) |