Merge pull request #1395 from lrusak/vc4

Enable mesa GLES support for Generic/RPi/RPi2
This commit is contained in:
MilhouseVH 2017-05-24 11:59:03 -07:00 committed by GitHub
commit 856d6246bc
8 changed files with 204 additions and 40 deletions

View File

@ -81,5 +81,11 @@ get_graphicdrivers() {
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,virgl"
fi
if [ "$drv" = "vc4" ]; then
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,vc4"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"
fi
done
}

View File

@ -34,7 +34,7 @@ PKG_AUTORECONF="yes"
get_graphicdrivers
DRM_CONFIG="--disable-intel --disable-radeon --disable-amdgpu"
DRM_CONFIG="$DRM_CONFIG --disable-nouveau --disable-vmwgfx"
DRM_CONFIG="$DRM_CONFIG --disable-nouveau --disable-vmwgfx --disable-vc4"
for drv in $GRAPHIC_DRIVERS; do
[ "$drv" = "i915" -o "$drv" = "i965" ] && \
@ -46,6 +46,9 @@ for drv in $GRAPHIC_DRIVERS; do
[ "$drv" = "vmware" ] && \
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-vmwgfx/enable-vmwgfx/'`
[ "$drv" = "vc4" ] && \
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-vc4/enable-vc4/'`
done
PKG_CONFIGURE_OPTS_TARGET="--disable-udev \
@ -55,7 +58,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-udev \
$DRM_CONFIG \
--disable-nouveau \
--disable-freedreno \
--disable-vc4 \
--disable-install-test-programs \
--disable-cairo-tests \
--disable-manpages \

View File

@ -22,7 +22,6 @@ PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain Python:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence openssl"
PKG_SECTION="graphics"
PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API"
PKG_LONGDESC="Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL*. To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc. However, the author makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with Silicon Graphics, Inc. Those who want a licensed implementation of OpenGL should contact a licensed vendor. While Mesa is not a licensed OpenGL implementation, it is currently being tested with the OpenGL conformance tests. For the current conformance status see the CONFORM file included in the Mesa distribution."
@ -30,6 +29,22 @@ PKG_LONGDESC="Mesa is a 3-D graphics library with an API which is very similar t
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
if [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="toolchain Python:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence openssl"
export DRI_DRIVER_INSTALL_DIR=$XORG_PATH_DRI
export DRI_DRIVER_SEARCH_DIR=$XORG_PATH_DRI
export X11_INCLUDES=
MESA_DRI="--enable-dri --enable-dri3"
MESA_GLX="--enable-glx --enable-driglx-direct --enable-glx-tls"
MESA_EGL_PLATFORMS="--with-egl-platforms=x11,drm"
else
PKG_DEPENDS_TARGET="toolchain Python:host expat libdrm"
MESA_DRI="--enable-dri --disable-dri3"
MESA_GLX="--disable-glx --disable-driglx-direct --disable-glx-tls"
MESA_EGL_PLATFORMS="--with-egl-platforms=drm"
fi
# configure GPU drivers and dependencies:
get_graphicdrivers
@ -54,33 +69,29 @@ for drv in $GRAPHIC_DRIVERS; do
done
if [ "$OPENGLES_SUPPORT" = "yes" ]; then
MESA_GLES="--enable-gles2"
MESA_GLES="--disable-gles1 --enable-gles2"
else
MESA_GLES="--disable-gles2"
MESA_GLES="--disable-gles1 --disable-gles2"
fi
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
CXX_FOR_BUILD=$HOST_CXX \
CFLAGS_FOR_BUILD= \
CXXFLAGS_FOR_BUILD= \
LDFLAGS_FOR_BUILD= \
X11_INCLUDES= \
DRI_DRIVER_INSTALL_DIR=$XORG_PATH_DRI \
DRI_DRIVER_SEARCH_DIR=$XORG_PATH_DRI \
--disable-debug \
--disable-mangling \
--enable-texture-float \
--enable-asm \
--disable-selinux \
--enable-opengl \
--disable-gles1 \
$MESA_GLES \
--enable-dri \
--enable-dri3 \
--enable-glx \
$MESA_DRI \
$MESA_GLX \
--disable-osmesa \
--disable-gallium-osmesa \
--enable-egl --with-egl-platforms=x11,drm \
--enable-egl \
$MESA_EGL_PLATFORMS \
$XA_CONFIG \
--enable-gbm \
--disable-nine \
@ -92,8 +103,7 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
--enable-opencl-icd \
--disable-gallium-tests \
--enable-shared-glapi \
--enable-driglx-direct \
--enable-glx-tls \
--enable-shader-cache \
$MESA_GALLIUM_LLVM \
--disable-silent-rules \
--with-gl-lib-name=GL \
@ -104,14 +114,18 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
--with-sysroot=$SYSROOT_PREFIX"
pre_configure_target() {
export LIBS="-lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lz"
if [ "$DISPLAYSERVER" = "x11" ]; then
export LIBS="-lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lz"
fi
}
post_makeinstall_target() {
# rename and relink for cooperate with nvidia drivers
if [ "$DISPLAYSERVER" = "x11" ]; then
# rename and relink for cooperate with nvidia drivers
rm -rf $INSTALL/usr/lib/libGL.so
rm -rf $INSTALL/usr/lib/libGL.so.1
ln -sf libGL.so.1 $INSTALL/usr/lib/libGL.so
ln -sf /var/lib/libGL.so $INSTALL/usr/lib/libGL.so.1
mv $INSTALL/usr/lib/libGL.so.1.2.0 $INSTALL/usr/lib/libGL_mesa.so.1
fi
}

View File

@ -194,6 +194,10 @@ if [ ! "$KODIPLAYER_DRIVER" = default ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $KODIPLAYER_DRIVER"
if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then
KODI_PLAYER="-DENABLE_MMAL=ON -DCORE_SYSTEM_NAME=rbpi"
elif [ "$KODIPLAYER_DRIVER" = mesa ]; then
KODI_PLAYER="-DCORE_SYSTEM_NAME=linux"
CFLAGS="$CFLAGS -DMESA_EGL_NO_X11_HEADERS"
CXXFLAGS="$CXXFLAGS -DMESA_EGL_NO_X11_HEADERS"
elif [ "$KODIPLAYER_DRIVER" = libfslvpuwrap ]; then
KODI_PLAYER="-DENABLE_IMX=ON"
CFLAGS="$CFLAGS -DHAS_IMXVPU -DLINUX -DEGL_API_FB"

View File

@ -30,4 +30,13 @@ PKG_LONGDESC="intel-vaapi-driver: VA-API user mode driver for Intel GEN Graphics
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules"
if [ "$DISPLAYSERVER" = "x11" ]; then
DISPLAYSERVER_LIBVA="--enable-x11"
else
DISPLAYSERVER_LIBVA="--disable-x11"
fi
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
--enable-drm \
--disable-wayland \
$DISPLAYSERVER_LIBVA"

View File

@ -22,7 +22,6 @@ PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://01.org/linuxmedia"
PKG_URL="https://github.com/01org/libva/releases/download/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libX11 libXext libXfixes libdrm mesa glu"
PKG_SECTION="multimedia"
PKG_SHORTDESC="Libva is an implementation for VA-API (VIdeo Acceleration API)."
PKG_LONGDESC="Libva is an open source software library and API specification to provide access to hardware accelerated video decoding/encoding and video processing."
@ -30,12 +29,18 @@ PKG_LONGDESC="Libva is an open source software library and API specification to
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
if [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="toolchain libX11 libXext libXfixes libdrm mesa glu"
DISPLAYSERVER_LIBVA="--enable-x11 --enable-glx"
else
PKG_DEPENDS_TARGET="toolchain libdrm"
DISPLAYSERVER_LIBVA="--disable-x11 --disable-glx"
fi
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
--disable-docs \
--enable-drm \
--enable-x11 \
--enable-glx \
--enable-egl \
$DISPLAYSERVER_LIBVA \
--disable-wayland \
--disable-dummy-driver \
--with-drivers-path=/usr/lib/va"
--disable-dummy-driver"

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 4.11.0-rc7 Kernel Configuration
# Linux/arm 4.11.0 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@ -2766,11 +2766,70 @@ CONFIG_DVB_AF9033=m
# Graphics support
#
# CONFIG_IMX_IPUV3_CORE is not set
# CONFIG_DRM is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_MALI_DISPLAY is not set
#
# ACP (Audio CoProcessor) Configuration
#
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_EXYNOS is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_TILCDC is not set
# CONFIG_DRM_FSL_DCU is not set
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
CONFIG_DRM_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_STI is not set
CONFIG_DRM_VC4=y
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_MXSFB is not set
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LIB_RANDOM is not set
#
@ -2786,12 +2845,13 @@ CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
@ -2841,13 +2901,14 @@ CONFIG_BACKLIGHT_GPIO=y
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_VGASTATE is not set
CONFIG_HDMI=y
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set
CONFIG_SOUND=y
@ -3568,7 +3629,8 @@ CONFIG_DMA_BCM2708=y
#
# DMABUF options
#
# CONFIG_SYNC_FILE is not set
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_VIRT_DRIVERS is not set

View File

@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm 4.11.0-rc7 Kernel Configuration
# Linux/arm 4.11.0 Kernel Configuration
#
CONFIG_ARM=y
CONFIG_ARM_HAS_SG_CHAIN=y
@ -2858,11 +2858,70 @@ CONFIG_DVB_AF9033=m
# Graphics support
#
# CONFIG_IMX_IPUV3_CORE is not set
# CONFIG_DRM is not set
CONFIG_DRM=y
CONFIG_DRM_MIPI_DSI=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_MM_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_KMS_FB_HELPER=y
CONFIG_DRM_FBDEV_EMULATION=y
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_HDLCD is not set
# CONFIG_DRM_MALI_DISPLAY is not set
#
# ACP (Audio CoProcessor) Configuration
#
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_EXYNOS is not set
# CONFIG_DRM_UDL is not set
# CONFIG_DRM_ARMADA is not set
# CONFIG_DRM_OMAP is not set
# CONFIG_DRM_TILCDC is not set
# CONFIG_DRM_FSL_DCU is not set
CONFIG_DRM_PANEL=y
#
# Display Panels
#
# CONFIG_DRM_PANEL_SIMPLE is not set
# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
# CONFIG_DRM_PANEL_LG_LG4573 is not set
# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
CONFIG_DRM_BRIDGE=y
#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# CONFIG_DRM_DUMB_VGA_DAC is not set
# CONFIG_DRM_NXP_PTN3460 is not set
# CONFIG_DRM_PARADE_PS8622 is not set
# CONFIG_DRM_SIL_SII8620 is not set
# CONFIG_DRM_SII902X is not set
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TI_TFP410 is not set
# CONFIG_DRM_I2C_ADV7511 is not set
# CONFIG_DRM_STI is not set
CONFIG_DRM_VC4=y
# CONFIG_DRM_ARCPGU is not set
# CONFIG_DRM_MXSFB is not set
# CONFIG_DRM_TINYDRM is not set
# CONFIG_DRM_LEGACY is not set
# CONFIG_DRM_LIB_RANDOM is not set
#
@ -2878,12 +2937,13 @@ CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
@ -2933,13 +2993,14 @@ CONFIG_BACKLIGHT_GPIO=y
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_VGASTATE is not set
CONFIG_HDMI=y
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set
CONFIG_SOUND=y
@ -3661,7 +3722,8 @@ CONFIG_DMA_BCM2708=y
#
# DMABUF options
#
# CONFIG_SYNC_FILE is not set
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
# CONFIG_VIRT_DRIVERS is not set