diff --git a/config.features.h b/config.features.h index 8d992d8723..7f519714ab 100644 --- a/config.features.h +++ b/config.features.h @@ -26,6 +26,24 @@ static const bool _opengl_supp = true; static const bool _opengl_supp = false; #endif +#ifdef HAVE_KMS +static const bool _kms_supp = true; +#else +static const bool _kms_supp = false; +#endif + +#ifdef HAVE_VG +static const bool _vg_supp = true; +#else +static const bool _vg_supp = false; +#endif + +#ifdef HAVE_EGL +static const bool _egl_supp = true; +#else +static const bool _egl_supp = false; +#endif + #ifdef HAVE_XVIDEO static const bool _xvideo_supp = true; #else diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 8b1ac3d10e..b8865ecf28 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -2,7 +2,6 @@ check_switch_c C99 -std=gnu99 "Cannot find C99 compatible compiler." check_switch_c NOUNUSED -Wno-unused-result add_define_make NOUNUSED "$HAVE_NOUNUSED" -HAVE_EGL=no # There are still broken 64-bit Linux distros out there. :) [ -d /usr/lib64 ] && add_library_dirs /usr/lib64 @@ -127,27 +126,32 @@ fi check_lib DYNAMIC "$DYLIB" dlopen -check_pkgconf GBM gbm 9.1.0 -check_pkgconf DRM libdrm if [ "$HAVE_KMS" != "no" ]; then + check_pkgconf GBM gbm 9.1.0 + check_pkgconf DRM libdrm if [ "$HAVE_GBM" = "yes" ] && [ "$HAVE_DRM" = "yes" ]; then HAVE_KMS=yes HAVE_EGL=yes # Required elif [ "$HAVE_KMS" = "yes" ]; then - echo "Cannot find libgbm and/or libdrm libraries required." + echo "Cannot find libgbm and/or libdrm libraries required for KMS. Compile without --enable-kms." exit 1 else + echo "Cannot find libgbm and/or libdrm libraries required for KMS." HAVE_KMS=no fi fi -[ "$HAVE_GLES" = "yes" ] && HAVE_EGL=yes && HAVE_XML=yes -[ "$HAVE_VG" = "yes" ] && HAVE_EGL=yes - +# On videocore, these libraries will exist without proper pkg-config. if [ "$HAVE_VIDEOCORE" != "yes" ]; then - check_pkgconf EGL egl check_pkgconf GLES glesv2 check_pkgconf VG vg + + # GLES or VG requires EGL to be present. + # GLES requires XML shaders. + [ "$HAVE_GLES" = "yes" ] && HAVE_EGL=yes && HAVE_XML=yes + [ "$HAVE_VG" = "yes" ] && HAVE_EGL=yes + + check_pkgconf EGL egl fi check_pkgconf XML libxml-2.0 diff --git a/qb/config.params.sh b/qb/config.params.sh index ee9a54d661..44e868e329 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -9,7 +9,7 @@ HAVE_OPENGL=yes # Disable OpenGL support HAVE_GLES=no # Use GLESv2 instead of desktop GL HAVE_KMS=auto # Enable KMS context support HAVE_EGL=auto # Enable EGL context support -HAVE_VG=no # Enable OpenVG support +HAVE_VG=auto # Enable OpenVG support HAVE_CG=auto # Enable Cg shader support HAVE_XML=auto # Enable bSNES-style XML shader support HAVE_FBO=auto # Enable render-to-texture (FBO) support diff --git a/retroarch.c b/retroarch.c index 73d6dea301..45f094dced 100644 --- a/retroarch.c +++ b/retroarch.c @@ -530,6 +530,9 @@ static void print_features(void) _PSUPP(sdl, "SDL", "SDL drivers"); _PSUPP(thread, "Threads", "Threading support"); _PSUPP(opengl, "OpenGL", "OpenGL driver"); + _PSUPP(kms, "KMS", "KMS/EGL context support"); + _PSUPP(egl, "EGL", "EGL context support"); + _PSUPP(vg, "OpenVG", "OpenVG output support"); _PSUPP(xvideo, "XVideo", "XVideo output"); _PSUPP(alsa, "ALSA", "audio driver"); _PSUPP(oss, "OSS", "audio driver");