diff options
author | Dave Airlie <airlied@redhat.com> | 2013-11-05 13:19:41 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-11-05 13:19:41 +1000 |
commit | 9fbbea8cda199c5efdf3d3ae7485eb9ba62cde8b (patch) | |
tree | 67fe472081cc33fba739dcd72c8cbb40a90e07ee | |
parent | ad2fa50b5371f6e71a66d47e73304599c90f9118 (diff) |
Revert "Merge commit 'f98d6cfa0de41cf33e7555342753897c07af84ef' into server-1.14-branch"
This reverts commit ad2fa50b5371f6e71a66d47e73304599c90f9118, reversing
changes made to bab4908579f6b034ea38f8df2f8dc1f9f026f5e1.
oops i broke ABI.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | hw/xfree86/common/xf86platformBus.c | 6 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86RandR12.c | 21 | ||||
-rw-r--r-- | randr/randr.c | 120 | ||||
-rw-r--r-- | randr/randrstr.h | 12 | ||||
-rw-r--r-- | randr/rrcrtc.c | 6 | ||||
-rw-r--r-- | randr/rrinfo.c | 2 | ||||
-rw-r--r-- | randr/rroutput.c | 7 | ||||
-rw-r--r-- | randr/rrpointer.c | 2 | ||||
-rw-r--r-- | randr/rrprovider.c | 25 | ||||
-rw-r--r-- | randr/rrscreen.c | 2 |
10 files changed, 9 insertions, 194 deletions
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c index 33b2b7dd8..db831a883 100644 --- a/hw/xfree86/common/xf86platformBus.c +++ b/hw/xfree86/common/xf86platformBus.c @@ -47,7 +47,6 @@ #include "Pci.h" #include "xf86platformBus.h" -#include "randrstr.h" int platformSlotClaimed; int xf86_num_platform_devices; @@ -466,9 +465,6 @@ xf86platformAddDevice(int index) /* attach unbound to 0 protocol screen */ AttachUnboundGPU(xf86Screens[0]->pScreen, xf86GPUScreens[i]->pScreen); - RRResourcesChanged(xf86Screens[0]->pScreen); - RRTellChanged(xf86Screens[0]->pScreen); - return 0; } @@ -512,8 +508,6 @@ xf86platformRemoveDevice(int index) xf86_remove_platform_device(index); - RRResourcesChanged(xf86Screens[0]->pScreen); - RRTellChanged(xf86Screens[0]->pScreen); out: return; } diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c index db31432fc..01fc9c5e3 100644 --- a/hw/xfree86/modes/xf86RandR12.c +++ b/hw/xfree86/modes/xf86RandR12.c @@ -1770,19 +1770,6 @@ xf86RandR12EnterVT(ScrnInfoPtr pScrn) return RRGetInfo(pScreen, TRUE); /* force a re-probe of outputs and notify clients about changes */ } -static void -xf86DetachOutputGPU(ScreenPtr pScreen) -{ - rrScrPrivPtr rp = rrGetScrPriv(pScreen); - int i; - - /* make sure there are no attached shared scanout pixmaps first */ - for (i = 0; i < rp->numCrtcs; i++) - RRCrtcDetachScanoutPixmap(rp->crtcs[i]); - - DetachOutputGPU(pScreen); -} - static Bool xf86RandR14ProviderSetOutputSource(ScreenPtr pScreen, RRProviderPtr provider, @@ -1792,7 +1779,7 @@ xf86RandR14ProviderSetOutputSource(ScreenPtr pScreen, if (provider->output_source) { ScreenPtr cmScreen = pScreen->current_master; - xf86DetachOutputGPU(pScreen); + DetachOutputGPU(pScreen); AttachUnboundGPU(cmScreen, pScreen); } provider->output_source = NULL; @@ -1820,7 +1807,7 @@ xf86RandR14ProviderSetOffloadSink(ScreenPtr pScreen, if (!sink_provider) { if (provider->offload_sink) { ScreenPtr cmScreen = pScreen->current_master; - xf86DetachOutputGPU(pScreen); + DetachOutputGPU(pScreen); AttachUnboundGPU(cmScreen, pScreen); } @@ -1908,12 +1895,10 @@ xf86RandR14ProviderDestroy(ScreenPtr screen, RRProviderPtr provider) if (config->randr_provider->offload_sink) { DetachOffloadGPU(screen); config->randr_provider->offload_sink = NULL; - RRSetChanged(screen); } else if (config->randr_provider->output_source) { - xf86DetachOutputGPU(screen); + DetachOutputGPU(screen); config->randr_provider->output_source = NULL; - RRSetChanged(screen); } else if (screen->current_master) DetachUnboundGPU(screen); diff --git a/randr/randr.c b/randr/randr.c index 3c5142771..f0decfc6c 100644 --- a/randr/randr.c +++ b/randr/randr.c @@ -420,40 +420,12 @@ RRExtensionInit(void) #endif } -void -RRResourcesChanged(ScreenPtr pScreen) -{ - rrScrPriv(pScreen); - pScrPriv->resourcesChanged = TRUE; - - RRSetChanged(pScreen); -} - -static void -RRDeliverResourceEvent(ClientPtr client, WindowPtr pWin) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - rrScrPriv(pScreen); - - xRRResourceChangeNotifyEvent re = { - .type = RRNotify + RREventBase, - .subCode = RRNotify_ResourceChange, - .timestamp = pScrPriv->lastSetTime.milliseconds, - .window = pWin->drawable.id - }; - - WriteEventsToClient(client, 1, (xEvent *) &re); -} - static int TellChanged(WindowPtr pWin, pointer value) { RREventPtr *pHead, pRREvent; ClientPtr client; ScreenPtr pScreen = pWin->drawable.pScreen; - ScreenPtr iter; - rrScrPrivPtr pSlaveScrPriv; rrScrPriv(pScreen); int i; @@ -478,16 +450,6 @@ TellChanged(WindowPtr pWin, pointer value) if (crtc->changed) RRDeliverCrtcEvent(client, pWin, crtc); } - - xorg_list_for_each_entry(iter, &pScreen->output_slave_list, output_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - for (i = 0; i < pSlaveScrPriv->numCrtcs; i++) { - RRCrtcPtr crtc = pSlaveScrPriv->crtcs[i]; - - if (crtc->changed) - RRDeliverCrtcEvent(client, pWin, crtc); - } - } } if (pRREvent->mask & RROutputChangeNotifyMask) { @@ -497,67 +459,11 @@ TellChanged(WindowPtr pWin, pointer value) if (output->changed) RRDeliverOutputEvent(client, pWin, output); } - - xorg_list_for_each_entry(iter, &pScreen->output_slave_list, output_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - for (i = 0; i < pSlaveScrPriv->numOutputs; i++) { - RROutputPtr output = pSlaveScrPriv->outputs[i]; - - if (output->changed) - RRDeliverOutputEvent(client, pWin, output); - } - } - } - - if (pRREvent->mask & RRProviderChangeNotifyMask) { - xorg_list_for_each_entry(iter, &pScreen->output_slave_list, output_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - if (pSlaveScrPriv->provider->changed) - RRDeliverProviderEvent(client, pWin, pSlaveScrPriv->provider); - } - xorg_list_for_each_entry(iter, &pScreen->offload_slave_list, offload_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - if (pSlaveScrPriv->provider->changed) - RRDeliverProviderEvent(client, pWin, pSlaveScrPriv->provider); - } - xorg_list_for_each_entry(iter, &pScreen->unattached_list, unattached_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - if (pSlaveScrPriv->provider->changed) - RRDeliverProviderEvent(client, pWin, pSlaveScrPriv->provider); - } - } - - if (pRREvent->mask & RRResourceChangeNotifyMask) { - if (pScrPriv->resourcesChanged) { - RRDeliverResourceEvent(client, pWin); - } } } return WT_WALKCHILDREN; } -void -RRSetChanged(ScreenPtr pScreen) -{ - /* set changed bits on the master screen only */ - ScreenPtr master; - rrScrPriv(pScreen); - rrScrPrivPtr mastersp; - - if (pScreen->isGPU) { - master = pScreen->current_master; - if (!master) - return; - mastersp = rrGetScrPriv(master); - } - else { - master = pScreen; - mastersp = pScrPriv; - } - - mastersp->changed = TRUE; -} - /* * Something changed; send events and adjust pointer position */ @@ -568,8 +474,6 @@ RRTellChanged(ScreenPtr pScreen) rrScrPriv(pScreen); rrScrPrivPtr mastersp; int i; - ScreenPtr iter; - rrScrPrivPtr pSlaveScrPriv; if (pScreen->isGPU) { master = pScreen->current_master; @@ -580,7 +484,7 @@ RRTellChanged(ScreenPtr pScreen) mastersp = pScrPriv; } - if (mastersp->changed) { + if (pScrPriv->changed) { UpdateCurrentTimeIf(); if (mastersp->configChanged) { mastersp->lastConfigTime = currentTime; @@ -588,33 +492,11 @@ RRTellChanged(ScreenPtr pScreen) } pScrPriv->changed = FALSE; mastersp->changed = FALSE; - WalkTree(master, TellChanged, (pointer) master); - - mastersp->resourcesChanged = FALSE; - for (i = 0; i < pScrPriv->numOutputs; i++) pScrPriv->outputs[i]->changed = FALSE; for (i = 0; i < pScrPriv->numCrtcs; i++) pScrPriv->crtcs[i]->changed = FALSE; - - xorg_list_for_each_entry(iter, &master->output_slave_list, output_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - pSlaveScrPriv->provider->changed = FALSE; - for (i = 0; i < pSlaveScrPriv->numOutputs; i++) - pSlaveScrPriv->outputs[i]->changed = FALSE; - for (i = 0; i < pSlaveScrPriv->numCrtcs; i++) - pSlaveScrPriv->crtcs[i]->changed = FALSE; - } - xorg_list_for_each_entry(iter, &master->offload_slave_list, offload_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - pSlaveScrPriv->provider->changed = FALSE; - } - xorg_list_for_each_entry(iter, &master->unattached_list, unattached_head) { - pSlaveScrPriv = rrGetScrPriv(iter); - pSlaveScrPriv->provider->changed = FALSE; - } - if (mastersp->layoutChanged) { pScrPriv->layoutChanged = FALSE; RRPointerScreenConfigured(master); diff --git a/randr/randrstr.h b/randr/randrstr.h index 15299fd6d..25174798f 100644 --- a/randr/randrstr.h +++ b/randr/randrstr.h @@ -164,7 +164,6 @@ struct _rrProvider { int nameLength; RRPropertyPtr properties; Bool pendingProperties; - Bool changed; struct _rrProvider *offload_sink; struct _rrProvider *output_source; }; @@ -301,7 +300,6 @@ typedef struct _rrScrPriv { Bool changed; /* some config changed */ Bool configChanged; /* configuration changed */ Bool layoutChanged; /* screen layout changed */ - Bool resourcesChanged; /* screen resources change */ CARD16 minWidth, minHeight; CARD16 maxWidth, maxHeight; @@ -487,14 +485,7 @@ extern _X_EXPORT int extern _X_EXPORT void RRDeliverScreenEvent(ClientPtr client, WindowPtr pWin, ScreenPtr pScreen); -extern _X_EXPORT void - RRResourcesChanged(ScreenPtr pScreen); - /* randr.c */ -/* set a screen change on the primary screen */ -extern _X_EXPORT void -RRSetChanged(ScreenPtr pScreen); - /* * Send all pending events */ @@ -928,9 +919,6 @@ RRProviderSetCapabilities(RRProviderPtr provider, uint32_t capabilities); extern _X_EXPORT Bool RRProviderLookup(XID id, RRProviderPtr *provider_p); -extern _X_EXPORT void -RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider); - /* rrproviderproperty.c */ extern _X_EXPORT void diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index 5cdfd0510..6e2eca5ad 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -39,7 +39,7 @@ RRCrtcChanged(RRCrtcPtr crtc, Bool layoutChanged) if (pScreen) { rrScrPriv(pScreen); - RRSetChanged(pScreen); + pScrPriv->changed = TRUE; /* * Send ConfigureNotify on any layout change */ @@ -102,8 +102,6 @@ RRCrtcCreate(ScreenPtr pScreen, void *devPrivate) crtc->pScreen = pScreen; pScrPriv->crtcs[pScrPriv->numCrtcs++] = crtc; - RRResourcesChanged(pScreen); - return crtc; } @@ -674,8 +672,6 @@ RRCrtcDestroyResource(pointer value, XID pid) break; } } - - RRResourcesChanged(pScreen); } if (crtc->scanout_pixmap) diff --git a/randr/rrinfo.c b/randr/rrinfo.c index fc57bd408..1408d6f64 100644 --- a/randr/rrinfo.c +++ b/randr/rrinfo.c @@ -225,7 +225,7 @@ RRScreenSetSizeRange(ScreenPtr pScreen, pScrPriv->minHeight = minHeight; pScrPriv->maxWidth = maxWidth; pScrPriv->maxHeight = maxHeight; - RRSetChanged(pScreen); + pScrPriv->changed = TRUE; pScrPriv->configChanged = TRUE; } diff --git a/randr/rroutput.c b/randr/rroutput.c index 2b0b82f4c..88781ba0f 100644 --- a/randr/rroutput.c +++ b/randr/rroutput.c @@ -36,7 +36,7 @@ RROutputChanged(RROutputPtr output, Bool configChanged) output->changed = TRUE; if (pScreen) { rrScrPriv(pScreen); - RRSetChanged(pScreen); + pScrPriv->changed = TRUE; if (configChanged) pScrPriv->configChanged = TRUE; } @@ -101,9 +101,6 @@ RROutputCreate(ScreenPtr pScreen, return NULL; pScrPriv->outputs[pScrPriv->numOutputs++] = output; - - RRResourcesChanged(pScreen); - return output; } @@ -358,8 +355,6 @@ RROutputDestroyResource(pointer value, XID pid) break; } } - - RRResourcesChanged(pScreen); } if (output->modes) { for (m = 0; m < output->numModes; m++) diff --git a/randr/rrpointer.c b/randr/rrpointer.c index eb6b6770c..ec803e9d1 100644 --- a/randr/rrpointer.c +++ b/randr/rrpointer.c @@ -82,7 +82,7 @@ RRPointerToNearestCrtc(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y, else dx = 0; if (y < crtc->y) - dy = crtc->y - y; + dy = crtc->y - x; else if (y > crtc->y + scan_height) dy = y - (crtc->y + scan_height); else diff --git a/randr/rrprovider.c b/randr/rrprovider.c index 2334ad277..b321e6227 100644 --- a/randr/rrprovider.c +++ b/randr/rrprovider.c @@ -304,9 +304,6 @@ ProcRRSetProviderOutputSource(ClientPtr client) pScrPriv->rrProviderSetOutputSource(pScreen, provider, source_provider); - provider->changed = TRUE; - RRSetChanged(pScreen); - RRTellChanged (pScreen); return Success; @@ -336,9 +333,6 @@ ProcRRSetProviderOffloadSink(ClientPtr client) pScrPriv->rrProviderSetOffloadSink(pScreen, provider, sink_provider); - provider->changed = TRUE; - RRSetChanged(pScreen); - RRTellChanged (pScreen); return Success; @@ -363,7 +357,6 @@ RRProviderCreate(ScreenPtr pScreen, const char *name, provider->nameLength = nameLength; memcpy(provider->name, name, nameLength); provider->name[nameLength] = '\0'; - provider->changed = FALSE; if (!AddResource (provider->id, RRProviderType, (pointer) provider)) return NULL; @@ -423,21 +416,3 @@ RRProviderLookup(XID id, RRProviderPtr *provider_p) return TRUE; return FALSE; } - -void -RRDeliverProviderEvent(ClientPtr client, WindowPtr pWin, RRProviderPtr provider) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - rrScrPriv(pScreen); - - xRRProviderChangeNotifyEvent pe = { - .type = RRNotify + RREventBase, - .subCode = RRNotify_ProviderChange, - .timestamp = pScrPriv->lastSetTime.milliseconds, - .window = pWin->drawable.id, - .provider = provider->id - }; - - WriteEventsToClient(client, 1, (xEvent *) &pe); -} diff --git a/randr/rrscreen.c b/randr/rrscreen.c index 36179ae89..39340ccee 100644 --- a/randr/rrscreen.c +++ b/randr/rrscreen.c @@ -143,7 +143,7 @@ RRScreenSizeNotify(ScreenPtr pScreen) pScrPriv->height = pScreen->height; pScrPriv->mmWidth = pScreen->mmWidth; pScrPriv->mmHeight = pScreen->mmHeight; - RRSetChanged(pScreen); + pScrPriv->changed = TRUE; /* pScrPriv->sizeChanged = TRUE; */ RRTellChanged(pScreen); |