mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-23 07:19:50 +00:00
pl111: Rename the pl111 driver to "kmsro".
The vc4 driver can do prime sharing to many different KMS-only devices, such as the various tinydrm drivers for SPI-attached displays. Rename the driver away from "pl111" to represent what it will actually support: various sorts of KMS displays with the renderonly layer used to attach a GPU. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com> Acked-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
parent
afeef3cacf
commit
ed65aeec78
@ -352,7 +352,7 @@ matrix:
|
||||
- DRI_LOADERS="--disable-glx --disable-gbm --disable-egl"
|
||||
- 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_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,imx"
|
||||
- VULKAN_DRIVERS=""
|
||||
- LIBUNWIND_FLAGS="--enable-libunwind"
|
||||
addons:
|
||||
|
@ -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 imx
|
||||
# gallium drivers: swrast freedreno i915g nouveau kmsro 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.
|
||||
@ -52,7 +52,7 @@ gallium_drivers := \
|
||||
freedreno.HAVE_GALLIUM_FREEDRENO \
|
||||
i915g.HAVE_GALLIUM_I915 \
|
||||
nouveau.HAVE_GALLIUM_NOUVEAU \
|
||||
pl111.HAVE_GALLIUM_PL111 \
|
||||
kmsro.HAVE_GALLIUM_KMSRO \
|
||||
r300g.HAVE_GALLIUM_R300 \
|
||||
r600g.HAVE_GALLIUM_R600 \
|
||||
radeonsi.HAVE_GALLIUM_RADEONSI \
|
||||
|
@ -45,7 +45,7 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-libunwind \
|
||||
--with-platforms=x11,wayland,drm,surfaceless \
|
||||
--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast \
|
||||
--with-gallium-drivers=i915,nouveau,r300,pl111,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,imx \
|
||||
--with-vulkan-drivers=intel,radeon
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
16
configure.ac
16
configure.ac
@ -1408,7 +1408,7 @@ GALLIUM_DRIVERS_DEFAULT="r300,r600,svga,swrast"
|
||||
AC_ARG_WITH([gallium-drivers],
|
||||
[AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@],
|
||||
[comma delimited Gallium drivers list, e.g.
|
||||
"i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx"
|
||||
"i915,nouveau,r300,r600,radeonsi,freedreno,kmsro,svga,swrast,swr,tegra,v3d,vc4,virgl,etnaviv,imx"
|
||||
@<:@default=r300,r600,svga,swrast@:>@])],
|
||||
[with_gallium_drivers="$withval"],
|
||||
[with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"])
|
||||
@ -2830,8 +2830,8 @@ if test -n "$with_gallium_drivers"; then
|
||||
DEFINES="$DEFINES -DUSE_V3D_SIMULATOR"],
|
||||
[USE_V3D_SIMULATOR=no])
|
||||
;;
|
||||
xpl111)
|
||||
HAVE_GALLIUM_PL111=yes
|
||||
xkmsro)
|
||||
HAVE_GALLIUM_KMSRO=yes
|
||||
;;
|
||||
xvirgl)
|
||||
HAVE_GALLIUM_VIRGL=yes
|
||||
@ -2868,8 +2868,8 @@ 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_PL111" = xyes ; then
|
||||
AC_MSG_ERROR([Building with pl111 requires vc4])
|
||||
if test "x$HAVE_GALLIUM_VC4" != xyes -a "x$HAVE_GALLIUM_KMSRO" = xyes ; then
|
||||
AC_MSG_ERROR([Building with kmsro requires vc4])
|
||||
fi
|
||||
|
||||
if test "x$HAVE_GALLIUM_NOUVEAU" != xyes -a "x$HAVE_GALLIUM_TEGRA" = xyes; then
|
||||
@ -2966,7 +2966,7 @@ fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_SVGA, test "x$HAVE_GALLIUM_SVGA" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_I915, test "x$HAVE_GALLIUM_I915" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_PL111, test "x$HAVE_GALLIUM_PL111" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_KMSRO, test "x$HAVE_GALLIUM_KMSRO" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes)
|
||||
AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes)
|
||||
@ -3116,7 +3116,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/drivers/i915/Makefile
|
||||
src/gallium/drivers/llvmpipe/Makefile
|
||||
src/gallium/drivers/nouveau/Makefile
|
||||
src/gallium/drivers/pl111/Makefile
|
||||
src/gallium/drivers/kmsro/Makefile
|
||||
src/gallium/drivers/r300/Makefile
|
||||
src/gallium/drivers/r600/Makefile
|
||||
src/gallium/drivers/radeonsi/Makefile
|
||||
@ -3164,7 +3164,7 @@ AC_CONFIG_FILES([Makefile
|
||||
src/gallium/winsys/freedreno/drm/Makefile
|
||||
src/gallium/winsys/i915/drm/Makefile
|
||||
src/gallium/winsys/nouveau/drm/Makefile
|
||||
src/gallium/winsys/pl111/drm/Makefile
|
||||
src/gallium/winsys/kmsro/drm/Makefile
|
||||
src/gallium/winsys/radeon/drm/Makefile
|
||||
src/gallium/winsys/amdgpu/drm/Makefile
|
||||
src/gallium/winsys/svga/drm/Makefile
|
||||
|
@ -131,7 +131,7 @@ if _drivers.contains('auto')
|
||||
]
|
||||
elif ['arm', 'aarch64'].contains(host_machine.cpu_family())
|
||||
_drivers = [
|
||||
'pl111', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau',
|
||||
'kmsro', 'v3d', 'vc4', 'freedreno', 'etnaviv', 'imx', 'nouveau',
|
||||
'tegra', 'virgl', 'swrast',
|
||||
]
|
||||
else
|
||||
@ -145,7 +145,7 @@ if _drivers.contains('auto')
|
||||
host_machine.system()))
|
||||
endif
|
||||
endif
|
||||
with_gallium_pl111 = _drivers.contains('pl111')
|
||||
with_gallium_kmsro = _drivers.contains('kmsro')
|
||||
with_gallium_radeonsi = _drivers.contains('radeonsi')
|
||||
with_gallium_r300 = _drivers.contains('r300')
|
||||
with_gallium_r600 = _drivers.contains('r600')
|
||||
@ -213,8 +213,8 @@ endif
|
||||
if with_gallium_imx and not with_gallium_etnaviv
|
||||
error('IMX driver requires etnaviv driver')
|
||||
endif
|
||||
if with_gallium_pl111 and not with_gallium_vc4
|
||||
error('pl111 driver requires vc4 driver')
|
||||
if with_gallium_kmsro and not with_gallium_vc4
|
||||
error('kmsro driver requires vc4 driver')
|
||||
endif
|
||||
if with_gallium_tegra and not with_gallium_nouveau
|
||||
error('tegra driver requires nouveau driver')
|
||||
|
@ -58,7 +58,7 @@ option(
|
||||
type : 'array',
|
||||
value : ['auto'],
|
||||
choices : [
|
||||
'', 'auto', 'pl111', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
|
||||
'', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
|
||||
'swrast', 'v3d', 'vc4', 'etnaviv', 'imx', 'tegra', 'i915', 'svga', 'virgl',
|
||||
'swr',
|
||||
],
|
||||
|
@ -38,7 +38,7 @@ SUBDIRS += winsys/sw/kms-dri winsys/sw/dri drivers/softpipe
|
||||
SUBDIRS += winsys/freedreno/drm drivers/freedreno
|
||||
SUBDIRS += winsys/i915/drm drivers/i915
|
||||
SUBDIRS += winsys/nouveau/drm drivers/nouveau
|
||||
SUBDIRS += winsys/pl111/drm drivers/pl111
|
||||
SUBDIRS += winsys/kmsro/drm drivers/kmsro
|
||||
SUBDIRS += winsys/radeon/drm drivers/r300
|
||||
SUBDIRS += winsys/radeon/drm drivers/r600
|
||||
SUBDIRS += winsys/radeon/drm winsys/amdgpu/drm drivers/radeonsi
|
||||
|
@ -60,8 +60,8 @@ if HAVE_GALLIUM_IMX
|
||||
SUBDIRS += drivers/imx winsys/imx/drm
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_PL111
|
||||
SUBDIRS += drivers/pl111 winsys/pl111/drm
|
||||
if HAVE_GALLIUM_KMSRO
|
||||
SUBDIRS += drivers/kmsro winsys/kmsro/drm
|
||||
endif
|
||||
|
||||
## swrast/softpipe
|
||||
|
@ -108,7 +108,7 @@ static const struct drm_driver_descriptor driver_descriptors[] = {
|
||||
},
|
||||
{
|
||||
.driver_name = "pl111",
|
||||
.create_screen = pipe_pl111_create_screen,
|
||||
.create_screen = pipe_kmsro_create_screen,
|
||||
.configuration = pipe_default_configuration_query,
|
||||
},
|
||||
{
|
||||
|
@ -83,24 +83,24 @@ pipe_nouveau_create_screen(int fd, const struct pipe_screen_config *config)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GALLIUM_PL111
|
||||
#include "pl111/drm/pl111_drm_public.h"
|
||||
#ifdef GALLIUM_KMSRO
|
||||
#include "kmsro/drm/kmsro_drm_public.h"
|
||||
|
||||
struct pipe_screen *
|
||||
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config)
|
||||
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config)
|
||||
{
|
||||
struct pipe_screen *screen;
|
||||
|
||||
screen = pl111_drm_screen_create(fd);
|
||||
screen = kmsro_drm_screen_create(fd);
|
||||
return screen ? debug_screen_wrap(screen) : NULL;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
struct pipe_screen *
|
||||
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config)
|
||||
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config)
|
||||
{
|
||||
fprintf(stderr, "pl111: driver missing\n");
|
||||
fprintf(stderr, "kmsro: driver missing\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ struct pipe_screen *
|
||||
pipe_vc4_create_screen(int fd, const struct pipe_screen_config *config);
|
||||
|
||||
struct pipe_screen *
|
||||
pipe_pl111_create_screen(int fd, const struct pipe_screen_config *config);
|
||||
pipe_kmsro_create_screen(int fd, const struct pipe_screen_config *config);
|
||||
|
||||
struct pipe_screen *
|
||||
pipe_etna_create_screen(int fd, const struct pipe_screen_config *config);
|
||||
|
@ -28,12 +28,12 @@ include $(CLEAR_VARS)
|
||||
LOCAL_SRC_FILES := \
|
||||
$(C_SOURCES)
|
||||
|
||||
LOCAL_MODULE := libmesa_pipe_pl111
|
||||
LOCAL_MODULE := libmesa_pipe_kmsro
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
ifneq ($(HAVE_GALLIUM_PL111),)
|
||||
ifneq ($(HAVE_GALLIUM_KMSRO),)
|
||||
GALLIUM_TARGET_DRIVERS += pl111
|
||||
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_pl111)
|
||||
$(eval GALLIUM_LIBS += $(LOCAL_MODULE) libmesa_winsys_kmsro)
|
||||
endif
|
9
src/gallium/drivers/kmsro/Automake.inc
Normal file
9
src/gallium/drivers/kmsro/Automake.inc
Normal file
@ -0,0 +1,9 @@
|
||||
if HAVE_GALLIUM_KMSRO
|
||||
|
||||
TARGET_DRIVERS += pl111
|
||||
TARGET_CPPFLAGS += -DGALLIUM_KMSRO
|
||||
TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/kmsro/drm/libkmsrodrm.la \
|
||||
$(LIBDRM_LIBS)
|
||||
|
||||
endif
|
@ -3,6 +3,6 @@ include $(top_srcdir)/src/gallium/Automake.inc
|
||||
AM_CPPFLAGS = \
|
||||
$(GALLIUM_CFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = libpl111.la
|
||||
noinst_LTLIBRARIES = libkmsro.la
|
||||
|
||||
libpl111_la_SOURCES = $(C_SOURCES)
|
||||
libkmsro_la_SOURCES = $(C_SOURCES)
|
@ -1,9 +0,0 @@
|
||||
if HAVE_GALLIUM_PL111
|
||||
|
||||
TARGET_DRIVERS += pl111
|
||||
TARGET_CPPFLAGS += -DGALLIUM_PL111
|
||||
TARGET_LIB_DEPS += \
|
||||
$(top_builddir)/src/gallium/winsys/pl111/drm/libpl111drm.la \
|
||||
$(LIBDRM_LIBS)
|
||||
|
||||
endif
|
@ -89,10 +89,10 @@ if with_gallium_vc4
|
||||
else
|
||||
driver_vc4 = declare_dependency()
|
||||
endif
|
||||
if with_gallium_pl111
|
||||
subdir('winsys/pl111/drm')
|
||||
if with_gallium_kmsro
|
||||
subdir('winsys/kmsro/drm')
|
||||
else
|
||||
driver_pl111 = declare_dependency()
|
||||
driver_kmsro = declare_dependency()
|
||||
endif
|
||||
if with_gallium_v3d
|
||||
subdir('winsys/v3d/drm')
|
||||
|
@ -78,7 +78,7 @@ include $(top_srcdir)/src/gallium/drivers/tegra/Automake.inc
|
||||
|
||||
include $(top_srcdir)/src/gallium/drivers/v3d/Automake.inc
|
||||
include $(top_srcdir)/src/gallium/drivers/vc4/Automake.inc
|
||||
include $(top_srcdir)/src/gallium/drivers/pl111/Automake.inc
|
||||
include $(top_srcdir)/src/gallium/drivers/kmsro/Automake.inc
|
||||
|
||||
include $(top_srcdir)/src/gallium/drivers/virgl/Automake.inc
|
||||
|
||||
|
@ -56,13 +56,13 @@ libgallium_dri = shared_library(
|
||||
dependencies : [
|
||||
dep_selinux, dep_expat, dep_libdrm, dep_llvm, dep_thread,
|
||||
driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
|
||||
driver_pl111, 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_swr,
|
||||
],
|
||||
)
|
||||
|
||||
foreach d : [[with_gallium_pl111, 'pl111_dri.so'],
|
||||
foreach d : [[with_gallium_kmsro, 'pl111_dri.so'],
|
||||
[with_gallium_radeonsi, 'radeonsi_dri.so'],
|
||||
[with_gallium_nouveau, 'nouveau_dri.so'],
|
||||
[with_gallium_freedreno, ['msm_dri.so', 'kgsl_dri.so']],
|
||||
|
@ -77,7 +77,7 @@ DEFINE_LOADER_DRM_ENTRYPOINT(v3d)
|
||||
|
||||
#if defined(GALLIUM_VC4)
|
||||
DEFINE_LOADER_DRM_ENTRYPOINT(vc4)
|
||||
#if defined(GALLIUM_PL111)
|
||||
#if defined(GALLIUM_KMSRO)
|
||||
DEFINE_LOADER_DRM_ENTRYPOINT(pl111)
|
||||
#endif
|
||||
#endif
|
||||
|
@ -27,7 +27,7 @@ include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := $(C_SOURCES)
|
||||
|
||||
LOCAL_MODULE := libmesa_winsys_pl111
|
||||
LOCAL_MODULE := libmesa_winsys_kmsro
|
||||
|
||||
include $(GALLIUM_COMMON_MK)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
@ -29,8 +29,8 @@ AM_CFLAGS = \
|
||||
$(GALLIUM_WINSYS_CFLAGS) \
|
||||
$(LIBDRM_CFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = libpl111drm.la
|
||||
noinst_LTLIBRARIES = libkmsrodrm.la
|
||||
|
||||
libpl111drm_la_SOURCES = $(C_SOURCES)
|
||||
libkmsrodrm_la_SOURCES = $(C_SOURCES)
|
||||
|
||||
EXTRA_DIST = meson.build
|
3
src/gallium/winsys/kmsro/drm/Makefile.sources
Normal file
3
src/gallium/winsys/kmsro/drm/Makefile.sources
Normal file
@ -0,0 +1,3 @@
|
||||
C_SOURCES := \
|
||||
kmsro_drm_public.h \
|
||||
kmsro_drm_winsys.c
|
@ -24,11 +24,11 @@
|
||||
* Christian Gmeiner <christian.gmeiner@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __PL111_DRM_PUBLIC_H__
|
||||
#define __PL111_DRM_PUBLIC_H__
|
||||
#ifndef __KMSRO_DRM_PUBLIC_H__
|
||||
#define __KMSRO_DRM_PUBLIC_H__
|
||||
|
||||
struct pipe_screen;
|
||||
|
||||
struct pipe_screen *pl111_drm_screen_create(int fd);
|
||||
struct pipe_screen *kmsro_drm_screen_create(int fd);
|
||||
|
||||
#endif /* __PL111_DRM_PUBLIC_H__ */
|
||||
#endif /* __KMSRO_DRM_PUBLIC_H__ */
|
@ -25,17 +25,17 @@
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "pl111_drm_public.h"
|
||||
#include "kmsro_drm_public.h"
|
||||
#include "vc4/drm/vc4_drm_public.h"
|
||||
#include "xf86drm.h"
|
||||
|
||||
#include "pipe/p_screen.h"
|
||||
#include "renderonly/renderonly.h"
|
||||
|
||||
struct pipe_screen *pl111_drm_screen_create(int fd)
|
||||
struct pipe_screen *kmsro_drm_screen_create(int fd)
|
||||
{
|
||||
struct renderonly ro = {
|
||||
/* Passes the vc4-allocated BO through to the pl111 DRM device using
|
||||
/* Passes the vc4-allocated BO through to the KMS-only DRM device using
|
||||
* PRIME buffer sharing. The VC4 BO must be linear, which the SCANOUT
|
||||
* flag on allocation will have ensured.
|
||||
*/
|
@ -18,9 +18,9 @@
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
libpl111winsys = static_library(
|
||||
'pl111winsys',
|
||||
files('pl111_drm_winsys.c'),
|
||||
libkmsrowinsys = static_library(
|
||||
'kmsrowinsys',
|
||||
files('kmsro_drm_winsys.c'),
|
||||
include_directories : [
|
||||
inc_src, inc_include,
|
||||
inc_gallium, inc_gallium_aux, inc_gallium_winsys,
|
||||
@ -30,7 +30,7 @@ libpl111winsys = static_library(
|
||||
link_with : libvc4winsys,
|
||||
)
|
||||
|
||||
driver_pl111 = declare_dependency(
|
||||
compile_args : '-DGALLIUM_PL111',
|
||||
link_with : libpl111winsys,
|
||||
driver_kmsro = declare_dependency(
|
||||
compile_args : '-DGALLIUM_KMSRO',
|
||||
link_with : libkmsrowinsys,
|
||||
)
|
@ -1,3 +0,0 @@
|
||||
C_SOURCES := \
|
||||
pl111_drm_public.h \
|
||||
pl111_drm_winsys.c
|
Loading…
Reference in New Issue
Block a user