[PATCH] xfree86: add xf86UpdateDesktopDimensions()

Aaron Plattner aplattner at nvidia.com
Tue Oct 2 21:22:31 PDT 2012


On 10/02/2012 08:12 PM, Peter Hutterer wrote:
> 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 at who-t.net>
> CC: Andy Ritger <aritger at nvidia.com>
> ---
>   hw/xfree86/common/xf86.h       | 4 ++++
>   hw/xfree86/common/xf86Helper.c | 6 ++++++
>   hw/xfree86/common/xf86Module.h | 2 +-
>   3 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
> index 179b87c..1514c26 100644
> --- a/hw/xfree86/common/xf86.h
> +++ b/hw/xfree86/common/xf86.h
> @@ -469,4 +469,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 f681a85..721159d 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 83f9790..f58b87e 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)

Reviewed-by: Aaron Plattner <aplattner at nvidia.com>

Good to get Andy's review too since he's the one working around this 
particular bug.

-- Aaron


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


More information about the xorg-devel mailing list