aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kurtz <djkurtz@chromium.org>2013-08-14 21:07:01 +0800
committerDavid Garbett <david.garbett@arm.com>2013-08-30 12:34:48 +0100
commit0361e005bf6a6a477a5fd0b5328c5776e92275ea (patch)
tree7358bd32eadf8a1b24000afa417f7bbea20acc07
parent22437e984ec678245d858d5e7ca98ce441929a95 (diff)
Use xf86ScreenToScrn and xf86ScrnToScreen
Part of the new compat-api.h are ScreenPtr <-> ScrnInfoPtr APIs. Let's use them. Cherry-picked from: https://chromium.googlesource.com/chromiumos%2Fthird_party%2Fxf86-video-armsoc ec81d1ef9d774af1189a05e5ce5a091d729d994a Change-Id: I347f5973eae02066b9a6fc27e07599e519b95abf
-rw-r--r--src/armsoc_dri2.c24
-rw-r--r--src/armsoc_driver.c6
-rw-r--r--src/armsoc_driver.h2
-rw-r--r--src/armsoc_exa.c2
-rw-r--r--src/armsoc_exa.h3
-rw-r--r--src/drmmode_display.c9
6 files changed, 24 insertions, 22 deletions
diff --git a/src/armsoc_dri2.c b/src/armsoc_dri2.c
index 1290b92..e5746d6 100644
--- a/src/armsoc_dri2.c
+++ b/src/armsoc_dri2.c
@@ -116,7 +116,7 @@ static Bool
canflip(DrawablePtr pDraw)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
if (pARMSOC->NoFlip) {
@@ -163,7 +163,7 @@ ARMSOCDRI2CreateBuffer(DrawablePtr pDraw, unsigned int attachment,
unsigned int format)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCDRI2BufferRec *buf = calloc(1, sizeof(*buf));
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
PixmapPtr pPixmap = NULL;
@@ -272,7 +272,7 @@ ARMSOCDRI2DestroyBuffer(DrawablePtr pDraw, DRI2BufferPtr buffer)
* instead (since it is at least refcntd)
*/
ScreenPtr pScreen = buf->pPixmaps[0]->drawable.pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
int numBuffers, i;
@@ -311,7 +311,7 @@ ARMSOCDRI2CopyRegion(DrawablePtr pDraw, RegionPtr pRegion,
DRI2BufferPtr pDstBuffer, DRI2BufferPtr pSrcBuffer)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
DrawablePtr pSrcDraw = dri2draw(pDraw, pSrcBuffer);
DrawablePtr pDstDraw = dri2draw(pDraw, pDstBuffer);
RegionPtr pCopyClip;
@@ -351,7 +351,7 @@ static int
ARMSOCDRI2GetMSC(DrawablePtr pDraw, CARD64 *ust, CARD64 *msc)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
drmVBlank vbl = { .request = {
.type = DRM_VBLANK_RELATIVE,
@@ -406,7 +406,7 @@ static const char * const swap_names[] = {
static Bool allocNextBuffer(DrawablePtr pDraw, PixmapPtr *ppPixmap,
uint32_t *name) {
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct armsoc_bo *bo;
PixmapPtr pPixmap;
int ret;
@@ -465,7 +465,7 @@ error:
static void nextBuffer(DrawablePtr pDraw, struct ARMSOCDRI2BufferRec *backBuf)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
if (pARMSOC->driNumBufs <= 2) {
@@ -521,7 +521,7 @@ void
ARMSOCDRI2SwapComplete(struct ARMSOCDRISwapCmd *cmd)
{
ScreenPtr pScreen = cmd->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
DrawablePtr pDraw = NULL;
int status;
@@ -597,7 +597,7 @@ ARMSOCDRI2ScheduleSwap(ClientPtr client, DrawablePtr pDraw,
DRI2SwapEventPtr func, void *data)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
struct ARMSOCDRI2BufferRec *src = ARMSOCBUF(pSrcBuffer);
struct ARMSOCDRI2BufferRec *dst = ARMSOCBUF(pDstBuffer);
@@ -745,7 +745,7 @@ ARMSOCDRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr pDraw,
CARD64 target_msc, CARD64 divisor, CARD64 remainder)
{
ScreenPtr pScreen = pDraw->pScreen;
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
ERROR_MSG("not implemented");
return FALSE;
@@ -757,7 +757,7 @@ ARMSOCDRI2ScheduleWaitMSC(ClientPtr client, DrawablePtr pDraw,
Bool
ARMSOCDRI2ScreenInit(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
DRI2InfoRec info = {
.version = 5,
@@ -791,7 +791,7 @@ ARMSOCDRI2ScreenInit(ScreenPtr pScreen)
void
ARMSOCDRI2CloseScreen(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
while (pARMSOC->pending_flips > 0) {
DEBUG_MSG("waiting..");
diff --git a/src/armsoc_driver.c b/src/armsoc_driver.c
index 7b99863..c7a1624 100644
--- a/src/armsoc_driver.c
+++ b/src/armsoc_driver.c
@@ -793,7 +793,7 @@ fail:
static void
ARMSOCAccelInit(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
if (!pARMSOC->pARMSOCEXA)
@@ -814,7 +814,7 @@ ARMSOCAccelInit(ScreenPtr pScreen)
static Bool
ARMSOCScreenInit(SCREEN_INIT_ARGS_DECL)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
#ifndef XF86_SCRN_INTERFACE
int scrnIndex = pScrn->scrnIndex;
#endif
@@ -1103,7 +1103,7 @@ ARMSOCCloseScreen(CLOSE_SCREEN_ARGS_DECL)
static Bool
ARMSOCCreateScreenResources(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
swap(pARMSOC, pScreen, CreateScreenResources);
diff --git a/src/armsoc_driver.h b/src/armsoc_driver.h
index 8835e66..c4c1fd5 100644
--- a/src/armsoc_driver.h
+++ b/src/armsoc_driver.h
@@ -160,7 +160,7 @@ struct ARMSOCRec {
/** Return a pointer to the driver's private structure. */
#define ARMSOCPTR(p) ((struct ARMSOCRec *)((p)->driverPrivate))
#define ARMSOCPTR_FROM_SCREEN(pScreen) \
- ((struct ARMSOCRec *)(xf86Screens[(pScreen)->myNum])->driverPrivate)
+ ((struct ARMSOCRec *)(xf86ScreenToScrn(pScreen))->driverPrivate)
#define wrap(priv, real, mem, func) {\
priv->Saved##mem = real->mem; \
diff --git a/src/armsoc_exa.c b/src/armsoc_exa.c
index 879c605..57e2a6d 100644
--- a/src/armsoc_exa.c
+++ b/src/armsoc_exa.c
@@ -80,7 +80,7 @@ ARMSOCCreatePixmap2(ScreenPtr pScreen, int width, int height,
{
struct ARMSOCPixmapPrivRec *priv =
calloc(sizeof(struct ARMSOCPixmapPrivRec), 1);
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
enum armsoc_buf_type buf_type = ARMSOC_BO_NON_SCANOUT;
diff --git a/src/armsoc_exa.h b/src/armsoc_exa.h
index ec22108..002b351 100644
--- a/src/armsoc_exa.h
+++ b/src/armsoc_exa.h
@@ -73,7 +73,8 @@ struct ARMSOCEXARec *ARMSOCEXAPTR(ScrnInfoPtr pScrn);
static inline ScrnInfoPtr
pix2scrn(PixmapPtr pPixmap)
{
- return xf86Screens[(pPixmap)->drawable.pScreen->myNum];
+ ScreenPtr pScreen = (pPixmap)->drawable.pScreen;
+ return xf86ScreenToScrn(pScreen);
}
static inline PixmapPtr
diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index 5ef8a2e..a6edfa8 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -501,7 +501,7 @@ drmmode_load_cursor_argb(xf86CrtcPtr crtc, CARD32 *image)
Bool
drmmode_cursor_init(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
struct drmmode_rec *drmmode = drmmode_from_scrn(pScrn);
struct drmmode_cursor_rec *cursor;
@@ -617,7 +617,7 @@ drmmode_cursor_init(ScreenPtr pScreen)
void drmmode_cursor_fini(ScreenPtr pScreen)
{
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct drmmode_rec *drmmode = drmmode_from_scrn(pScrn);
struct drmmode_cursor_rec *cursor = drmmode->cursor;
@@ -1425,7 +1425,8 @@ static drmEventContext event_context = {
int
drmmode_page_flip(DrawablePtr draw, uint32_t fb_id, void *priv)
{
- ScrnInfoPtr pScrn = xf86Screens[draw->pScreen->myNum];
+ ScreenPtr pScreen = draw->pScreen;
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
struct ARMSOCRec *pARMSOC = ARMSOCPTR(pScrn);
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
struct drmmode_crtc_private_rec *crtc = config->crtc[0]->driver_private;
@@ -1499,7 +1500,7 @@ drmmode_handle_uevents(int fd, void *closure)
if (memcmp(&s.st_rdev, &udev_devnum, sizeof(dev_t)) == 0 &&
hotplug && atoi(hotplug) == 1) {
- RRGetInfo(screenInfo.screens[pScrn->scrnIndex], TRUE);
+ RRGetInfo(xf86ScrnToScreen(pScrn), TRUE);
}
udev_device_unref(dev);
}