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 10:46:07 +1000
commit9422321b37ddafb5b12f259842e10c7803039857 (patch)
tree8e9bcd5ac59a78aa40e653d2951c9eda0a7ef288
parent78c77356c5d88d78d69b1a244c7e27cd85544842 (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/xf86.h hw/xfree86/common/xf86Helper.c hw/xfree86/common/xf86Module.h
-rw-r--r--hw/xfree86/common/xf86.h3
-rw-r--r--hw/xfree86/common/xf86Helper.c6
-rw-r--r--hw/xfree86/common/xf86Module.h2
3 files changed, 10 insertions, 1 deletions
diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index fc4c34e92..7b1fc84f0 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -451,4 +451,7 @@ VidModeExtensionInit(ScreenPtr pScreen);
#endif /* _NO_XF86_PROTOTYPES */
+/* 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 8c948cf6f..0787171fb 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -1834,3 +1834,9 @@ xf86MotionHistoryAllocate(InputInfoPtr pInfo)
{
AllocateMotionHistory(pInfo->dev);
}
+
+void
+xf86UpdateDesktopDimensions(void)
+{
+ update_desktop_dimensions();
+}
diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index 0036c5935..b5e030fc4 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -82,7 +82,7 @@ typedef enum {
* mask is 0xFFFF0000.
*/
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 4)
-#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(12, 1)
+#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(12, 2)
#define ABI_XINPUT_VERSION SET_ABI_VERSION(16, 0)
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(6, 0)
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 6)