Re: [Mesa-dev] [PATCH v3 14/15] meson: build gallium va state tracker
Quoting Marc Dietrich (2017-11-14 01:49:42) > Hi Dylan, > > Am Dienstag, 14. November 2017, 02:09:18 CET schrieb Dylan Baker: > > v2: - set with_gallium_va when -Dgallium-va=true > > - Fix megadrivers install > > - only use cflags from pkg-config, don't add linker flags. > > - Don't get version from pkg-config, it's not tracking the same > > version information. > > --- > > meson.build | 41 +- > > meson_options.txt | 13 + > > src/gallium/meson.build | 7 ++- > > src/gallium/state_trackers/va/meson.build | 39 ++ > > src/gallium/targets/va/meson.build| 89 > > +++ 5 files changed, 187 insertions(+), 2 > > deletions(-) > > create mode 100644 src/gallium/state_trackers/va/meson.build > > create mode 100644 src/gallium/targets/va/meson.build > > > > snip > > > diff --git a/src/gallium/state_trackers/va/meson.build > > b/src/gallium/state_trackers/va/meson.build new file mode 100644 > > index 000..dd0d03b629a > > --- /dev/null > > +++ b/src/gallium/state_trackers/va/meson.build > > @@ -0,0 +1,39 @@ > > +# Copyright © 2017 Intel Corporation > > + > > +# Permission is hereby granted, free of charge, to any person obtaining a > > copy +# of this software and associated documentation files (the > > "Software"), to deal +# in the Software without restriction, including > > without limitation the rights +# to use, copy, modify, merge, publish, > > distribute, sublicense, and/or sell +# copies of the Software, and to > > permit persons to whom the Software is +# furnished to do so, subject to > > the following conditions: > > + > > +# The above copyright notice and this permission notice shall be included > > in +# all copies or substantial portions of the Software. > > + > > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS > > OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > > MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. > > IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY > > CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, > > TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE > > SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. > > + > > +libva_version = va_version = ['2', '3', '0'] > > this gives an illegal assignment here. > > Marc Yup, I don't know why that was working for me before I sent it. Fixed locally. 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 v3 14/15] meson: build gallium va state tracker
Hi Dylan, Am Dienstag, 14. November 2017, 02:09:18 CET schrieb Dylan Baker: > v2: - set with_gallium_va when -Dgallium-va=true > - Fix megadrivers install > - only use cflags from pkg-config, don't add linker flags. > - Don't get version from pkg-config, it's not tracking the same > version information. > --- > meson.build | 41 +- > meson_options.txt | 13 + > src/gallium/meson.build | 7 ++- > src/gallium/state_trackers/va/meson.build | 39 ++ > src/gallium/targets/va/meson.build| 89 > +++ 5 files changed, 187 insertions(+), 2 > deletions(-) > create mode 100644 src/gallium/state_trackers/va/meson.build > create mode 100644 src/gallium/targets/va/meson.build > snip > diff --git a/src/gallium/state_trackers/va/meson.build > b/src/gallium/state_trackers/va/meson.build new file mode 100644 > index 000..dd0d03b629a > --- /dev/null > +++ b/src/gallium/state_trackers/va/meson.build > @@ -0,0 +1,39 @@ > +# Copyright © 2017 Intel Corporation > + > +# Permission is hereby granted, free of charge, to any person obtaining a > copy +# of this software and associated documentation files (the > "Software"), to deal +# in the Software without restriction, including > without limitation the rights +# to use, copy, modify, merge, publish, > distribute, sublicense, and/or sell +# copies of the Software, and to > permit persons to whom the Software is +# furnished to do so, subject to > the following conditions: > + > +# The above copyright notice and this permission notice shall be included > in +# all copies or substantial portions of the Software. > + > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS > OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. > IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY > CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, > TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE > SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. > + > +libva_version = va_version = ['2', '3', '0'] this gives an illegal assignment here. Marc signature.asc Description: This is a digitally signed message part. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH v3 14/15] meson: build gallium va state tracker
v2: - set with_gallium_va when -Dgallium-va=true - Fix megadrivers install - only use cflags from pkg-config, don't add linker flags. - Don't get version from pkg-config, it's not tracking the same version information. --- meson.build | 41 +- meson_options.txt | 13 + src/gallium/meson.build | 7 ++- src/gallium/state_trackers/va/meson.build | 39 ++ src/gallium/targets/va/meson.build| 89 +++ 5 files changed, 187 insertions(+), 2 deletions(-) create mode 100644 src/gallium/state_trackers/va/meson.build create mode 100644 src/gallium/targets/va/meson.build diff --git a/meson.build b/meson.build index b1a09a0b6c9..8c20523aab0 100644 --- a/meson.build +++ b/meson.build @@ -487,6 +487,44 @@ if with_gallium_omx ) endif +dep_va = [] +_va = get_option('gallium-va') +if _va == 'auto' + if not ['linux', 'bsd'].contains(host_machine.system()) +with_gallium_va = false + elif not with_platform_x11 +with_gallium_va = false + elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau) +with_gallium_va = false + else +dep_va = dependency('libva', version : '>= 0.38.0', required : false) +with_gallium_va = dep_va.found() + endif +elif _va == 'true' + if not ['linux', 'bsd'].contains(host_machine.system()) +error('VA state tracker can only be built on unix-like OSes.') + elif not (with_platform_x11 or with_platform_drm) +error('VA state tracker requires X11 or drm or wayland platform support.') +with_gallium_va = false + elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau) +error('VA state tracker requires at least one of the following gallium drivers: r600, radeonsi, nouveau.') + endif + dep_va = dependency('libva', version : '>= 0.38.0') + with_gallium_va = true +else + with_gallium_va = false +endif +if with_gallium_va + dep_va = declare_dependency( +compile_args : dep_va.get_pkgconfig_variable('cflags').split() + ) +endif + +va_drivers_path = get_option('va-libs-path') +if va_drivers_path == '' + va_drivers_path = join_paths(get_option('libdir'), 'dri') +endif + gl_pkgconfig_c_flags = [] if with_platform_x11 if with_any_vk or (with_glx == 'dri' and with_dri_platform == 'drm') @@ -994,7 +1032,8 @@ if with_platform_x11 dep_xxf86vm = dependency('xxf86vm', required : false) endif if (with_any_vk or (with_glx == 'dri' and with_dri_platform == 'drm') or - (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx)) + (with_gallium_vdpau or with_gallium_xvmc or with_gallium_omx or + with_gallium_xa)) dep_xcb = dependency('xcb') dep_x11_xcb = dependency('x11-xcb') dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8') diff --git a/meson_options.txt b/meson_options.txt index 8ee216d5b8a..0a9f7a9e403 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -88,6 +88,19 @@ option( value : '', description : 'path to put omx libraries. defaults to omx-bellagio pkg-config pluginsdir.' ) +option( + 'gallium-va', + type : 'combo', + value : 'auto', + choices : ['auto', 'true', 'false'], + description : 'enable gallium va state tracker.', +) +option( + 'va-libs-path', + type : 'string', + value : '', + description : 'path to put va libraries. defaults to $libdir/dri.' +) option( 'vulkan-drivers', type : 'string', diff --git a/src/gallium/meson.build b/src/gallium/meson.build index c17dba51ff2..c379b600d87 100644 --- a/src/gallium/meson.build +++ b/src/gallium/meson.build @@ -108,6 +108,9 @@ endif if with_gallium_omx subdir('state_trackers/omx_bellagio') endif +if with_gallium_va + subdir('state_trackers/va') +endif # TODO: SWR # TODO: clover if with_dri and with_gallium @@ -128,7 +131,9 @@ endif if with_gallium_omx subdir('targets/omx-bellagio') endif -# TODO: VA +if with_gallium_va + subdir('targets/va') +endif # TODO: xa # TODO: nine # TODO: tests diff --git a/src/gallium/state_trackers/va/meson.build b/src/gallium/state_trackers/va/meson.build new file mode 100644 index 000..dd0d03b629a --- /dev/null +++ b/src/gallium/state_trackers/va/meson.build @@ -0,0 +1,39 @@ +# Copyright © 2017 Intel Corporation + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, I