summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2012-07-16 11:25:09 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2012-07-16 11:25:09 +0800
commit726ad264f485ce1d39aa387e93ac224fb46ed059 (patch)
tree917640e31f9d0648ed5ead8f651afd23b5762efb
parente51e16e64b1b87a6eb96c5993183475ad8a88cfd (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.c4
-rw-r--r--src/glamor.h9
-rw-r--r--src/glamor_egl.c16
-rw-r--r--src/glamor_priv.h1
-rw-r--r--src/glamor_utils.h3
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))