Switch imx to kmsro and remove the imx winsys

The kmsro winsys is equivalent to the imx winsys, so we can switch
to it and remove the imx one.

Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Rob Herring
2019-01-24 14:03:54 -06:00
parent 827e0d6654
commit 41a0acd6a1
22 changed files with 12 additions and 277 deletions

View File

@@ -155,7 +155,7 @@ matrix:
- UNWIND="true" - UNWIND="true"
- DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false" - DRI_LOADERS="-Dglx=disabled -Degl=false -Dgbm=false"
- GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled" - GALLIUM_ST="-Ddri3=false -Dgallium-vdpau=false -Dgallium-xvmc=false -Dgallium-omx=disabled -Dgallium-va=false -Dgallium-xa=false -Dgallium-nine=false -Dgallium-opencl=disabled"
- GALLIUM_DRIVERS="i915,nouveau,pl111,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx" - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
- LLVM_VERSION=5.0 - LLVM_VERSION=5.0
- LLVM_CONFIG="llvm-config-${LLVM_VERSION}" - LLVM_CONFIG="llvm-config-${LLVM_VERSION}"
addons: addons:
@@ -352,7 +352,7 @@ matrix:
- DRI_LOADERS="--disable-glx --disable-gbm --disable-egl" - DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
- DRI_DRIVERS="" - DRI_DRIVERS=""
- GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa" - GALLIUM_ST="--enable-dri --disable-opencl --disable-xa --disable-nine --disable-xvmc --disable-vdpau --disable-va --disable-omx-bellagio --disable-gallium-osmesa"
- GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv,imx" - GALLIUM_DRIVERS="i915,nouveau,kmsro,r300,r600,freedreno,svga,swrast,v3d,vc4,virgl,etnaviv"
- VULKAN_DRIVERS="" - VULKAN_DRIVERS=""
- LIBUNWIND_FLAGS="--enable-libunwind" - LIBUNWIND_FLAGS="--enable-libunwind"
addons: addons:

View File

@@ -24,7 +24,7 @@
# BOARD_GPU_DRIVERS should be defined. The valid values are # BOARD_GPU_DRIVERS should be defined. The valid values are
# #
# classic drivers: i915 i965 # classic drivers: i915 i965
# gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv imx # gallium drivers: swrast freedreno i915g nouveau kmsro r300g r600g radeonsi vc4 virgl vmwgfx etnaviv
# #
# The main target is libGLES_mesa. For each classic driver enabled, a DRI # 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. # module will also be built. DRI modules will be loaded by libGLES_mesa.
@@ -59,8 +59,7 @@ gallium_drivers := \
vmwgfx.HAVE_GALLIUM_VMWGFX \ vmwgfx.HAVE_GALLIUM_VMWGFX \
vc4.HAVE_GALLIUM_VC4 \ vc4.HAVE_GALLIUM_VC4 \
virgl.HAVE_GALLIUM_VIRGL \ virgl.HAVE_GALLIUM_VIRGL \
etnaviv.HAVE_GALLIUM_ETNAVIV \ etnaviv.HAVE_GALLIUM_ETNAVIV
imx.HAVE_GALLIUM_IMX
ifeq ($(BOARD_GPU_DRIVERS),all) ifeq ($(BOARD_GPU_DRIVERS),all)
MESA_BUILD_CLASSIC := $(filter HAVE_%, $(subst ., , $(classic_drivers))) MESA_BUILD_CLASSIC := $(filter HAVE_%, $(subst ., , $(classic_drivers)))

View File

@@ -45,7 +45,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-libunwind \ --enable-libunwind \
--with-platforms=x11,wayland,drm,surfaceless \ --with-platforms=x11,wayland,drm,surfaceless \
--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \ --with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
--with-gallium-drivers=i915,nouveau,r300,kmsro,r600,radeonsi,freedreno,svga,swrast,vc4,tegra,virgl,swr,etnaviv,imx \ --with-gallium-drivers=i915,nouveau,r300,kmsro,r600,radeonsi,freedreno,svga,swrast,vc4,tegra,virgl,swr,etnaviv \
--with-vulkan-drivers=intel,radeon --with-vulkan-drivers=intel,radeon
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4

View File

@@ -1408,7 +1408,7 @@ GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
AC_ARG_WITH([gallium-drivers], AC_ARG_WITH([gallium-drivers],
[AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@], [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
[comma delimited Gallium drivers list, e.g. [comma delimited Gallium drivers list, e.g.
"i915,nouveau,r300,r600,radeonsi,freedreno,kmsro,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx" "i915,nouveau,r300,r600,radeonsi,freedreno,kmsro,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv"
@<:@default=r300,r600,svga,swrast@:>@])], @<:@default=r300,r600,svga,swrast@:>@])],
[with_gallium_drivers="$withval"], [with_gallium_drivers="$withval"],
[with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"]) [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
@@ -2741,9 +2741,6 @@ if test -n "$with_gallium_drivers"; then
PKG_CHECK_MODULES([ETNAVIV], [libdrm >= $LIBDRM_ETNAVIV_REQUIRED libdrm_etnaviv >= $LIBDRM_ETNAVIV_REQUIRED]) PKG_CHECK_MODULES([ETNAVIV], [libdrm >= $LIBDRM_ETNAVIV_REQUIRED libdrm_etnaviv >= $LIBDRM_ETNAVIV_REQUIRED])
require_libdrm "etnaviv" require_libdrm "etnaviv"
;; ;;
ximx)
HAVE_GALLIUM_IMX=yes
;;
xtegra) xtegra)
HAVE_GALLIUM_TEGRA=yes HAVE_GALLIUM_TEGRA=yes
require_libdrm "tegra" require_libdrm "tegra"
@@ -2864,10 +2861,6 @@ AM_CONDITIONAL(HAVE_SWR_BUILTIN, test "x$HAVE_SWR_BUILTIN" = xyes)
dnl We need to validate some needed dependencies for renderonly drivers. dnl We need to validate some needed dependencies for renderonly drivers.
if test "x$HAVE_GALLIUM_ETNAVIV" != xyes -a "x$HAVE_GALLIUM_IMX" = xyes ; then
AC_MSG_ERROR([Building with imx requires etnaviv])
fi
if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_KMSRO" = xyes ; then if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_KMSRO" = xyes ; then
AC_MSG_ERROR([Building with kmsro requires vc4]) AC_MSG_ERROR([Building with kmsro requires vc4])
fi fi
@@ -2952,7 +2945,7 @@ if test "x$enable_llvm" = xyes; then
fi fi
dnl The gallium-xlib GLX and gallium OSMesa targets directly embed the dnl The gallium-xlib GLX and gallium OSMesa targets directly embed the
dnl swr/llvmpipe driver into the final binary. Adding LLVM_LIBS results in dnl swr/llvmpipe driver into the final binary. Adding LLVM_LIBS results in
dnl the LLVM library propagated in the Libs.private of the respective .pc dnl the LLVM library propagated in the Libs.private of the respective .pc
dnl file which ensures complete dependency information when statically dnl file which ensures complete dependency information when statically
dnl linking. dnl linking.
@@ -2973,7 +2966,6 @@ AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_ETNAVIV, test "x$HAVE_GALLIUM_ETNAVIV" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_ETNAVIV, test "x$HAVE_GALLIUM_ETNAVIV" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_IMX, test "x$HAVE_GALLIUM_IMX" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_TEGRA, test "x$HAVE_GALLIUM_TEGRA" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_TEGRA, test "x$HAVE_GALLIUM_TEGRA" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes)
AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes)
@@ -3125,7 +3117,6 @@ AC_CONFIG_FILES([Makefile
src/gallium/drivers/swr/Makefile src/gallium/drivers/swr/Makefile
src/gallium/drivers/tegra/Makefile src/gallium/drivers/tegra/Makefile
src/gallium/drivers/etnaviv/Makefile src/gallium/drivers/etnaviv/Makefile
src/gallium/drivers/imx/Makefile
src/gallium/drivers/v3d/Makefile src/gallium/drivers/v3d/Makefile
src/gallium/drivers/vc4/Makefile src/gallium/drivers/vc4/Makefile
src/gallium/drivers/virgl/Makefile src/gallium/drivers/virgl/Makefile
@@ -3160,7 +3151,6 @@ AC_CONFIG_FILES([Makefile
src/gallium/tests/trivial/Makefile src/gallium/tests/trivial/Makefile
src/gallium/tests/unit/Makefile src/gallium/tests/unit/Makefile
src/gallium/winsys/etnaviv/drm/Makefile src/gallium/winsys/etnaviv/drm/Makefile
src/gallium/winsys/imx/drm/Makefile
src/gallium/winsys/freedreno/drm/Makefile src/gallium/winsys/freedreno/drm/Makefile
src/gallium/winsys/i915/drm/Makefile src/gallium/winsys/i915/drm/Makefile
src/gallium/winsys/nouveau/drm/Makefile src/gallium/winsys/nouveau/drm/Makefile

View File

@@ -131,7 +131,7 @@ if _drivers.contains('auto')
] ]
elif ['arm', 'aarch64'].contains(host_machine.cpu_family()) elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
_drivers = [ _drivers = [
'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau', 'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'nouveau',
'tegra', 'virgl', 'swrast', 'tegra', 'virgl', 'swrast',
] ]
else else
@@ -155,7 +155,6 @@ with_gallium_softpipe = _drivers.contains('swrast')
with_gallium_vc4 = _drivers.contains('vc4') with_gallium_vc4 = _drivers.contains('vc4')
with_gallium_v3d = _drivers.contains('v3d') with_gallium_v3d = _drivers.contains('v3d')
with_gallium_etnaviv = _drivers.contains('etnaviv') with_gallium_etnaviv = _drivers.contains('etnaviv')
with_gallium_imx = _drivers.contains('imx')
with_gallium_tegra = _drivers.contains('tegra') with_gallium_tegra = _drivers.contains('tegra')
with_gallium_i915 = _drivers.contains('i915') with_gallium_i915 = _drivers.contains('i915')
with_gallium_svga = _drivers.contains('svga') with_gallium_svga = _drivers.contains('svga')
@@ -210,9 +209,6 @@ endif
if with_dri_i915 and with_gallium_i915 if with_dri_i915 and with_gallium_i915
error('Only one i915 provider can be built') error('Only one i915 provider can be built')
endif endif
if with_gallium_imx and not with_gallium_etnaviv
error('IMX driver requires etnaviv driver')
endif
if with_gallium_kmsro and not (with_gallium_vc4 or with_gallium_etnaviv) if with_gallium_kmsro and not (with_gallium_vc4 or with_gallium_etnaviv)
error('kmsro driver requires one or more renderonly drivers (vc4, etnaviv)') error('kmsro driver requires one or more renderonly drivers (vc4, etnaviv)')
endif endif

View File

@@ -59,7 +59,7 @@ option(
value : ['auto'], value : ['auto'],
choices : [ choices : [
'', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno', '', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
'swrast', 'v3d', 'vc4', 'etnaviv', 'imx', 'tegra', 'i915', 'svga', 'virgl', 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
'swr', 'swr',
], ],
description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built' description : 'List of gallium drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'

View File

@@ -46,7 +46,6 @@ SUBDIRS += winsys/vc4/drm drivers/vc4
SUBDIRS += winsys/virgl/drm winsys/virgl/vtest drivers/virgl SUBDIRS += winsys/virgl/drm winsys/virgl/vtest drivers/virgl
SUBDIRS += winsys/svga/drm drivers/svga SUBDIRS += winsys/svga/drm drivers/svga
SUBDIRS += winsys/etnaviv/drm drivers/etnaviv drivers/renderonly SUBDIRS += winsys/etnaviv/drm drivers/etnaviv drivers/renderonly
SUBDIRS += winsys/imx/drm
SUBDIRS += state_trackers/dri SUBDIRS += state_trackers/dri
# sort to eliminate any duplicates # sort to eliminate any duplicates

View File

@@ -56,10 +56,6 @@ if HAVE_GALLIUM_ETNAVIV
SUBDIRS += drivers/etnaviv winsys/etnaviv/drm SUBDIRS += drivers/etnaviv winsys/etnaviv/drm
endif endif
if HAVE_GALLIUM_IMX
SUBDIRS += drivers/imx winsys/imx/drm
endif
if HAVE_GALLIUM_KMSRO if HAVE_GALLIUM_KMSRO
SUBDIRS += drivers/kmsro winsys/kmsro/drm SUBDIRS += drivers/kmsro winsys/kmsro/drm
endif endif

View File

@@ -126,11 +126,6 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
.create_screen = pipe_etna_create_screen, .create_screen = pipe_etna_create_screen,
.configuration = pipe_default_configuration_query, .configuration = pipe_default_configuration_query,
}, },
{
.driver_name = "imx-drm",
.create_screen = pipe_imx_drm_create_screen,
.configuration = pipe_default_configuration_query,
},
{ {
.driver_name = "tegra", .driver_name = "tegra",
.create_screen = pipe_tegra_create_screen, .create_screen = pipe_tegra_create_screen,

View File

@@ -356,29 +356,6 @@ pipe_etna_create_screen(int fd, const struct pipe_screen_config *config)
#endif #endif
#ifdef GALLIUM_IMX
#include "imx/drm/imx_drm_public.h"
struct pipe_screen *
pipe_imx_drm_create_screen(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *screen;
screen = imx_drm_screen_create(fd);
return screen ? debug_screen_wrap(screen) : NULL;
}
#else
struct pipe_screen *
pipe_imx_drm_create_screen(int fd, const struct pipe_screen_config *config)
{
fprintf(stderr, "imx-drm: driver missing\n");
return NULL;
}
#endif
#ifdef GALLIUM_TEGRA #ifdef GALLIUM_TEGRA
#include "tegra/drm/tegra_drm_public.h" #include "tegra/drm/tegra_drm_public.h"

View File

@@ -1,9 +0,0 @@
if HAVE_GALLIUM_IMX
TARGET_DRIVERS += imx-drm
TARGET_CPPFLAGS += -DGALLIUM_IMX
TARGET_LIB_DEPS += \
$(top_builddir)/src/gallium/winsys/imx/drm/libimxdrm.la \
$(LIBDRM_LIBS)
endif

View File

@@ -1,8 +0,0 @@
include $(top_srcdir)/src/gallium/Automake.inc
AM_CPPFLAGS = \
$(GALLIUM_CFLAGS)
noinst_LTLIBRARIES = libimx.la
libimx_la_SOURCES =

View File

@@ -36,5 +36,6 @@ include $(BUILD_STATIC_LIBRARY)
ifneq ($(HAVE_GALLIUM_KMSRO),) ifneq ($(HAVE_GALLIUM_KMSRO),)
GALLIUM_TARGET_DRIVERS += pl111 GALLIUM_TARGET_DRIVERS += pl111
GALLIUM_TARGET_DRIVERS += hx8357d GALLIUM_TARGET_DRIVERS += hx8357d
GALLIUM_TARGET_DRIVERS += imx
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_kmsro) $(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_kmsro)
endif endif

View File

@@ -106,11 +106,6 @@ if with_gallium_v3d
else else
driver_v3d = declare_dependency() driver_v3d = declare_dependency()
endif endif
if with_gallium_imx
subdir('winsys/imx/drm')
else
driver_imx = declare_dependency()
endif
if with_gallium_tegra if with_gallium_tegra
subdir('winsys/tegra/drm') subdir('winsys/tegra/drm')
subdir('drivers/tegra') subdir('drivers/tegra')

View File

@@ -83,7 +83,6 @@ include $(top_srcdir)/src/gallium/drivers/kmsro/Automake.inc
include $(top_srcdir)/src/gallium/drivers/virgl/Automake.inc include $(top_srcdir)/src/gallium/drivers/virgl/Automake.inc
include $(top_srcdir)/src/gallium/drivers/etnaviv/Automake.inc include $(top_srcdir)/src/gallium/drivers/etnaviv/Automake.inc
include $(top_srcdir)/src/gallium/drivers/imx/Automake.inc
include $(top_srcdir)/src/gallium/drivers/softpipe/Automake.inc include $(top_srcdir)/src/gallium/drivers/softpipe/Automake.inc
include $(top_srcdir)/src/gallium/drivers/llvmpipe/Automake.inc include $(top_srcdir)/src/gallium/drivers/llvmpipe/Automake.inc

View File

@@ -57,13 +57,14 @@ libgallium_dri = shared_library(
dep_selinux, dep_expat, dep_libdrm, dep_llvm, dep_thread, dep_selinux, dep_expat, dep_libdrm, dep_llvm, dep_thread,
driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau, driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
driver_kmsro, driver_v3d, driver_vc4, driver_freedreno, driver_etnaviv, driver_kmsro, driver_v3d, driver_vc4, driver_freedreno, driver_etnaviv,
driver_imx, driver_tegra, driver_i915, driver_svga, driver_virgl, driver_tegra, driver_i915, driver_svga, driver_virgl,
driver_swr, driver_swr,
], ],
) )
foreach d : [[with_gallium_kmsro, 'pl111_dri.so'], foreach d : [[with_gallium_kmsro, 'pl111_dri.so'],
[with_gallium_kmsro, 'hx8357d_dri.so'], [with_gallium_kmsro, 'hx8357d_dri.so'],
[with_gallium_kmsro, 'imx-drm_dri.so'],
[with_gallium_radeonsi, 'radeonsi_dri.so'], [with_gallium_radeonsi, 'radeonsi_dri.so'],
[with_gallium_nouveau, 'nouveau_dri.so'], [with_gallium_nouveau, 'nouveau_dri.so'],
[with_gallium_freedreno, ['msm_dri.so', 'kgsl_dri.so']], [with_gallium_freedreno, ['msm_dri.so', 'kgsl_dri.so']],
@@ -72,7 +73,6 @@ foreach d : [[with_gallium_kmsro, 'pl111_dri.so'],
[with_gallium_v3d, 'v3d_dri.so'], [with_gallium_v3d, 'v3d_dri.so'],
[with_gallium_vc4, 'vc4_dri.so'], [with_gallium_vc4, 'vc4_dri.so'],
[with_gallium_etnaviv, 'etnaviv_dri.so'], [with_gallium_etnaviv, 'etnaviv_dri.so'],
[with_gallium_imx, 'imx-drm_dri.so'],
[with_gallium_tegra, 'tegra_dri.so'], [with_gallium_tegra, 'tegra_dri.so'],
[with_gallium_i915, 'i915_dri.so'], [with_gallium_i915, 'i915_dri.so'],
[with_gallium_r300, 'r300_dri.so'], [with_gallium_r300, 'r300_dri.so'],

View File

@@ -1,40 +0,0 @@
# Copyright (C) 2016 Linaro, Ltd, Rob Herring <robh@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_IMX),)
GALLIUM_TARGET_DRIVERS += imx-drm
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_etnaviv)
$(eval GALLIUM_SHARED_LIBS += $(LOCAL_SHARED_LIBRARIES))
endif

View File

@@ -1,35 +0,0 @@
# Copyright © 2012 Intel Corporation
#
# 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/drivers \
-I$(top_srcdir)/src/gallium/winsys \
$(GALLIUM_WINSYS_CFLAGS)
noinst_LTLIBRARIES = libimxdrm.la
libimxdrm_la_SOURCES = $(C_SOURCES)
EXTRA_DIST = meson.build

View File

@@ -1,3 +0,0 @@
C_SOURCES := \
imx_drm_public.h \
imx_drm_winsys.c

View File

@@ -1,34 +0,0 @@
/*
* Copyright (C) 2016 Christian Gmeiner <christian.gmeiner@gmail.com>
*
* 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.
*
* Authors:
* Christian Gmeiner <christian.gmeiner@gmail.com>
*/
#ifndef __IMX_DRM_PUBLIC_H__
#define __IMX_DRM_PUBLIC_H__
struct pipe_screen;
struct pipe_screen *imx_drm_screen_create(int fd);
#endif /* __IMX_DRM_PUBLIC_H__ */

View File

@@ -1,50 +0,0 @@
/*
* Copyright (C) 2016 Christian Gmeiner <christian.gmeiner@gmail.com>
*
* 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.
*
* Authors:
* Christian Gmeiner <christian.gmeiner@gmail.com>
*/
#include "imx_drm_public.h"
#include "etnaviv/drm/etnaviv_drm_public.h"
#include "renderonly/renderonly.h"
#include <fcntl.h>
#include <unistd.h>
struct pipe_screen *imx_drm_screen_create(int fd)
{
struct renderonly ro = {
.create_for_resource = renderonly_create_kms_dumb_buffer_for_resource,
.kms_fd = fd,
.gpu_fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC)
};
if (ro.gpu_fd < 0)
return NULL;
struct pipe_screen *screen = etna_drm_screen_create_renderonly(&ro);
if (!screen)
close(ro.gpu_fd);
return screen;
}

View File

@@ -1,33 +0,0 @@
# Copyright © 2017 Intel Corporation
# 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.
libimxdrm = static_library(
'imxdrm',
'imx_drm_winsys.c',
include_directories : [
inc_include, inc_src, inc_gallium, inc_gallium_aux,
include_directories('../..'),
],
)
driver_imx = declare_dependency(
compile_args : '-DGALLIUM_IMX',
link_with : libimxdrm,
)