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

Gurkirpal Singh gurkirpal204 at gmail.com
Wed Jan 17 16:19:42 UTC 2018


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.

>
> 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.

>
> @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/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/20180117/1ce37ab0/attachment-0001.html>


More information about the mesa-dev mailing list