[Mesa-dev] [PATCH 2/6] st/omx/tizonia: Add --enable-omx-tizonia flag and build files
Gurkirpal Singh
gurkirpal204 at gmail.com
Thu Jan 18 02:28:07 UTC 2018
On Wed, Jan 17, 2018 at 10:39 PM, Dylan Baker <dylan at pnwbakers.com> wrote:
> The meson build for omx-bellagio has landed along with the other media
> state
> trackers that are in tree. Currently there is a known bug with at least
> vdpau
> and va-api (I suspect that the omx, va, and xvmc are affected as well)
> which
> causes required symbols to not be exported, I'm still trying to resolve
> that.
>
> For Tizonia, what I'd like to do is change the -Dgallium-omx argument to
> accept
> ['auto', 'bellagio', 'tizonia', 'disabled'] (this mirrors the glx option),
> with
> auto trying to find bellagio and tizonia in some order and falling back to
> disabled if neither is found.
>
> The patches in this thread don't apply, there is some other work on you
> tree not
> included maybe? Or I'd see about adding it (I don't think it would be too
> hard).
> Do you have this series in a public git repo I could pull from?
>
I decided not to commit incomplete work so there are only these commits in
the repo.
I have it on my github repo branch "refactor_stomx"
https://github.com/gpalsingh/mesa/commits/refactor_stomx
Cheers
>
> Dylan
>
> Quoting Leo Liu (2018-01-17 08:23:54)
> >
> >
> > On 01/17/2018 11:19 AM, Gurkirpal Singh wrote:
> >
> >
> >
> > On Wed, Jan 17, 2018 at 8:22 PM, Leo Liu <leo.liu at amd.com> wrote:
> >
> > Hi Gurkirpal,
> >
> > Do we have patch 1 in the 6 patch set, or it hasn't arrived.
> >
> >
> > We do have a patch 1 which has been held for moderation for being too
> > large.
> >
> > If there is no arrival tomorrow, please send it as attachment. Thanks.
> >
> >
> >
> > Also I haven't seen the updates for Meson build in the current
> set.
> >
> >
> > I wasn't sure if the changes needed to be added to this commit or
> add a new
> > commit.
> >
> >
> > I think Dylan can give you advice on this for sure.
> >
> > Thanks,
> > Leo
> >
> >
> >
> >
> >
> > @Dylan, if possible, could you give an update for the Meson
> build on
> > the current set?
> >
> >
> > Thanks,
> >
> > Leo
> >
> >
> >
> >
> > On 01/17/2018 08:54 AM, Gurkirpal Singh wrote:
> >
> > Allow only bellagio or tizonia to be used at the same time.
> > Detect tizonia package config file
> > Generate libomx_mesa.so and install it to
> libtizcore.pc::pluginsdir
> > Only compile empty source (target.c) for now.
> >
> > GSoC Project link: https://summerofcode.
> withgoogle.com/projects/#
> > 4737166321123328
> >
> > Acked-by: Leo Liu <leo.liu at amd.com>
> > Reviewed-by: Julien Isorce <julien.isorce at gmail.com>
> > ---
> > configure.ac | 47
> > +++++++++++++++++++++-
> > src/gallium/Makefile.am | 4 ++
> > src/gallium/state_trackers/omx/Makefile.am | 13
> ++++++
> > src/gallium/state_trackers/omx/tizonia/Makefile.am | 36
> > +++++++++++++++++
> > .../state_trackers/omx/tizonia/Makefile.sources | 1 +
> > src/gallium/targets/omx/Makefile.am | 19
> ++++++++-
> > src/gallium/targets/omx/omx.sym | 1 +
> > 7 files changed, 117 insertions(+), 4 deletions(-)
> > create mode 100644 src/gallium/state_trackers/omx/tizonia/
> > Makefile.am
> > create mode 100644 src/gallium/state_trackers/omx/tizonia/
> > Makefile.sources
> >
> > diff --git a/configure.ac b/configure.ac
> > index 7675a45..1f7b163 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -85,6 +85,7 @@ dnl Versions for external dependencies
> > DRI2PROTO_REQUIRED=2.8
> > GLPROTO_REQUIRED=1.4.14
> > LIBOMXIL_BELLAGIO_REQUIRED=0.0
> > +LIBOMXIL_TIZONIA_REQUIRED=0.9.0
> > LIBVA_REQUIRED=0.38.0
> > VDPAU_REQUIRED=1.1
> > WAYLAND_REQUIRED=1.11
> > @@ -1298,14 +1299,19 @@ AC_ARG_ENABLE([vdpau],
> > [enable_vdpau=auto])
> > AC_ARG_ENABLE([omx],
> > [AS_HELP_STRING([--enable-omx],
> > - [DEPRECATED: Use --enable-omx-bellagio instead @
> > <:@default=auto@:>@])],
> > - [AC_MSG_ERROR([--enable-omx is deprecated. Use
> > --enable-omx-bellagio instead.])],
> > + [DEPRECATED: Use --enable-omx-bellagio or
> > --enable-omx-tizonia instead @<:@default=auto@:>@])],
> > + [AC_MSG_ERROR([--enable-omx is deprecated. Use
> > --enable-omx-bellagio or --enable-omx-tizonia instead.])],
> > [])
> > AC_ARG_ENABLE([omx-bellagio],
> > [AS_HELP_STRING([--enable-omx-bellagio],
> > [enable OpenMAX Bellagio library
> @<:@default=disabled@:>
> > @])],
> > [enable_omx_bellagio="$enableval"],
> > [enable_omx_bellagio=no])
> > +AC_ARG_ENABLE([omx-tizonia],
> > + [AS_HELP_STRING([--enable-omx-tizonia],
> > + [enable OpenMAX Tizonia library
> @<:@default=disabled@:>
> > @])],
> > + [enable_omx_tizonia="$enableval"],
> > + [enable_omx_tizonia=no])
> > AC_ARG_ENABLE([va],
> > [AS_HELP_STRING([--enable-va],
> > [enable va library @<:@default=auto@:>@])],
> > @@ -1357,11 +1363,17 @@ if test "x$enable_opengl" = xno -a \
> > "x$enable_xvmc" = xno -a \
> > "x$enable_vdpau" = xno -a \
> > "x$enable_omx_bellagio" = xno -a \
> > + "x$enable_omx_tizonia" = xno -a \
> > "x$enable_va" = xno -a \
> > "x$enable_opencl" = xno; then
> > AC_MSG_ERROR([at least one API should be enabled])
> > fi
> > +if test "x$enable_omx_bellagio" = xyes -a \
> > + "x$enable_omx_tizonia" = xyes; then
> > + AC_MSG_ERROR([Can't enable both bellagio and tizonia at
> same
> > time])
> > +fi
> > +
> > # Building OpenGL ES1 and/or ES2 without OpenGL is not
> supported
> > on mesa 9.0.x
> > if test "x$enable_opengl" = xno -a \
> > "x$enable_gles1" = xyes; then
> > @@ -2202,6 +2214,10 @@ if test -n "$with_gallium_drivers" -a
> > "x$with_gallium_drivers" != xswrast; then
> > PKG_CHECK_EXISTS([libomxil-bellagio >=
> > $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx_bellagio=yes],
> > [enable_omx_bellagio=no])
> > fi
> > + if test "x$enable_omx_tizonia" = xauto -a
> > "x$have_omx_platform" = xyes; then
> > + PKG_CHECK_EXISTS([libtizonia >=
> > $LIBOMXIL_TIZONIA_REQUIRED], [enable_omx_tizonia=yes],
> > [enable_omx_tizonia=no])
> > + fi
> > +
> > if test "x$enable_va" = xauto -a "x$have_va_platform"
> = xyes;
> > then
> > PKG_CHECK_EXISTS([libva >= $LIBVA_REQUIRED],
> [enable_va=
> > yes], [enable_va=no])
> > fi
> > @@ -2211,6 +2227,7 @@ if test "x$enable_dri" = xyes -o \
> > "x$enable_xvmc" = xyes -o \
> > "x$enable_vdpau" = xyes -o \
> > "x$enable_omx_bellagio" = xyes -o \
> > + "x$enable_omx_tizonia" = xyes -o \
> > "x$enable_va" = xyes; then
> > need_gallium_vl=yes
> > fi
> > @@ -2219,6 +2236,7 @@ AM_CONDITIONAL(NEED_GALLIUM_VL, test
> > "x$need_gallium_vl" = xyes)
> > if test "x$enable_xvmc" = xyes -o \
> > "x$enable_vdpau" = xyes -o \
> > "x$enable_omx_bellagio" = xyes -o \
> > + "x$enable_omx_tizonia" = xyes -o \
> > "x$enable_va" = xyes; then
> > if echo $platforms | grep -q "x11"; then
> > PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >=
> > $XCBDRI2_REQUIRED])
> > @@ -2252,9 +2270,23 @@ if test "x$enable_omx_bellagio" =
> xyes; then
> > fi
> > PKG_CHECK_MODULES([OMX_BELLAGIO], [libomxil-bellagio
> >=
> > $LIBOMXIL_BELLAGIO_REQUIRED])
> > gallium_st="$gallium_st omx_bellagio"
> > + AC_DEFINE([ENABLE_ST_OMX_BELLAGIO], 1, [Use Bellagio
> for OMX
> > IL])
> > fi
> > AM_CONDITIONAL(HAVE_ST_OMX_BELLAGIO, test
> "x$enable_omx_bellagio"
> > = xyes)
> > +if test "x$enable_omx_tizonia" = xyes; then
> > + if test "x$have_omx_platform" != xyes; then
> > + AC_MSG_ERROR([OMX requires at least one of the x11
> or drm
> > platforms])
> > + fi
> > + PKG_CHECK_MODULES([OMX_TIZONIA],
> > + [libtizonia >=
> $LIBOMXIL_TIZONIA_REQUIRED
> > + tizilheaders >=
> $LIBOMXIL_TIZONIA_REQUIRED
> > + libtizplatform >=
> > $LIBOMXIL_TIZONIA_REQUIRED])
> > + gallium_st="$gallium_st omx_tizonia"
> > + AC_DEFINE([ENABLE_ST_OMX_TIZONIA], 1, [Use Tizoina for
> OMX
> > IL])
> > +fi
> > +AM_CONDITIONAL(HAVE_ST_OMX_TIZONIA, test
> "x$enable_omx_tizonia" =
> > xyes)
> > +
> > if test "x$enable_va" = xyes; then
> > if test "x$have_va_platform" != xyes; then
> > AC_MSG_ERROR([VA requires at least one of the x11
> drm or
> > wayland platforms])
> > @@ -2428,6 +2460,15 @@ AC_ARG_WITH([omx-bellagio-libdir],
> > $PKG_CONFIG
> --define-variable=
> > libdir=\$libdir --variable=pluginsdir libomxil-bellagio`])
> > AC_SUBST([OMX_BELLAGIO_LIB_INSTALL_DIR])
> > +dnl Directory for OMX_TIZONIA libs
> > +
> > +AC_ARG_WITH([omx-tizonia-libdir],
> > + [AS_HELP_STRING([--with-omx-tizonia-libdir=DIR],
> > + [directory for the OMX_TIZONIA libraries])],
> > + [OMX_TIZONIA_LIB_INSTALL_DIR="$withval"],
> > + [OMX_TIZONIA_LIB_INSTALL_DIR=`$PKG_CONFIG
> --define-variable=
> > libdir=\$libdir --variable=pluginsdir libtizcore`])
> > +AC_SUBST([OMX_TIZONIA_LIB_INSTALL_DIR])
> > +
> > dnl Directory for VA libs
> > AC_ARG_WITH([va-libdir],
> > @@ -2950,6 +2991,8 @@ AC_CONFIG_FILES([Makefile
> > src/gallium/state_trackers/
> glx/xlib/Makefile
> > src/gallium/state_trackers/nine/Makefile
> > src/gallium/state_trackers/omx/Makefile
> > + src/gallium/state_trackers/
> omx/bellagio/Makefile
> > + src/gallium/state_trackers/
> omx/tizonia/Makefile
> > src/gallium/state_trackers/
> osmesa/Makefile
> > src/gallium/state_trackers/va/Makefile
> > src/gallium/state_trackers/vdpau/Makefile
> > diff --git a/src/gallium/Makefile.am
> b/src/gallium/Makefile.am
> > index 4076478..b6fbadb 100644
> > --- a/src/gallium/Makefile.am
> > +++ b/src/gallium/Makefile.am
> > @@ -158,6 +158,10 @@ if HAVE_ST_OMX_BELLAGIO
> > SUBDIRS += state_trackers/omx targets/omx
> > endif
> > +if HAVE_ST_OMX_TIZONIA
> > +SUBDIRS += state_trackers/omx targets/omx
> > +endif
> > +
> > if HAVE_GALLIUM_OSMESA
> > SUBDIRS += state_trackers/osmesa targets/osmesa
> > endif
> > diff --git a/src/gallium/state_trackers/omx/Makefile.am
> b/src/
> > gallium/state_trackers/omx/Makefile.am
> > index b80a5e1..de6eb64 100644
> > --- a/src/gallium/state_trackers/omx/Makefile.am
> > +++ b/src/gallium/state_trackers/omx/Makefile.am
> > @@ -23,6 +23,7 @@
> > include Makefile.sources
> > include $(top_srcdir)/src/gallium/Automake.inc
> > +if HAVE_ST_OMX_BELLAGIO
> > SUBDIRS = bellagio
> > AM_CFLAGS = \
> > @@ -31,6 +32,18 @@ AM_CFLAGS = \
> > $(VL_CFLAGS) \
> > $(XCB_DRI3_CFLAGS) \
> > $(OMX_BELLAGIO_CFLAGS)
> > +else
> > +SUBDIRS = tizonia
> > +
> > +AM_CFLAGS = \
> > + $(GALLIUM_CFLAGS) \
> > + $(VISIBILITY_CFLAGS) \
> > + $(VL_CFLAGS) \
> > + $(XCB_DRI3_CFLAGS) \
> > + $(OMX_TIZONIA_CFLAGS) \
> > + $(OMX_TIZILHEADERS_CFLAGS) \
> > + $(OMX_TIZPLATFORM_CFLAGS)
> > +endif
> > noinst_LTLIBRARIES = libomxtracker_common.la
> > diff --git a/src/gallium/state_trackers/omx/tizonia/Makefile.am
> b
> > /src/gallium/state_trackers/omx/tizonia/Makefile.am
> > new file mode 100644
> > index 0000000..0f72e39
> > --- /dev/null
> > +++ b/src/gallium/state_trackers/omx/tizonia/Makefile.am
> > @@ -0,0 +1,36 @@
> > +# 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
> (including
> > the next
> > +# paragraph) 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.
> > +
> > +include Makefile.sources
> > +include $(top_srcdir)/src/gallium/Automake.inc
> > +
> > +AM_CFLAGS = \
> > + -I$(top_srcdir)/src/gallium/state_trackers/omx \
> > + $(GALLIUM_CFLAGS) \
> > + $(VISIBILITY_CFLAGS) \
> > + $(VL_CFLAGS) \
> > + $(XCB_DRI3_CFLAGS) \
> > + $(OMX_TIZONIA_CFLAGS) \
> > + $(OMX_TIZILHEADERS_CFLAGS) \
> > + $(OMX_TIZPLATFORM_CFLAGS)
> > +
> > +noinst_LTLIBRARIES = libomxtiztracker.la
> > +
> > +libomxtiztracker_la_SOURCES = $(C_SOURCES)
> > diff --git a/src/gallium/state_trackers/omx/tizonia/
> > Makefile.sources b/src/gallium/state_trackers/omx/tizonia/
> > Makefile.sources
> > new file mode 100644
> > index 0000000..9103ca8
> > --- /dev/null
> > +++ b/src/gallium/state_trackers/
> omx/tizonia/Makefile.sources
> > @@ -0,0 +1 @@
> > +C_SOURCES :=
> > diff --git a/src/gallium/targets/omx/Makefile.am
> b/src/gallium/
> > targets/omx/Makefile.am
> > index e323616..627d396 100644
> > --- a/src/gallium/targets/omx/Makefile.am
> > +++ b/src/gallium/targets/omx/Makefile.am
> > @@ -3,7 +3,12 @@ include $(top_srcdir)/src/gallium/
> Automake.inc
> > AM_CFLAGS = \
> > $(GALLIUM_TARGET_CFLAGS)
> > +if HAVE_ST_OMX_BELLAGIO
> > omxdir = $(OMX_BELLAGIO_LIB_INSTALL_DIR)
> > +else
> > +omxdir = $(OMX_TIZONIA_LIB_INSTALL_DIR)
> > +endif
> > +
> > omx_LTLIBRARIES = libomx_mesa.la
> > nodist_EXTRA_libomx_mesa_la_SOURCES = dummy.cpp
> > @@ -24,15 +29,25 @@ endif # HAVE_LD_VERSION_SCRIPT
> > libomx_mesa_la_LIBADD = \
> > $(top_builddir)/src/gallium/state_trackers/omx/
> > libomxtracker_common.la \
> > - $(top_builddir)/src/gallium/
> state_trackers/omx/bellagio/lib
> > omxtracker.la \
> > $(top_builddir)/src/gallium/auxiliary/
> libgalliumvlwinsys.la
> > \
> > $(top_builddir)/src/gallium/auxiliary/
> libgalliumvl.la \
> > $(top_builddir)/src/gallium/auxiliary/libgallium.la
> \
> > $(top_builddir)/src/util/libmesautil.la \
> > - $(OMX_BELLAGIO_LIBS) \
> > $(LIBDRM_LIBS) \
> > $(GALLIUM_COMMON_LIB_DEPS)
> > +if HAVE_ST_OMX_BELLAGIO
> > +libomx_mesa_la_LIBADD += \
> > + $(top_builddir)/src/gallium/
> state_trackers/omx/bellagio/lib
> > omxtracker.la \
> > + $(OMX_BELLAGIO_LIBS)
> > +else
> > +libomx_mesa_la_LIBADD += \
> > + $(top_builddir)/src/gallium/
> state_trackers/omx/tizonia/libo
> > mxtiztracker.la \
> > + $(OMX_TIZONIA_LIBS) \
> > + $(OMX_TIZILHEADERS_LIBS) \
> > + $(OMX_TIZPLATFORM_LIBS)
> > +endif
> > +
> > if HAVE_PLATFORM_X11
> > libomx_mesa_la_LIBADD += \
> > $(VL_LIBS) \
> > diff --git a/src/gallium/targets/omx/omx.sym
> b/src/gallium/targets/
> > omx/omx.sym
> > index e8a2876..07b65e5 100644
> > --- a/src/gallium/targets/omx/omx.sym
> > +++ b/src/gallium/targets/omx/omx.sym
> > @@ -1,5 +1,6 @@
> > {
> > global:
> > + OMX_ComponentInit;
> > omx_component_library_Setup;
> > # Workaround for an LLVM warning with
> > -simplifycfg-sink-common
> >
> >
> >
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180118/1c365eed/attachment-0001.html>
More information about the mesa-dev
mailing list