[Mesa-dev] [PATCH 2/6] st/omx/tizonia: Add --enable-omx-tizonia flag and build files
Leo Liu
leo.liu at amd.com
Wed Jan 17 16:23:54 UTC 2018
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
> <mailto: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
> <https://summerofcode.withgoogle.com/projects/#4737166321123328>
>
> Acked-by: Leo Liu <leo.liu at amd.com <mailto:leo.liu at amd.com>>
> Reviewed-by: Julien Isorce <julien.isorce at gmail.com
> <mailto:julien.isorce at gmail.com>>
> ---
> configure.ac <http://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 <http://le.am>
> | 19 ++++++++-
> src/gallium/targets/omx/omx.sy <http://omx.sy>m | 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 <http://configure.ac> b/configure.ac
> <http://configure.ac>
> index 7675a45..1f7b163 100644
> --- a/configure.ac <http://configure.ac>
> +++ b/configure.ac <http://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
> <http://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
> <http://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
> <http://file.am> b/src/gallium/targets/omx/Makefile.am
> <http://file.am>
> index e323616..627d396 100644
> --- a/src/gallium/targets/omx/Makefile.am <http://file.am>
> +++ b/src/gallium/targets/omx/Makefile.am <http://file.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 <http://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
> <http://libomxtracker_common.la> \
> -
> $(top_builddir)/src/gallium/state_trackers/omx/bellagio/libomxtracker.la
> <http://libomxtracker.la> \
>
> $(top_builddir)/src/gallium/auxiliary/libgalliumvlwinsys.la
> <http://libgalliumvlwinsys.la> \
> $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la
> <http://libgalliumvl.la> \
> $(top_builddir)/src/gallium/auxiliary/libgallium.la
> <http://libgallium.la> \
> $(top_builddir)/src/util/libmesautil.la
> <http://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/libomxtracker.la
> <http://libomxtracker.la> \
> + $(OMX_BELLAGIO_LIBS)
> +else
> +libomx_mesa_la_LIBADD += \
> +
> $(top_builddir)/src/gallium/state_trackers/omx/tizonia/libomxtiztracker.la
> <http://libomxtiztracker.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/99d07dd4/attachment-0001.html>
More information about the mesa-dev
mailing list