[Mesa-dev] [PATCH] configure.ac: Check for xcb-randr version and xrandr to enable leasing

Danylo Piliaiev danylo.piliaiev at gmail.com
Mon Jul 9 10:21:36 UTC 2018


Beside just checking for version being >= 1.13 I made sure that 
configuring with --enable-xlib-lease will produce error if version isn't 
right. Also due to small changes in autoconf the patch probably won't 
apply cleanly so if necessary I'll make new patch which will also 
include bumping version in meson.

- Danil


On 09.07.18 12:42, Lionel Landwerlin wrote:
> Hey Danylo,
>
> I didn't really understand why your change didn't just include a >= 
> 1.13 in the
>
> if test x"$have_xlease" = xyes; then
>
> I guess just adding the revision there (and configure.ac) and bumping 
> the revision in meson.build should be enough.
>
> Thanks,
>
> -
> Lionel
>
> On 09/07/18 10:16, Danylo Piliaiev wrote:
>> Hi Lionel,
>>
>> Yes meson probably also has the issue since it checks for xcb-randr 
>> 1.12 and not 1.13 . I didn't send further patches since vulkan build 
>> got broken once more, see my reply to "[PATCH mesa 2/4] vulkan: add 
>> VK_EXT_display_control [v8]". Also I have upgrade to Ubuntu 18.04 and 
>> currently not affected by this. I'm not sure how to proceed further 
>> with the issue.
>>
>> - Danil
>>
>>
>> On 06.07.18 22:30, Lionel Landwerlin wrote:
>>> Hi Danylo,
>>>
>>> I just run into the same issue, thanks for fixing this with autotools.
>>> I think the same issue remains with meson though.
>>>
>>> Thanks,
>>>
>>> -
>>> Lionel
>>>
>>> On 20/06/18 14:25, Danylo Piliaiev wrote:
>>>> VK_USE_PLATFORM_XLIB_XRANDR_EXT requires xlib leasing which requires
>>>> xcb-randr >= 1.13. Also xrandr header is required for this extension.
>>>> The extension should not be automatically enabled if these 
>>>> dependencies
>>>> aren't satisfied.
>>>>
>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106976
>>>>
>>>> Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
>>>> ---
>>>>   configure.ac | 23 ++++++++++-------------
>>>>   1 file changed, 10 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/configure.ac b/configure.ac
>>>> index 0652410..ab59e06 100644
>>>> --- a/configure.ac
>>>> +++ b/configure.ac
>>>> @@ -97,6 +97,7 @@ XCBDRI2_REQUIRED=1.8
>>>>   XCBDRI3_MODIFIERS_REQUIRED=1.13
>>>>   XCBGLX_REQUIRED=1.8.1
>>>>   XCBPRESENT_MODIFIERS_REQUIRED=1.13
>>>> +XCBRANDR_XLEASE_REQUIRED=1.13
>>>>   XDAMAGE_REQUIRED=1.1
>>>>   XSHMFENCE_REQUIRED=1.1
>>>>   XVMC_REQUIRED=1.0.6
>>>> @@ -1867,18 +1868,6 @@ if test x"$enable_dri3" = xyes; then
>>>>       fi
>>>>   fi
>>>>   -
>>>> -if echo "$platforms" | grep -q 'x11' && echo "$platforms" | grep 
>>>> -q 'drm'; then
>>>> -    have_xlease=yes
>>>> -else
>>>> -    have_xlease=no
>>>> -fi
>>>> -
>>>> -if test x"$have_xlease" = xyes; then
>>>> -    randr_modules="x11-xcb xcb-randr"
>>>> -    PKG_CHECK_MODULES([XCB_RANDR], [$randr_modules])
>>>> -fi
>>>> -
>>>>   AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
>>>>   AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$platforms" | grep -q 
>>>> 'wayland')
>>>>   AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm')
>>>> @@ -1896,12 +1885,20 @@ xno)
>>>>       ;;
>>>>   *)
>>>>       if echo "$platforms" | grep -q 'x11' && echo "$platforms" | 
>>>> grep -q 'drm'; then
>>>> -        enable_xlib_lease=yes
>>>> +        xlease_modules="x11-xcb xcb-randr >= 
>>>> $XCBRANDR_XLEASE_REQUIRED xrandr"
>>>> +        PKG_CHECK_EXISTS([$xlease_modules], 
>>>> [enable_xlib_lease=yes], [enable_xlib_lease=no])
>>>>       else
>>>>           enable_xlib_lease=no
>>>>       fi
>>>>   esac
>>>>   +if test x"$enable_xlib_lease" = xyes; then
>>>> +    randr_modules="x11-xcb xcb-randr >= $XCBRANDR_XLEASE_REQUIRED"
>>>> +    PKG_CHECK_MODULES([XCB_RANDR], [$randr_modules])
>>>> +    xlib_randr_modules="xrandr"
>>>> +    PKG_CHECK_MODULES([XLIB_RANDR], [$xlib_randr_modules])
>>>> +fi
>>>> +
>>>>   AM_CONDITIONAL(HAVE_XLIB_LEASE, test "x$enable_xlib_lease" = xyes)
>>>>     dnl
>>>
>>>
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>



More information about the mesa-dev mailing list