[Mesa-dev] [PATCH v3 5/5] android: build imx-drm winsys

Emil Velikov emil.l.velikov at gmail.com
Thu Jun 29 19:03:22 UTC 2017


On 29 June 2017 at 16:35, Robert Foss <robert.foss at collabora.com> wrote:
> On Thu, 2017-06-29 at 15:28 +0100, Emil Velikov wrote:
>> On 28 June 2017 at 22:52, Robert Foss <robert.foss at collabora.com>
>> wrote:
>> > From: Tomeu Vizoso <tomeu.vizoso at collabora.com>
>> >
>> > Add Android.mk for winsys/imx/drm.
>> >
>> > Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
>> > Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
>> > ---
>> > Changes since v2:
>> >   - Rebased on upstream/master
>> >   - Added commit message
>> >
>> > Changes since v1:
>> >   Emil Velikov <emil.l.velikov at gmail.com>
>> >    - Fix C_SOURCES include
>> >    - Fix GALLIUM_LIBS assignment
>> >
>> >  Android.mk                            |  5 +++--
>> >  src/gallium/Android.mk                |  1 +
>> >  src/gallium/winsys/imx/drm/Android.mk | 39
>> > +++++++++++++++++++++++++++++++++++
>> >  3 files changed, 43 insertions(+), 2 deletions(-)
>> >  create mode 100644 src/gallium/winsys/imx/drm/Android.mk
>> >
>> > diff --git a/Android.mk b/Android.mk
>> > index 2118405e1a..479a975999 100644
>> > --- a/Android.mk
>> > +++ b/Android.mk
>> > @@ -24,7 +24,7 @@
>> >  # BOARD_GPU_DRIVERS should be defined.  The valid values are
>> >  #
>> >  #   classic drivers: i915 i965
>> > -#   gallium drivers: swrast freedreno i915g nouveau pl111 r300g
>> > r600g radeonsi vc4 virgl vmwgfx etnaviv
>> > +#   gallium drivers: swrast freedreno i915g nouveau pl111 r300g
>> > r600g radeonsi vc4 virgl vmwgfx etnaviv imx
>> >  #
>> >  # The main target is libGLES_mesa.  For each classic driver
>> > enabled, a DRI
>> >  # module will also be built.  DRI modules will be loaded by
>> > libGLES_mesa.
>> > @@ -58,7 +58,8 @@ gallium_drivers := \
>> >         vmwgfx.HAVE_GALLIUM_VMWGFX \
>> >         vc4.HAVE_GALLIUM_VC4 \
>> >         virgl.HAVE_GALLIUM_VIRGL \
>> > -       etnaviv.HAVE_GALLIUM_ETNAVIV
>> > +       etnaviv.HAVE_GALLIUM_ETNAVIV \
>> > +       imx.HAVE_GALLIUM_IMX
>> >
>> >  ifeq ($(BOARD_GPU_DRIVERS),all)
>> >  MESA_BUILD_CLASSIC := $(filter HAVE_%, $(subst ., ,
>> > $(classic_drivers)))
>> > diff --git a/src/gallium/Android.mk b/src/gallium/Android.mk
>> > index dc98fa00ed..8743dd6d26 100644
>> > --- a/src/gallium/Android.mk
>> > +++ b/src/gallium/Android.mk
>> > @@ -45,6 +45,7 @@ SUBDIRS += winsys/vc4/drm drivers/vc4
>> >  SUBDIRS += winsys/virgl/drm winsys/virgl/vtest drivers/virgl
>> >  SUBDIRS += winsys/svga/drm drivers/svga
>> >  SUBDIRS += winsys/etnaviv/drm drivers/etnaviv drivers/renderonly
>> > +SUBDIRS += winsys/imx/drm
>> >  SUBDIRS += state_trackers/dri
>> >
>> >  # sort to eliminate any duplicates
>> > diff --git a/src/gallium/winsys/imx/drm/Android.mk
>> > b/src/gallium/winsys/imx/drm/Android.mk
>> > new file mode 100644
>> > index 0000000000..51649f8b87
>> > --- /dev/null
>> > +++ b/src/gallium/winsys/imx/drm/Android.mk
>> > @@ -0,0 +1,39 @@
>> > +# Copyright (C) 2016 Linaro, Ltd, Rob Herring <robh at kernel.org>
>> > +#
>> > +# 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.
>> > +
>> > +LOCAL_PATH := $(call my-dir)
>> > +
>> > +include $(LOCAL_PATH)/Makefile.sources
>> > +
>> > +include $(CLEAR_VARS)
>> > +
>> > +LOCAL_SRC_FILES := $(C_SOURCES)
>> > +
>> > +LOCAL_SHARED_LIBRARIES := libdrm_etnaviv
>> > +
>> > +LOCAL_MODULE := libmesa_winsys_imx
>> > +
>> > +include $(GALLIUM_COMMON_MK)
>> > +include $(BUILD_STATIC_LIBRARY)
>> > +
>> > +ifneq ($(HAVE_GALLIUM_FREEDRENO),)
>>
>> s/FREEDRENO/IMX/
>>
>> > +$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_imx)
>>
>> I may have mislead you here - s/imx/etnaviv/
>>
>> Robert, seems like we've spent too long with this series and 4/5 +
>> 5/5
>> need a GALLIUM_TARGET_DRIVERS fix. See commit
>> a3d98ca62febdfbe035d655cb7c1f849bccfa105.
>>
>> Can you respin only those two - checking that things still work on
>> your end? I'll push the rest early tomorrow, barring any objections.
>
> It would seem to me that the winsys Android.mk files do not need the
> GALLIUM_TARGET_DRIVERS change.
> So only 4/5 needs the above fix. Is that right?
>
Without a "GALLIUM_TARGET_DRIVERS += imx-drm" the imx-drm_dri.so link
will be missing and with the gallium_dri.so workaround purged (with
said patch), one will fail to load the DRI module.

To clear some confusion:
pl111 opted for a dummy (empty) driver static lib. Hence the
GALLIUM_TARGET... line is in there.

Here one is cutting it short, omitting the driver Android.mk file and
library all together. Ideally imx-drm and pl111 will be consistent,
although a shorter fix (in the winsys Android.mk) will do for now ;-)

Hope that makes things somewhat clearer.
Emil


More information about the mesa-dev mailing list