Re: [Mesa-dev] [PATCH] dri3: allow building against older xcb (v3)

2018-03-13 Thread Dylan Baker
Quoting Rob Clark (2018-03-13 14:08:46)
> On Tue, Mar 13, 2018 at 4:48 PM, Dylan Baker  wrote:
> > Quoting Dave Airlie (2018-03-13 13:06:00)
> >> From: Dave Airlie 
> >>
> >> I'm not sure everyone wants to be updating their dri3 in a forced
> >> march setting, this allows a nicer approach, esp when you want
> >> to build on distro that aren't brand new.
> >>
> >> I'm sure there are plenty of ways this patch could be cleaner,
> >> and I've also not built it against an updated dri3.
> >>
> >> For meson I've just left it alone, since if you are using meson
> >> you probably don't mind xcb updates, and if you are using meson
> >> you can fix this better than me.
> >>
> >> v3: just don't put a version in for dri3/present without
> >> modifiers, should allow building with 1.11 as well
> >>
> >> (feel free to supply meson followups)
> >>
> >> Signed-off-by: Dave Airlie 
> >> ---
> >>  configure.ac | 12 +---
> >>  meson.build  |  2 +-
> >>  src/egl/drivers/dri2/platform_x11_dri3.c |  4 
> >>  src/loader/loader_dri3_helper.c  | 22 --
> >>  src/loader/loader_dri3_helper.h  |  3 ++-
> >>  src/vulkan/wsi/wsi_common_x11.c  | 12 ++--
> >>  6 files changed, 42 insertions(+), 13 deletions(-)
> >>
> >> diff --git a/configure.ac b/configure.ac
> >> index 1553ce99da..dcf3f924ee 100644
> >> --- a/configure.ac
> >> +++ b/configure.ac
> >> @@ -92,9 +92,9 @@ WAYLAND_REQUIRED=1.11
> >>  WAYLAND_PROTOCOLS_REQUIRED=1.8
> >>  XCB_REQUIRED=1.9.3
> >>  XCBDRI2_REQUIRED=1.8
> >> -XCBDRI3_REQUIRED=1.13
> >> +XCBDRI3_MODIFIERS_REQUIRED=1.13
> >>  XCBGLX_REQUIRED=1.8.1
> >> -XCBPRESENT_REQUIRED=1.13
> >> +XCBPRESENT_MODIFIERS_REQUIRED=1.13
> >>  XDAMAGE_REQUIRED=1.1
> >>  XSHMFENCE_REQUIRED=1.1
> >>  XVMC_REQUIRED=1.0.6
> >> @@ -1851,8 +1851,14 @@ fi
> >>  if test x"$enable_dri3" = xyes; then
> >>  DEFINES="$DEFINES -DHAVE_DRI3"
> >>
> >> -dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 >= 
> >> $XCBDRI3_REQUIRED xcb-xfixes xcb-present >= $XCBPRESENT_REQUIRED xcb-sync 
> >> xshmfence >= $XSHMFENCE_REQUIRED"
> >> +dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes 
> >> xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
> >>  PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
> >> +dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED 
> >> xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRES"
> >> +PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], 
> >> [have_dri3_modifiers=yes], [have_dri3_modifiers=no])
> >> +
> >> +if test "x$have_dri3_modifiers" == xyes; then
> >> +DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS"
> >> +fi
> >>  fi
> >>
> >>  AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
> >> diff --git a/meson.build b/meson.build
> >> index 3c63f38438..0012815254 100644
> >> --- a/meson.build
> >> +++ b/meson.build
> >> @@ -1235,7 +1235,7 @@ if with_platform_x11
> >>  dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
> >>
> >>  if with_dri3
> >> -  pre_args += '-DHAVE_DRI3'
> >> +  pre_args += '-DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS'
> >
> > That should be `pre_args += ['-DHAVE_DRI3', '-DHAVE_DRI3_MODFIERS']`
> >
> > I don't personally care about libxcb < 1.13, so this approach is fine with 
> > me. I
> > don't the that the version of meson that ships with any of the LTS/EL type
> > releases this matters for will build mesa anyway.
> >
> 
> fwiw, f27 doesn't (yet?) have xcb 1.13, which makes me wonder who else
> (who isn't building their own xcb) does, other than rawhide and
> similar bleeding edge distro versions.. f27 isn't exactly ancient,
> which makes me think the hard dependency on xcb 1.13 is a bit
> premature.
> 
> (also, as nir+clover gets a bit more functional, I could totally see
> users want to build latest mesa with something that is
> modern-but-not-bleeding-edge distro.. although I guess we could just
> tell them to use autotools.. still annoying for me since I'd prefer to
> use meson ;-))
> 
> but I can have a go at a similar patch for meson

More seriously, feel free to CC me on that for review if you like.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] dri3: allow building against older xcb (v3)

2018-03-13 Thread Dylan Baker
Quoting Rob Clark (2018-03-13 14:08:46)
> On Tue, Mar 13, 2018 at 4:48 PM, Dylan Baker  wrote:
> > Quoting Dave Airlie (2018-03-13 13:06:00)
> >> From: Dave Airlie 
> >>
> >> I'm not sure everyone wants to be updating their dri3 in a forced
> >> march setting, this allows a nicer approach, esp when you want
> >> to build on distro that aren't brand new.
> >>
> >> I'm sure there are plenty of ways this patch could be cleaner,
> >> and I've also not built it against an updated dri3.
> >>
> >> For meson I've just left it alone, since if you are using meson
> >> you probably don't mind xcb updates, and if you are using meson
> >> you can fix this better than me.
> >>
> >> v3: just don't put a version in for dri3/present without
> >> modifiers, should allow building with 1.11 as well
> >>
> >> (feel free to supply meson followups)
> >>
> >> Signed-off-by: Dave Airlie 
> >> ---
> >>  configure.ac | 12 +---
> >>  meson.build  |  2 +-
> >>  src/egl/drivers/dri2/platform_x11_dri3.c |  4 
> >>  src/loader/loader_dri3_helper.c  | 22 --
> >>  src/loader/loader_dri3_helper.h  |  3 ++-
> >>  src/vulkan/wsi/wsi_common_x11.c  | 12 ++--
> >>  6 files changed, 42 insertions(+), 13 deletions(-)
> >>
> >> diff --git a/configure.ac b/configure.ac
> >> index 1553ce99da..dcf3f924ee 100644
> >> --- a/configure.ac
> >> +++ b/configure.ac
> >> @@ -92,9 +92,9 @@ WAYLAND_REQUIRED=1.11
> >>  WAYLAND_PROTOCOLS_REQUIRED=1.8
> >>  XCB_REQUIRED=1.9.3
> >>  XCBDRI2_REQUIRED=1.8
> >> -XCBDRI3_REQUIRED=1.13
> >> +XCBDRI3_MODIFIERS_REQUIRED=1.13
> >>  XCBGLX_REQUIRED=1.8.1
> >> -XCBPRESENT_REQUIRED=1.13
> >> +XCBPRESENT_MODIFIERS_REQUIRED=1.13
> >>  XDAMAGE_REQUIRED=1.1
> >>  XSHMFENCE_REQUIRED=1.1
> >>  XVMC_REQUIRED=1.0.6
> >> @@ -1851,8 +1851,14 @@ fi
> >>  if test x"$enable_dri3" = xyes; then
> >>  DEFINES="$DEFINES -DHAVE_DRI3"
> >>
> >> -dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 >= 
> >> $XCBDRI3_REQUIRED xcb-xfixes xcb-present >= $XCBPRESENT_REQUIRED xcb-sync 
> >> xshmfence >= $XSHMFENCE_REQUIRED"
> >> +dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes 
> >> xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
> >>  PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
> >> +dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED 
> >> xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRES"
> >> +PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], 
> >> [have_dri3_modifiers=yes], [have_dri3_modifiers=no])
> >> +
> >> +if test "x$have_dri3_modifiers" == xyes; then
> >> +DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS"
> >> +fi
> >>  fi
> >>
> >>  AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
> >> diff --git a/meson.build b/meson.build
> >> index 3c63f38438..0012815254 100644
> >> --- a/meson.build
> >> +++ b/meson.build
> >> @@ -1235,7 +1235,7 @@ if with_platform_x11
> >>  dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
> >>
> >>  if with_dri3
> >> -  pre_args += '-DHAVE_DRI3'
> >> +  pre_args += '-DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS'
> >
> > That should be `pre_args += ['-DHAVE_DRI3', '-DHAVE_DRI3_MODFIERS']`
> >
> > I don't personally care about libxcb < 1.13, so this approach is fine with 
> > me. I
> > don't the that the version of meson that ships with any of the LTS/EL type
> > releases this matters for will build mesa anyway.
> >
> 
> fwiw, f27 doesn't (yet?) have xcb 1.13, which makes me wonder who else
> (who isn't building their own xcb) does, other than rawhide and
> similar bleeding edge distro versions.. f27 isn't exactly ancient,
> which makes me think the hard dependency on xcb 1.13 is a bit
> premature.

Archlinux does! You know, the distro that ships the latest version, whether it
works or not! ;)

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] dri3: allow building against older xcb (v3)

2018-03-13 Thread Rob Clark
On Tue, Mar 13, 2018 at 4:48 PM, Dylan Baker  wrote:
> Quoting Dave Airlie (2018-03-13 13:06:00)
>> From: Dave Airlie 
>>
>> I'm not sure everyone wants to be updating their dri3 in a forced
>> march setting, this allows a nicer approach, esp when you want
>> to build on distro that aren't brand new.
>>
>> I'm sure there are plenty of ways this patch could be cleaner,
>> and I've also not built it against an updated dri3.
>>
>> For meson I've just left it alone, since if you are using meson
>> you probably don't mind xcb updates, and if you are using meson
>> you can fix this better than me.
>>
>> v3: just don't put a version in for dri3/present without
>> modifiers, should allow building with 1.11 as well
>>
>> (feel free to supply meson followups)
>>
>> Signed-off-by: Dave Airlie 
>> ---
>>  configure.ac | 12 +---
>>  meson.build  |  2 +-
>>  src/egl/drivers/dri2/platform_x11_dri3.c |  4 
>>  src/loader/loader_dri3_helper.c  | 22 --
>>  src/loader/loader_dri3_helper.h  |  3 ++-
>>  src/vulkan/wsi/wsi_common_x11.c  | 12 ++--
>>  6 files changed, 42 insertions(+), 13 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 1553ce99da..dcf3f924ee 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -92,9 +92,9 @@ WAYLAND_REQUIRED=1.11
>>  WAYLAND_PROTOCOLS_REQUIRED=1.8
>>  XCB_REQUIRED=1.9.3
>>  XCBDRI2_REQUIRED=1.8
>> -XCBDRI3_REQUIRED=1.13
>> +XCBDRI3_MODIFIERS_REQUIRED=1.13
>>  XCBGLX_REQUIRED=1.8.1
>> -XCBPRESENT_REQUIRED=1.13
>> +XCBPRESENT_MODIFIERS_REQUIRED=1.13
>>  XDAMAGE_REQUIRED=1.1
>>  XSHMFENCE_REQUIRED=1.1
>>  XVMC_REQUIRED=1.0.6
>> @@ -1851,8 +1851,14 @@ fi
>>  if test x"$enable_dri3" = xyes; then
>>  DEFINES="$DEFINES -DHAVE_DRI3"
>>
>> -dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 >= 
>> $XCBDRI3_REQUIRED xcb-xfixes xcb-present >= $XCBPRESENT_REQUIRED xcb-sync 
>> xshmfence >= $XSHMFENCE_REQUIRED"
>> +dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes 
>> xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
>>  PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
>> +dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED 
>> xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRES"
>> +PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], 
>> [have_dri3_modifiers=yes], [have_dri3_modifiers=no])
>> +
>> +if test "x$have_dri3_modifiers" == xyes; then
>> +DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS"
>> +fi
>>  fi
>>
>>  AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
>> diff --git a/meson.build b/meson.build
>> index 3c63f38438..0012815254 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1235,7 +1235,7 @@ if with_platform_x11
>>  dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
>>
>>  if with_dri3
>> -  pre_args += '-DHAVE_DRI3'
>> +  pre_args += '-DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS'
>
> That should be `pre_args += ['-DHAVE_DRI3', '-DHAVE_DRI3_MODFIERS']`
>
> I don't personally care about libxcb < 1.13, so this approach is fine with 
> me. I
> don't the that the version of meson that ships with any of the LTS/EL type
> releases this matters for will build mesa anyway.
>

fwiw, f27 doesn't (yet?) have xcb 1.13, which makes me wonder who else
(who isn't building their own xcb) does, other than rawhide and
similar bleeding edge distro versions.. f27 isn't exactly ancient,
which makes me think the hard dependency on xcb 1.13 is a bit
premature.

(also, as nir+clover gets a bit more functional, I could totally see
users want to build latest mesa with something that is
modern-but-not-bleeding-edge distro.. although I guess we could just
tell them to use autotools.. still annoying for me since I'd prefer to
use meson ;-))

but I can have a go at a similar patch for meson

BR,
-R
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] dri3: allow building against older xcb (v3)

2018-03-13 Thread Dylan Baker
Quoting Dave Airlie (2018-03-13 13:06:00)
> From: Dave Airlie 
> 
> I'm not sure everyone wants to be updating their dri3 in a forced
> march setting, this allows a nicer approach, esp when you want
> to build on distro that aren't brand new.
> 
> I'm sure there are plenty of ways this patch could be cleaner,
> and I've also not built it against an updated dri3.
> 
> For meson I've just left it alone, since if you are using meson
> you probably don't mind xcb updates, and if you are using meson
> you can fix this better than me.
> 
> v3: just don't put a version in for dri3/present without
> modifiers, should allow building with 1.11 as well
> 
> (feel free to supply meson followups)
> 
> Signed-off-by: Dave Airlie 
> ---
>  configure.ac | 12 +---
>  meson.build  |  2 +-
>  src/egl/drivers/dri2/platform_x11_dri3.c |  4 
>  src/loader/loader_dri3_helper.c  | 22 --
>  src/loader/loader_dri3_helper.h  |  3 ++-
>  src/vulkan/wsi/wsi_common_x11.c  | 12 ++--
>  6 files changed, 42 insertions(+), 13 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 1553ce99da..dcf3f924ee 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -92,9 +92,9 @@ WAYLAND_REQUIRED=1.11
>  WAYLAND_PROTOCOLS_REQUIRED=1.8
>  XCB_REQUIRED=1.9.3
>  XCBDRI2_REQUIRED=1.8
> -XCBDRI3_REQUIRED=1.13
> +XCBDRI3_MODIFIERS_REQUIRED=1.13
>  XCBGLX_REQUIRED=1.8.1
> -XCBPRESENT_REQUIRED=1.13
> +XCBPRESENT_MODIFIERS_REQUIRED=1.13
>  XDAMAGE_REQUIRED=1.1
>  XSHMFENCE_REQUIRED=1.1
>  XVMC_REQUIRED=1.0.6
> @@ -1851,8 +1851,14 @@ fi
>  if test x"$enable_dri3" = xyes; then
>  DEFINES="$DEFINES -DHAVE_DRI3"
>  
> -dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 >= $XCBDRI3_REQUIRED 
> xcb-xfixes xcb-present >= $XCBPRESENT_REQUIRED xcb-sync xshmfence >= 
> $XSHMFENCE_REQUIRED"
> +dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-xfixes 
> xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
>  PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules])
> +dri3_modifier_modules="xcb-dri3 >= $XCBDRI3_MODIFIERS_REQUIRED 
> xcb-present >= $XCBPRESENT_MODIFIERS_REQUIRES"
> +PKG_CHECK_MODULES([XCB_DRI3_MODIFIERS], [$dri3_modifier_modules], 
> [have_dri3_modifiers=yes], [have_dri3_modifiers=no])
> +
> +if test "x$have_dri3_modifiers" == xyes; then
> +DEFINES="$DEFINES -DHAVE_DRI3_MODIFIERS"
> +fi
>  fi
>  
>  AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
> diff --git a/meson.build b/meson.build
> index 3c63f38438..0012815254 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1235,7 +1235,7 @@ if with_platform_x11
>  dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
>  
>  if with_dri3
> -  pre_args += '-DHAVE_DRI3'
> +  pre_args += '-DHAVE_DRI3 -DHAVE_DRI3_MODIFIERS'

That should be `pre_args += ['-DHAVE_DRI3', '-DHAVE_DRI3_MODFIERS']`

I don't personally care about libxcb < 1.13, so this approach is fine with me. I
don't the that the version of meson that ships with any of the LTS/EL type
releases this matters for will build mesa anyway.

Dylan


signature.asc
Description: signature
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev