configure.ac: Check for xcb-randr version and xrandr to enable leasing

Submitted by Danylo Piliaiev on June 20, 2018, 1:25 p.m.

Details

Message ID 1529501324-30436-1-git-send-email-danylo.piliaiev@globallogic.com
State Superseded
Headers show
Series "configure.ac: Check for xcb-randr version and xrandr to enable leasing" ( rev: 1 ) in Mesa

Not browsing as part of any series.

Commit Message

Danylo Piliaiev June 20, 2018, 1:25 p.m.
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@globallogic.com>
---
 configure.ac | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

Patch hide | download patch | download mbox

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

Comments

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@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
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@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
>
>
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@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
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@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@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>