[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