Re: [Mesa-dev] [PATCH] dri3: allow building against older xcb (v3)
Quoting Rob Clark (2018-03-13 14:08:46) > On Tue, Mar 13, 2018 at 4:48 PM, Dylan Bakerwrote: > > 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)
Quoting Rob Clark (2018-03-13 14:08:46) > On Tue, Mar 13, 2018 at 4:48 PM, Dylan Bakerwrote: > > 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)
On Tue, Mar 13, 2018 at 4:48 PM, Dylan Bakerwrote: > 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)
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