[Mesa-dev] [PATCH 2/6] st/omx/tizonia: Add --enable-omx-tizonia flag and build files

Julien Isorce julien.isorce at gmail.com
Fri Jan 19 09:46:21 UTC 2018


Hi Leo,

Do you have enough data to start the merge ?

Thx
Julien

On 18 January 2018 at 02:28, Gurkirpal Singh <gurkirpal204 at gmail.com> wrote:

>
>
> 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.withgoogl
>> e.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/gl
>> x/xlib/Makefile
>> >                                src/gallium/state_trackers/nine/Makefile
>> >                                src/gallium/state_trackers/omx/Makefile
>> >             +                 src/gallium/state_trackers/om
>> x/bellagio/Makefile
>> >             +                 src/gallium/state_trackers/om
>> x/tizonia/Makefile
>> >                                src/gallium/state_trackers/os
>> mesa/Makefile
>> >                                src/gallium/state_trackers/va/Makefile
>> >                                src/gallium/state_trackers/vd
>> pau/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/o
>> mx/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/Auto
>> make.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/s
>> tate_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/s
>> tate_trackers/omx/bellagio/lib
>> >             omxtracker.la \
>> >             +       $(OMX_BELLAGIO_LIBS)
>> >             +else
>> >             +libomx_mesa_la_LIBADD += \
>> >             +       $(top_builddir)/src/gallium/s
>> tate_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
>> >
>> >
>> >
>> >
>> >
>> >
>>
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180119/b5bdd007/attachment-0001.html>


More information about the mesa-dev mailing list