On Tue, Mar 13, 2018 at 4:48 PM, Dylan Baker <dy...@pnwbakers.com> wrote:
> Quoting Dave Airlie (2018-03-13 13:06:00)
>> From: Dave Airlie <airl...@redhat.com>
>> 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 <airl...@redhat.com>
>> 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
>> @@ -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
>> 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
(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
mesa-dev mailing list