summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2012-07-16 11:25:09 +0800
committerAdam Jackson <ajax@redhat.com>2013-10-30 10:37:02 -0400
commit29704ca6ad021e6039c3a4b22bd410ec071ee63b (patch)
tree9d254ea9108e740283d1ad4193ccb9606b9220d8
parentac20cc2334106e98ae6ba19f9345e57824878a83 (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--glamor/glamor.c4
-rw-r--r--glamor/glamor.h9
-rw-r--r--glamor/glamor_egl.c16
-rw-r--r--glamor/glamor_priv.h1
-rw-r--r--glamor/glamor_utils.h3
5 files changed, 23 insertions, 10 deletions
diff --git a/glamor/glamor.c b/glamor/glamor.c
index 8b7dc930d..d51811e5d 100644
--- a/glamor/glamor.c
+++ b/glamor/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/glamor/glamor.h b/glamor/glamor.h
index fe3e4f849..bafd543b5 100644
--- a/glamor/glamor.h
+++ b/glamor/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/glamor/glamor_egl.c b/glamor/glamor_egl.c
index 07acf1a37..da9283b11 100644
--- a/glamor/glamor_egl.c
+++ b/glamor/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/glamor/glamor_priv.h b/glamor/glamor_priv.h
index 7a335a92c..39858af2f 100644
--- a/glamor/glamor_priv.h
+++ b/glamor/glamor_priv.h
@@ -38,6 +38,7 @@
#define NDEBUG
#endif
#include "glamor.h"
+#include "compat-api.h"
#define GL_GLEXT_PROTOTYPES
diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h
index a2829855f..eb2e202f3 100644
--- a/glamor/glamor_utils.h
+++ b/glamor/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))