summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-10-03 13:12:27 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-10-12 09:48:10 +1000
commit8f39a6b0b35764c8d5cac4c7bf66d5902c0ae9a5 (patch)
tree76b6d405170da7571b1b9b9b14caeaafea5c070b
parentbea56fc9c460309c676e2ead2080be923d1061dc (diff)
xfree86: add xf86UpdateDesktopDimensions()
This call is required for external drivers (specifically NVIDIA) that do not share the xfree86 infrastructure to update the desktop dimensions. Without it, the driver would update the ScreenRecs but not update the total dimensions the input code relies on for transformation. This call is a thin wrapper around the already-existing internal call and should be backported to all stable series servers, with the minor ABI bump. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> CC: Andy Ritger <aritger@nvidia.com> Reviewed-by: Aaron Plattner <aplattner@nvidia.com> (cherry picked from commit 0a75bd640b3dc26b89d9e342999a7f4b7e98edbf) Conflicts: hw/xfree86/common/xf86Module.h
-rw-r--r--hw/xfree86/common/xf86.h4
-rw-r--r--hw/xfree86/common/xf86Helper.c6
-rw-r--r--hw/xfree86/common/xf86Module.h2
3 files changed, 11 insertions, 1 deletions
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index bb2903da0..74da4389a 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -468,4 +468,8 @@ extern _X_EXPORT ScreenPtr xf86ScrnToScreen(ScrnInfoPtr pScrn);
/* flags passed to xf86 allocate screen */
#define XF86_ALLOCATE_GPU_SCREEN 1
+/* Update the internal total dimensions of all ScreenRecs together */
+extern _X_EXPORT void
+xf86UpdateDesktopDimensions(void);
+
#endif /* _XF86_H */
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index f681a8577..721159d0b 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1898,3 +1898,9 @@ xf86ScrnToScreen(ScrnInfoPtr pScrn)
return screenInfo.screens[pScrn->scrnIndex];
}
}
+
+void
+xf86UpdateDesktopDimensions(void)
+{
+ update_desktop_dimensions();
+}
diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index 83f9790d2..f58b87e30 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -80,7 +80,7 @@ typedef enum {
* mask is 0xFFFF0000.
*/
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4)
-#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(13, 0)
+#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(13, 1)
#define ABI_XINPUT_VERSION SET_ABI_VERSION(18, 0)
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(7, 0)
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 6)