@@ -44,7 +44,7 @@ BSP_BOOTLOADER_VERSION:bsp-ti-6_18 = "2026.01%"
BSP_ROGUE_DRIVER_PROVIDER:bsp-ti-6_18 = "ti-img-rogue-driver"
BSP_ROGUE_DRIVER_VERSION:bsp-ti-6_18 = "26%"
-BSP_MESA_PVR_VERSION:bsp-ti-6_18 = "24%"
+BSP_MESA_PVR_VERSION:bsp-ti-6_18 = "25%"
# ==========
# ti-6_12
new file mode 100644
@@ -0,0 +1,24 @@
+From 02cc21800fe29f566add525e63f619c0536d6e7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Jan 2020 15:23:47 -0800
+Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/u_atomic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
+index 5a5eab4..e499516 100644
+--- a/src/util/u_atomic.c
++++ b/src/util/u_atomic.c
+@@ -21,7 +21,7 @@
+ * IN THE SOFTWARE.
+ */
+
+-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
++#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
+
+ #include <stdint.h>
+ #include <pthread.h>
@@ -14,19 +14,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
PE = "2"
-
-SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \
- file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
- file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \
-"
-
-SRC_URI[sha256sum] = "097842f3e49d996868b38688db87b006f7d4541e93ce86d2f341d8b3e7be7c93"
PV = "25.2.8"
UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)"
-S = "${UNPACKDIR}/mesa-${PV}"
-
#because we cannot rely on the fact that all apps will use pkgconfig,
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
do_install:append() {
new file mode 100644
@@ -0,0 +1,60 @@
+# PowerVR Graphics require several patches that have not made their way
+# upstream yet. This allows us to build the shims we need without completely
+# clobbering mesa.
+
+require recipes-graphics/mesa/mesa-pvr-25.inc
+
+SUMMARY += " (with PowerVR for TI parts)"
+
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=ffe678546d4337b732cfd12262e6af11"
+
+BRANCH = "powervr/${PV}"
+
+SRC_URI = "git://github.com/TexasInstruments/mesa.git;protocol=https;branch=${BRANCH} \
+ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch"
+
+SRCREV = "0cb5bad52580f156b02125f4c7121ca7198e1489"
+PV = "25.2.8"
+PR = "r1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', ',pvr', '', d)}"
+GALLIUMDRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-sgx-ddk-km', ',sgx', '', d)}"
+
+VULKAN_DRIVERS:append = "${@bb.utils.contains('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver', ',pvr', '', d)}"
+
+PACKAGECONFIG = " \
+ gallium \
+ video-codecs \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'opencl libclc gallium-llvm', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \
+ xmlconfig \
+"
+
+GLPROVIDES = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \
+"
+PROVIDES = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \
+ virtual/mesa \
+"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install:append () {
+ # remove pvr custom pkgconfig
+ rm -rf ${D}${datadir}/pkgconfig
+}
+
+FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml"
+FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so"
+
+RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
+
+INSANE_SKIP = "32bit-time"