From: John Toomey <[email protected]> Create a new layer containing all code related to the Mali400 graphics stack and software. This includes the Mali kernel module / patches, libglu/libgles code, mesa, wayland, kernel recipe and udev rules. This layer also includes a dynamic layer for the qt5 bbappends and patches.
Signed-off-by: Mark Hatle <[email protected]> --- .../include/machine-xilinx-default.inc | 18 --- .../glmark2/glmark2_%.bbappend | 8 -- .../qemu/qemu-xilinx_8.1.0.bb | 8 -- .../recipes-devtools/qemu/qemu_%.bbappend | 7 -- .../xorg-xserver/xserver-xorg_%.bbappend | 7 -- .../linux-xlnx-udev-rules.bb | 1 - .../recipes-kernel/linux/linux-xlnx.inc | 4 - .../classes/meta-xilinx-mali400-cfg.bbclass | 6 + .../sanity-meta-xilinx-mali400.bbclass | 10 ++ .../meta-xilinx-mali400-default-versions.inc | 22 ++++ meta-xilinx-mali400/conf/layer.conf | 34 ++++++ .../glmark2/glmark2_%.bbappend | 0 ...y-the-default-color-format-to-RGB565.patch | 110 ++++++++++++++++++ ...isable-hw-cursor-as-a-default-option.patch | 31 +++++ .../recipes-qt/qt5/qtbase_%.bbappend | 41 +++++++ .../recipes-qt/qt5/qtmultimedia_%.bbappend | 7 ++ ...n-QWaylandGlContext-makeCurrent-for-.patch | 34 ++++++ ...pp-Do-not-destroy-shell-suface-befor.patch | 31 +++++ ...-minimize-fullscreen-in-xdg_shell_v6.patch | 20 ++++ ...w.cpp-Bind-the-context-before-callin.patch | 32 +++++ .../recipes-qt/qt5/qtwayland_%.bbappend | 21 ++++ .../recipes-qt/qt5/qtwebengine_%.bbappend | 1 + .../recipes-qt/qt5/qtwebkit_%.bbappend | 8 ++ .../gstreamer1.0-plugins-base_%.bbappend | 0 ...001-Make-RGB565-as-default-EGLconfig.patch | 31 +++++ ...-Use-native_display-to-load-EGL-func.patch | 33 ++++++ ...Add-options-to-configure-bpp-and-dep.patch | 104 +++++++++++++++++ .../recipes-benchmarks/glmark2_%.bbappend | 14 +++ .../qemu/qemu-xilinx_8.1.0.bbappend | 6 + .../recipes-devtools/qemu/qemu_%.bbappend | 6 + .../recipes-gnome/gtk+/gtk+3_%.bbappend | 0 .../libepoxy/libepoxy_%.bbappend | 0 .../recipes-graphics/libgles/files/egl.pc | 0 .../recipes-graphics/libgles/files/gbm.pc | 0 .../recipes-graphics/libgles/files/glesv1.pc | 0 .../libgles/files/glesv1_cm.pc | 0 .../recipes-graphics/libgles/files/glesv2.pc | 0 .../libgles/libmali-xlnx_r9p0-01rel0.bb | 0 .../recipes-graphics/libglu/libglu_%.bbappend | 0 .../libsdl2/libsdl2_%.bbappend | 0 ...Makefile-to-be-compatible-with-Yocto.patch | 0 ...0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch | 0 ...p0-01rel0-Remove-unused-trace-macros.patch | 0 ...0-01rel0-Don-t-include-mali_read_phy.patch | 0 ...l_linux.c-Handle-clock-when-probed-a.patch | 0 ...iable-dma_ops-is-removed-from-the-ke.patch | 0 ...-Add-PM-runtime-barrier-after-removi.patch | 0 ...l_linux.c-Enable-disable-clock-for-r.patch | 0 ...li_memory_os_alloc-Remove-__GFP_COLD.patch | 0 ...y_secure-Add-header-file-dma-direct..patch | 0 ...ux-mali_-timer-Get-rid-of-init_timer.patch | 0 ...fix-driver-failed-to-check-map-error.patch | 0 ...re-Kernel-5.0-onwards-access_ok-API-.patch | 0 ...nsert_pfn-deprecated-from-kernel-4.2.patch | 0 ...type-to-vm_fault_t-for-fault-handler.patch | 0 ...ottime-ts-deprecated-from-kernel-4.2.patch | 0 ...ap_nocache-deprecation-in-kernel-5.6.patch | 0 ...-timekeeping-functions-in-kernel-5.6.patch | 0 ...-HAVE_UNLOCKED_IOCTL-default-to-true.patch | 0 ...e-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch | 0 ...0024-Use-community-device-tree-names.patch | 0 ...odule-and-update-register_shrinker-f.patch | 0 .../0026-Fix-gpu-driver-probe-failure.patch | 0 ...me-and-structure-to-match-LIMA-drive.patch | 0 ...lags-direct-modifications-with-modif.patch | 0 .../0029-Fixed-buildpath-QA-warning.patch | 0 .../mali/kernel-module-mali_r9p0-01rel0.bb | 0 .../mesa/files/0001-DRI_Add_xlnx_dri.patch | 0 ...Align-EXT_platform_device-extension-.patch | 0 ...Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch | 0 .../mesa-demos/libmali-egl-workaround.patch | 0 .../mesa/mesa-demos_%.bbappend | 0 .../recipes-graphics/mesa/mesa-gl_%.bbappend | 0 .../recipes-graphics/mesa/mesa_%.bbappend | 0 .../virglrenderer/virglrenderer_%.bbappend | 6 + ...emove-substitute-format-for-ARGB8888.patch | 0 ...emove-substitute-format-for-ARGB8888.patch | 0 .../recipes-graphics/wayland/files/init | 0 .../wayland/files/weston.service | 0 .../wayland/weston-init.bbappend | 0 .../recipes-graphics/wayland/weston.inc | 0 ...d-drm-Re-order-gbm-destruction-at-DR.patch | 0 ...001-meson.build-fix-incorrect-header.patch | 0 ...ntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch | 0 ...ovide-a-default-version-that-doesn-t.patch | 0 .../weston/dont-use-plane-add-prop.patch | 0 .../weston/systemd-notify.weston-start | 0 .../wayland/weston/weston.desktop | 0 .../wayland/weston/weston.png | Bin .../wayland/weston/xwayland.weston-start | 0 .../wayland/weston_13.%.bbappend | 0 .../recipes-graphics/wayland/weston_9.0.0.bb | 0 .../wayland/weston_9.0.0.bbappend | 0 .../xorg-xserver/xserver-xorg_%.bbappend | 6 + .../xwayland/xwayland_%.bbappend | 0 .../linux-xlnx-udev-rules.bbappend | 3 + .../99-mali-device.rules | 0 .../linux/linux-xlnx-mali400.inc | 3 + .../linux/linux-xlnx_%.bbappend | 1 + 99 files changed, 621 insertions(+), 53 deletions(-) create mode 100644 meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass create mode 100644 meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass create mode 100644 meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc create mode 100644 meta-xilinx-mali400/conf/layer.conf rename meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend => meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend (100%) create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend create mode 100644 meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend rename {meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME => meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer}/gstreamer1.0-plugins-base_%.bbappend (100%) create mode 100644 meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch create mode 100644 meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch create mode 100644 meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch create mode 100644 meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend create mode 100644 meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend create mode 100644 meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend rename meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend => meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend (100%) rename meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend => meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/files/egl.pc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/files/gbm.pc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/files/glesv1.pc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/files/glesv1_cm.pc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/files/glesv2.pc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/libglu/libglu_%.bbappend (100%) rename meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend => meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa-demos_%.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa-gl_%.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/mesa/mesa_%.bbappend (100%) create mode 100644 meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/files/init (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/files/weston.service (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston-init.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston.inc (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/systemd-notify.weston-start (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/weston.desktop (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/weston.png (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston/xwayland.weston-start (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston_13.%.bbappend (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston_9.0.0.bb (100%) rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/wayland/weston_9.0.0.bbappend (100%) create mode 100644 meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-graphics/xwayland/xwayland_%.bbappend (100%) create mode 100644 meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend rename {meta-xilinx-core => meta-xilinx-mali400}/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules (100%) create mode 100644 meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc create mode 100644 meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index 1837da26..904b4861 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -34,24 +34,6 @@ UBOOT_SUFFIX ?= "bin" UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" UBOOT_ELF ?= "u-boot.elf" -# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 -# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 -# default mesa because otherwise -def xlnx_is_libmali_enabled(d): - if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1': - if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1': - return True - return False - -# libmali requires certain preferred providers to be selected -PREFERRED_PROVIDER_virtual/egl ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgl ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles1 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles2 ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgles3 ?= "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/libgbm ?= "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" -PREFERRED_PROVIDER_virtual/mesa ?= "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" - XSERVER ?= " \ xserver-xorg \ xf86-input-evdev \ diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend index 81aa8e9e..0c305c78 100644 --- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend +++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend @@ -9,11 +9,3 @@ SRC_URI:append = " \ PACKAGECONFIG[fbdev-glesv2] = ",,virtual/libgles2 virtual/egl" EXTRA_OECONF:append = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', ' --with-flavors=fbdev-glesv2', '', d)}" - -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb index 50d9922f..4679174b 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_8.1.0.bb @@ -4,14 +4,6 @@ require qemu-8.1.inc require qemu-xilinx-8.1.inc require qemu-alt.inc -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - - DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" DEPENDS:append:libc-musl = " libucontext" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend index 04c89b83..9140060e 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend @@ -1,8 +1 @@ require qemu-alt.inc - -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend index 3306f1c4..fe24534f 100644 --- a/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend +++ b/meta-xilinx-core/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -1,10 +1,3 @@ -# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific -DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" -MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" -MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" -PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" -PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" - FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += " \ diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb index a09ae9ed..a2fc6765 100644 --- a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb +++ b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb @@ -5,7 +5,6 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda SRC_URI = "\ file://99-aie-device.rules \ - file://99-mali-device.rules \ " S = "${UNPACKDIR}" diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc index 63052933..27d79964 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx.inc @@ -61,7 +61,3 @@ KERNEL_FEATURES:append:zynqmp = "${@' features/xilinx/overlay_of/overlay_of.scc' KERNEL_FEATURES:append:versal = "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' features/xen/xen.scc', '', d)} features/xilinx/hdmi-module/hdmi-module.scc" KERNEL_FEATURES:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', ' features/ocicontainer/ocicontainer.scc', '', d)}" - -# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled -MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}" -KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}" diff --git a/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass new file mode 100644 index 00000000..26d54f59 --- /dev/null +++ b/meta-xilinx-mali400/classes/meta-xilinx-mali400-cfg.bbclass @@ -0,0 +1,6 @@ +# We need to load the meta-xilinx-mali400 config components, only if "libmali" +# is in the distro features. Since we don't know the distro flags during +# layer.conf load time, we delay using a special bbclass that simply includes +# the META_XILINX_MALI400_CONFIG_PATH file. + +include ${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '${META_XILINX_MALI400_CONFIG_PATH}', '', d)} diff --git a/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass new file mode 100644 index 00000000..25353fd6 --- /dev/null +++ b/meta-xilinx-mali400/classes/sanity-meta-xilinx-mali400.bbclass @@ -0,0 +1,10 @@ +addhandler mali400_bbappend_distrocheck +mali400_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck" +python mali400_bbappend_distrocheck() { + skip_check = e.data.getVar('SKIP_META_XILINX_MALI400_SANITY_CHECK') == "1" + if 'libmali' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check: + bb.warn("You have included the meta-xilinx-mali400 layer, but \ +'libmali' has not been enabled in your DISTRO_FEATURES. Some bbappend files \ +may not take effect. See the meta-xilinx-mali400 README for details on enabling \ +libmali - mali400 support.") +} diff --git a/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc new file mode 100644 index 00000000..9975eff4 --- /dev/null +++ b/meta-xilinx-mali400/conf/distro/include/meta-xilinx-mali400-default-versions.inc @@ -0,0 +1,22 @@ +SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ + *->qtbase \ + *->qtmultimedia \ +" + +# libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 +# lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 +# default mesa because otherwise +def xlnx_is_libmali_enabled(d): + if bb.utils.contains('MACHINE_FEATURES', 'mali400', '1', '', d) == '1': + if bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '', d) == '1': + return True + return False + +# libmali requires certain preferred providers to be selected +PREFERRED_PROVIDER_virtual/egl = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgl = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles1 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles2 = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgles3 = "${@'NOT_SUPPORTED' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/libgbm = "${@'libmali-xlnx' if xlnx_is_libmali_enabled(d) else 'mesa'}" +PREFERRED_PROVIDER_virtual/mesa = "${@'mesa-gl' if xlnx_is_libmali_enabled(d) else 'mesa'}" diff --git a/meta-xilinx-mali400/conf/layer.conf b/meta-xilinx-mali400/conf/layer.conf new file mode 100644 index 00000000..7bc75aa8 --- /dev/null +++ b/meta-xilinx-mali400/conf/layer.conf @@ -0,0 +1,34 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a packages directory, add to BBFILES +BBFILES += " \ + ${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend \ + " + +BBFILES_DYNAMIC += " \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bb \ + openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/recipes-*/*/*.bbappend \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bb \ + qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/recipes-*/*/*.bbappend \ + xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bb \ + xilinx-multimedia:${LAYERDIR}/dynamic-layers/xilinx-multimedia/recipes-*/*/*.bbappend \ +" + +BBFILE_COLLECTIONS += "xilinx-mali400" +BBFILE_PATTERN_xilinx-mali400 = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-mali400 = "5" + +LAYERDEPENDS_xilinx-mali400 = " \ + core \ + xilinx \ + " + +LAYERSERIES_COMPAT_xilinx-mali400 = "scarthgap" + +INHERIT += "sanity-meta-xilinx-mali400" + +META_XILINX_MALI400_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-xilinx-mali400-default-versions.inc" + +USER_CLASSES:append = " meta-xilinx-mali400-cfg" diff --git a/meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend b/meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-gnome/gtk+/gtk+3_%.bbappend rename to meta-xilinx-mali400/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/glmark2_%.bbappend diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch new file mode 100644 index 00000000..363edd4d --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch @@ -0,0 +1,110 @@ +From f791102afb7c65601042b697a9d85c4f4fce5dab Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Tue, 19 Nov 2019 13:45:58 -0800 +Subject: [PATCH] egl_kms: Modify the default color format to RGB565 + +DP supports RGB565 hence modify the default color format to RGB565. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Inappropriate [Xilinx specific] + +--- + .../kmsconvenience/qkmsdevice.cpp | 4 ++-- + .../eglfs_kms/qeglfskmsgbmcursor.cpp | 6 +++--- + .../eglfs_kms/qeglfskmsgbmintegration.cpp | 2 +- + .../eglfs_kms_support/qeglfskmsintegration.cpp | 16 +++++++++++++--- + 4 files changed, 19 insertions(+), 9 deletions(-) + +diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +index 8cd7f9b368..657b3d553e 100644 +--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp ++++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +@@ -369,7 +369,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources, + uint32_t drmFormat; + bool drmFormatExplicit = true; + if (formatStr.isEmpty()) { +- drmFormat = DRM_FORMAT_XRGB8888; ++ drmFormat = DRM_FORMAT_RGB565; + drmFormatExplicit = false; + } else if (formatStr == "xrgb8888") { + drmFormat = DRM_FORMAT_XRGB8888; +@@ -393,7 +393,7 @@ QPlatformScreen *QKmsDevice::createScreenForConnector(drmModeResPtr resources, + drmFormat = DRM_FORMAT_ABGR2101010; + } else { + qWarning("Invalid pixel format \"%s\" for output %s", formatStr.constData(), connectorName.constData()); +- drmFormat = DRM_FORMAT_XRGB8888; ++ drmFormat = DRM_FORMAT_RGB565; + drmFormatExplicit = false; + } + qCDebug(qLcKmsDebug) << "Format is" << Qt::hex << drmFormat << Qt::dec << "requested_by_user =" << drmFormatExplicit +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp +index 612eec4ce0..39073a42c2 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp +@@ -87,7 +87,7 @@ QEglFSKmsGbmCursor::QEglFSKmsGbmCursor(QEglFSKmsGbmScreen *screen) + } + + m_bo = gbm_bo_create(static_cast<QEglFSKmsGbmDevice *>(m_screen->device())->gbmDevice(), m_cursorSize.width(), m_cursorSize.height(), +- GBM_FORMAT_ARGB8888, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE); ++ DRM_FORMAT_RGB565, GBM_BO_USE_CURSOR_64X64 | GBM_BO_USE_WRITE); + if (!m_bo) { + qWarning("Could not create buffer for cursor!"); + } else { +@@ -197,7 +197,7 @@ void QEglFSKmsGbmCursor::changeCursor(QCursor *windowCursor, QWindow *window) + if (m_cursorImage.image()->width() > m_cursorSize.width() || m_cursorImage.image()->height() > m_cursorSize.height()) + qWarning("Cursor larger than %dx%d, cursor will be clipped.", m_cursorSize.width(), m_cursorSize.height()); + +- QImage cursorImage(m_cursorSize, QImage::Format_ARGB32); ++ QImage cursorImage(m_cursorSize, QImage::Format_RGB16); + cursorImage.fill(Qt::transparent); + + QPainter painter; +@@ -302,7 +302,7 @@ void QEglFSKmsGbmCursor::initCursorAtlas() + m_cursorAtlas.hotSpots << hotSpot; + } + +- QImage image = QImage(atlas).convertToFormat(QImage::Format_ARGB32); ++ QImage image = QImage(atlas).convertToFormat(QImage::Format_RGB16); + m_cursorAtlas.cursorWidth = image.width() / m_cursorAtlas.cursorsPerRow; + m_cursorAtlas.cursorHeight = image.height() / ((Qt::LastCursor + cursorsPerRow) / cursorsPerRow); + m_cursorAtlas.width = image.width(); +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +index caa1187b40..b8f129212c 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +@@ -96,7 +96,7 @@ EGLNativeWindowType QEglFSKmsGbmIntegration::createNativeOffscreenWindow(const Q + + gbm_surface *surface = gbm_surface_create(static_cast<QEglFSKmsGbmDevice *>(device())->gbmDevice(), + 1, 1, +- GBM_FORMAT_XRGB8888, ++ DRM_FORMAT_RGB565, + GBM_BO_USE_RENDERING); + + return reinterpret_cast<EGLNativeWindowType>(surface); +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +index 28b6b7df63..91dd092311 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp +@@ -102,9 +102,19 @@ QSurfaceFormat QEglFSKmsIntegration::surfaceFormatFor(const QSurfaceFormat &inpu + QSurfaceFormat format(inputFormat); + format.setRenderableType(QSurfaceFormat::OpenGLES); + format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); +- format.setRedBufferSize(8); +- format.setGreenBufferSize(8); +- format.setBlueBufferSize(8); ++ ++ static const bool force888 = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCE888"); ++ if (force888){ ++ format.setRedBufferSize(8); ++ format.setGreenBufferSize(8); ++ format.setBlueBufferSize(8); ++ } ++ else{ ++ format.setRedBufferSize(5); ++ format.setGreenBufferSize(6); ++ format.setBlueBufferSize(5); ++ } ++ + return format; + } + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch new file mode 100644 index 00000000..8a357d3d --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch @@ -0,0 +1,31 @@ +From b8bdd78fc2836f7ecb8777c3bd99fc2d48dfeda4 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Fri, 8 Mar 2019 16:23:29 -0800 +Subject: [PATCH] qkmsdevice.cpp: Disable hw cursor as a default option. + +Zynqmp does not support hardware cursor, hence disable it as a default +choice and enable pbuffer. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Inappropriate [Xilinx specific] + +--- + src/platformsupport/kmsconvenience/qkmsdevice.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +index 657b3d553e..64aafb2247 100644 +--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp ++++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp +@@ -1028,9 +1028,9 @@ QKmsScreenConfig *QKmsDevice::screenConfig() const + + QKmsScreenConfig::QKmsScreenConfig() + : m_headless(false) +- , m_hwCursor(true) ++ , m_hwCursor(false) + , m_separateScreens(false) +- , m_pbuffers(false) ++ , m_pbuffers(true) + , m_virtualDesktopLayout(VirtualDesktopLayoutHorizontal) + { + loadConfig(); diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend new file mode 100644 index 00000000..2e80a4c8 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend @@ -0,0 +1,41 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtbase:" + +SRC_URI:append = " \ + file://0002-egl_kms-Modify-the-default-color-format-to-RGB565.patch \ + file://0003-qkmsdevice.cpp-Disable-hw-cursor-as-a-default-option.patch \ +" + +PACKAGECONFIG:append = " \ + examples accessibility tools libinput fontconfig \ + ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'linuxfb gles2 eglfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gles2 eglfs', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gles2 eglfs kms gbm', '', d)} \ + " + +PACKAGECONFIG:remove = "tests" + +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" + +# There is some sort of parallel make install failure +# Makefile:144: recipe for target 'sub-dbus-install_subtargets' failed +# make[1]: *** [sub-dbus-install_subtargets] Error 2 +PARALLEL_MAKEINST = "-j 1" + +EXTRA_OEMAKE:task-install = " \ + MAKEFLAGS='${PARALLEL_MAKEINST}' \ + OE_QMAKE_CC='${OE_QMAKE_CC}' \ + OE_QMAKE_CXX='${OE_QMAKE_CXX}' \ + OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \ + OE_QMAKE_CXXFLAGS='${OE_QMAKE_CXXFLAGS}' \ + OE_QMAKE_LINK='${OE_QMAKE_LINK}' \ + OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \ + OE_QMAKE_AR='${OE_QMAKE_AR}' \ + OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \ + OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \ + OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \ +" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend new file mode 100644 index 00000000..1e329fbd --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend @@ -0,0 +1,7 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'gstreamer1.0-plugins-base', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" +# Note: gstreamer1.0-plugins-base has a dependency on opengl, which infects directly linking to it diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch new file mode 100644 index 00000000..09ad1b5b --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch @@ -0,0 +1,34 @@ +From eb44571eab0036a9a1bcd7c423f0187abcbf7a37 Mon Sep 17 00:00:00 2001 +From: Johan Klokkhammer Helsing <[email protected]> +Date: Thu, 30 Aug 2018 09:31:33 +0200 +Subject: [PATCH] Fix regression in QWaylandGlContext::makeCurrent for + offscreen surfaces + +[ChangeLog][QPA plugin] Fixed a bug where offscreen surfaces would get +surfaceless EGL contexts. + +Fixes a regression in in bf09c7a1. + +The call, window->updateSurface(window->isExposed()), is problematic because +offscreen textures are never exposed, and consequently, eglSurface will be +EGL_NO_SURFACE, which will then create a surfaceless context in the call: + + eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context) + +This reverts to the old behavior of always trying to create an EGL surface, +unless the window doesn't have a valid wl_surface, in which case it doesn't +make sense (which is what bf09c7a1 fixed, QTBUG-65553). + +Task-number: QTBUG-70242 +Task-number: QTBUG-68605 +Task-number: QTBUG-67601 +Change-Id: I44b07bb8bf4b33c73c6379a1de8e9e5cfd220b51 + +Signed-off-by: Johan Helsing <[email protected]> +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Backport +--- + src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 9 ++++++--- + src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp | 2 +- + 2 files changed, 7 insertions(+), 4 deletions(-) + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch new file mode 100644 index 00000000..8f81ffcf --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch @@ -0,0 +1,31 @@ +From 30f5d53244ef4173544413124f319af272235cfd Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Wed, 16 May 2018 17:16:53 -0700 +Subject: [PATCH 1/3] qwaylandwindow.cpp: Do not destroy shell suface before + eglDestroySurface + +The call to reset results in a race condition resulting in destruction +of shell surface before the eglSurface thereby crashing libwayland-client. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Pending +--- + src/client/qwaylandwindow.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp +index 6d7c088..94c89a3 100644 +--- a/src/client/qwaylandwindow.cpp ++++ b/src/client/qwaylandwindow.cpp +@@ -385,8 +385,6 @@ void QWaylandWindow::setVisible(bool visible) + QWindowSystemInterface::flushWindowSystemEvents(); + if (!deleteGuard.isNull() && window()->type() == Qt::Popup) + closePopups(this); +- if (!deleteGuard.isNull()) +- reset(); + } + } + +-- +2.7.4 + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch new file mode 100644 index 00000000..52db5ac2 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch @@ -0,0 +1,20 @@ +From 75ac221b9d78d97c121b984ffc633c8cdbe3a92d Mon Sep 17 00:00:00 2001 +From: Giulio Camuffo <[email protected]> +Date: Mon, 7 May 2018 17:40:57 -0700 +Subject: [PATCH 2/3] Handle maximize/minimize/fullscreen in xdg_shell_v6 + +[ChangeLog][QPA plugin] Implement support for maximization, minimization +and fullscreen with xdg-shell unstable v6. + +Task-number: QTBUG-63417 +Task-number: QTBUG-63748 +Change-Id: I385eb3279d91f1c38d2f5d46bc63b324f0456ca4 + +signed-off-by: Giulio Camuffo <[email protected]> +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Backport +--- + src/client/qwaylandxdgshellv6.cpp | 22 ++++++++++++++++++++++ + src/client/qwaylandxdgshellv6_p.h | 4 ++++ + 2 files changed, 26 insertions(+) + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch new file mode 100644 index 00000000..c29edab4 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland/0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch @@ -0,0 +1,32 @@ +From 7067fce80a6e863532a86a5aeb9d6f53e538b387 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Wed, 5 Sep 2018 14:08:16 -0700 +Subject: [PATCH 3/3] qwaylandeglwindow.cpp: Bind the context before calling + eglDestroySurface + +Call eglMakeCurrent to bind the context to the current rendering thread +before calling eglDestroySurface to avoid a crash caused by the post +processing activity of GPU driver. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Pending +--- + src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +index 6b5c532..77cc433 100644 +--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ++++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +@@ -171,6 +171,8 @@ void QWaylandEglWindow::doInvalidateSurface() + void QWaylandEglWindow::invalidateSurface() + { + if (m_eglSurface) { ++ eglMakeCurrent(m_clientBufferIntegration->eglDisplay(), EGL_NO_SURFACE, ++ EGL_NO_SURFACE, EGL_NO_CONTEXT); + eglDestroySurface(m_clientBufferIntegration->eglDisplay(), m_eglSurface); + m_eglSurface = 0; + } +-- +2.7.4 + diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend new file mode 100644 index 00000000..b51451a0 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwayland_%.bbappend @@ -0,0 +1,21 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/qtwayland:" +# file://0001-qwaylandwindow.cpp-Do-not-destroy-shell-suface-befor.patch +# file://0002-Handle-maximize-minimize-fullscreen-in-xdg_shell_v6.patch +SRC_URI:append = " \ + file://0003-qwaylandeglwindow.cpp-Bind-the-context-before-callin.patch \ +" +# file://0001-Fix-regression-in-QWaylandGlContext-makeCurrent-for-.patch + +PACKAGECONFIG = " \ + wayland-client \ + wayland-server \ + wayland-egl \ + wayland-drm-egl-server-buffer \ +" + +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend new file mode 100644 index 00000000..973608d3 --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend @@ -0,0 +1 @@ +PACKAGECONFIG:append = " ffmpeg opus" diff --git a/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend new file mode 100644 index 00000000..0997181a --- /dev/null +++ b/meta-xilinx-mali400/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend @@ -0,0 +1,8 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'qtmultimedia', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" +# Note: qtmultimedia has a dependency on gstreamer1.0-plugins-base, which has a dependency on opengl, which infects directly linking to it + diff --git a/meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_%.bbappend b/meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend similarity index 100% rename from meta-xilinx-multimedia/recipes-multimedia/gstreamer/FIXME/gstreamer1.0-plugins-base_%.bbappend rename to meta-xilinx-mali400/dynamic-layers/xilinx-multimedia/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch new file mode 100644 index 00000000..aeedfd58 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-Make-RGB565-as-default-EGLconfig.patch @@ -0,0 +1,31 @@ +From 43cdcd9dbb032d32e66bab9c25d5e7000797efb8 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Wed, 26 Sep 2018 14:44:11 -0700 +Subject: [PATCH 1/3] Make RGB565 as default EGLconfig + +Make RGB565 as default EGL config as that way user need not pass +explicit parameters for RGB565 EGLconfig. In the orignial scenario, if +user does not pass the gl-visual-config to RGB565 there will be color +conversion resulting in lower performance. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Reviewed-by: Hyun Kwon <[email protected]> +Upstream-Status: Inappropriate [Xilinx specific] +Signed-off-by: Mark Hatle <[email protected]> +--- + src/gl-visual-config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: git/src/gl-visual-config.h +=================================================================== +--- git.orig/src/gl-visual-config.h ++++ git/src/gl-visual-config.h +@@ -31,7 +31,7 @@ class GLVisualConfig + { + public: + GLVisualConfig(): +- id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(-1), buffer(1), samples(0) {} ++ id(0), red(5), green(6), blue(5), alpha(0), depth(16), stencil(0), buffer(16), samples(0) {} + GLVisualConfig(const std::string &s); + + /** diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch new file mode 100644 index 00000000..61a7cbf9 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch @@ -0,0 +1,33 @@ +From 534a0f99b38f7a32fc07562bec3e992dfad448c0 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Mon, 3 Feb 2020 13:00:36 -0800 +Subject: [PATCH] src: gl-state-egl: Use native_display to load EGL funcs + through glad + +EGL_DEFAULT_DISPLAY may not be suiitable for all the backends like GBM. +Instead, use the already initialized display and only fallback to +EGL_DEFAULT_DISPLAY if the display is unintialized (which is already +been taken care). + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-status: Pending +--- + src/gl-state-egl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp +index 8d7d66e..316b856 100644 +--- a/src/gl-state-egl.cpp ++++ b/src/gl-state-egl.cpp +@@ -317,7 +317,7 @@ GLStateEGL::init_display(void* native_display, GLVisualConfig& visual_config) + return false; + } + +- if (gladLoadEGLUserPtr(EGL_NO_DISPLAY, load_egl_func, &egl_lib_) == 0) { ++ if (gladLoadEGLUserPtr(native_display, load_egl_func, &egl_lib_) == 0) { + Log::error("Loading EGL entry points failed\n"); + return false; + } +-- +2.7.4 + diff --git a/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch new file mode 100644 index 00000000..015f2f49 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/files/0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch @@ -0,0 +1,104 @@ +From c5de6efc463c1f8f47d37c2423da983c016b3ce8 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <[email protected]> +Date: Thu, 27 Jun 2019 16:16:05 -0700 +Subject: [PATCH] src/options.cpp: Add options to configure bpp and depth + +Instead of hardcoding the depth and bpp for drm backend, application +should have a knob to configure the same. + +Signed-off-by: Madhurkiran Harikrishnan <[email protected]> +Upstream-Status: Inappropriate [Xilinx specific] +--- + src/native-state-drm.cpp | 5 +++-- + src/options.cpp | 10 ++++++++++ + src/options.h | 2 ++ + 3 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/src/native-state-drm.cpp b/src/native-state-drm.cpp +index 62566ee..9743575 100644 +--- a/src/native-state-drm.cpp ++++ b/src/native-state-drm.cpp +@@ -24,6 +24,7 @@ + */ + #include "native-state-drm.h" + #include "log.h" ++#include "options.h" + + #include <fcntl.h> + #include <libudev.h> +@@ -403,7 +404,7 @@ NativeStateDRM::fb_get_from_bo(gbm_bo* bo) + unsigned int stride = gbm_bo_get_stride(bo); + unsigned int handle = gbm_bo_get_handle(bo).u32; + unsigned int fb_id(0); +- int status = drmModeAddFB(fd_, width, height, 24, 32, stride, handle, &fb_id); ++ int status = drmModeAddFB(fd_, width, height, Options::depth, Options::bpp, stride, handle, &fb_id); + if (status < 0) { + Log::error("Failed to create FB: %d\n", status); + return 0; +@@ -428,7 +429,7 @@ NativeStateDRM::init_gbm() + } + + surface_ = gbm_surface_create(dev_, mode_->hdisplay, mode_->vdisplay, +- GBM_FORMAT_XRGB8888, ++ (Options::bpp == 32) ? GBM_FORMAT_XRGB8888 : GBM_FORMAT_RGB565, + GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); + if (!surface_) { + Log::error("Failed to create GBM surface\n"); +diff --git a/src/options.cpp b/src/options.cpp +index 05cd617..7de1ddc 100644 +--- a/src/options.cpp ++++ b/src/options.cpp +@@ -41,6 +41,8 @@ bool Options::reuse_context = false; + bool Options::run_forever = false; + bool Options::annotate = false; + bool Options::offscreen = false; ++int Options::depth = 16; ++int Options::bpp = 16; + GLVisualConfig Options::visual_config; + + static struct option long_options[] = { +@@ -59,6 +61,8 @@ static struct option long_options[] = { + {"show-all-options", 0, 0, 0}, + {"debug", 0, 0, 0}, + {"help", 0, 0, 0}, ++ {"depth", 1, 0, 0}, ++ {"bpp", 1, 0, 0}, + {0, 0, 0, 0} + }; + +@@ -142,6 +146,8 @@ Options::print_help() + " --annotate Annotate the benchmarks with on-screen information\n" + " (same as -b :show-fps=true:title=#info#)\n" + " -d, --debug Display debug messages\n" ++ " --depth Depth for drm backend\n" ++ " --bpp Bpp for drm backend\n" + " -h, --help Display help\n"); + } + +@@ -193,6 +199,10 @@ Options::parse_args(int argc, char **argv) + Options::show_debug = true; + else if (c == 'h' || !strcmp(optname, "help")) + Options::show_help = true; ++ else if (!strcmp(optname, "depth")) ++ Options::depth = Util::fromString<int>(optarg); ++ else if (!strcmp(optname, "bpp")) ++ Options::bpp = Util::fromString<int>(optarg); + } + + return true; +diff --git a/src/options.h b/src/options.h +index f62e02a..04bef5f 100644 +--- a/src/options.h ++++ b/src/options.h +@@ -53,6 +53,8 @@ struct Options { + static bool run_forever; + static bool annotate; + static bool offscreen; ++ static int depth; ++ static int bpp; + static GLVisualConfig visual_config; + }; + +-- +2.7.4 + diff --git a/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend new file mode 100644 index 00000000..9f9ab267 --- /dev/null +++ b/meta-xilinx-mali400/recipes-benchmarks/glmark2_%.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# TODO: Two patches are disabled as they do not apply to the current version of glmark2 +# This will need review by someone familiar with that code +SRC_URI:append = " file://0001-Make-RGB565-as-default-EGLconfig.patch \ + file://0001-src-options.cpp-Add-options-to-configure-bpp-and-dep.patch;apply=0 \ + file://0001-src-gl-state-egl-Use-native_display-to-load-EGL-func.patch;apply=0 \ + " + +PACKAGECONFIG = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gl x11-gles2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'drm-gles2 wayland-gles2', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'fbdev-glesv2', '', d)} \ +" diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend new file mode 100644 index 00000000..514cacaa --- /dev/null +++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu-xilinx_8.1.0.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend new file mode 100644 index 00000000..514cacaa --- /dev/null +++ b/meta-xilinx-mali400/recipes-devtools/qemu/qemu_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend b/meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libepoxy/libepoxy_%.bbappend rename to meta-xilinx-mali400/recipes-gnome/gtk+/gtk+3_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libsdl2/libsdl2_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libepoxy/libepoxy_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/egl.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/egl.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/egl.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/gbm.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/gbm.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv1.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv1_cm.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv1_cm.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc b/meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/files/glesv2.pc rename to meta-xilinx-mali400/recipes-graphics/libgles/files/glesv2.pc diff --git a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb rename to meta-xilinx-mali400/recipes-graphics/libgles/libmali-xlnx_r9p0-01rel0.bb diff --git a/meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/libglu/libglu_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libglu/libglu_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend b/meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/virglrenderer/virglrenderer_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/libsdl2/libsdl2_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0001-Change-Makefile-to-be-compatible-with-Yocto.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0002-staging-mali-r8p0-01rel0-Add-the-ZYNQ-ZYNQMP-platfor.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0003-staging-mali-r8p0-01rel0-Remove-unused-trace-macros.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0004-staging-mali-r8p0-01rel0-Don-t-include-mali_read_phy.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0005-linux-mali_kernel_linux.c-Handle-clock-when-probed-a.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0006-arm.c-global-variable-dma_ops-is-removed-from-the-ke.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0010-common-mali_pm.c-Add-PM-runtime-barrier-after-removi.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0011-linux-mali_kernel_linux.c-Enable-disable-clock-for-r.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0012-linux-mali_memory_os_alloc-Remove-__GFP_COLD.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0013-linux-mali_memory_secure-Add-header-file-dma-direct..patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0014-linux-mali_-timer-Get-rid-of-init_timer.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0015-fix-driver-failed-to-check-map-error.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0016-mali_memory_secure-Kernel-5.0-onwards-access_ok-API-.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0017-Support-for-vm_insert_pfn-deprecated-from-kernel-4.2.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0018-Change-return-type-to-vm_fault_t-for-fault-handler.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0019-get_monotonic_boottime-ts-deprecated-from-kernel-4.2.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0020-Fix-ioremap_nocache-deprecation-in-kernel-5.6.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0021-Use-updated-timekeeping-functions-in-kernel-5.6.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0022-Set-HAVE_UNLOCKED_IOCTL-default-to-true.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0023-Use-PTR_ERR_OR_ZERO-instead-of-PTR_RET.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0024-Use-community-device-tree-names.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb b/meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb rename to meta-xilinx-mali400/recipes-graphics/mali/kernel-module-mali_r9p0-01rel0.bb diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-demos_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-demos_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa-gl_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa-gl_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/mesa/mesa_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/mesa/mesa_%.bbappend diff --git a/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend new file mode 100644 index 00000000..03823f6e --- /dev/null +++ b/meta-xilinx-mali400/recipes-graphics/virglrenderer/virglrenderer_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/init b/meta-xilinx-mali400/recipes-graphics/wayland/files/init similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/init rename to meta-xilinx-mali400/recipes-graphics/wayland/files/init diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/weston.service b/meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/files/weston.service rename to meta-xilinx-mali400/recipes-graphics/wayland/files/weston.service diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston-init.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston-init.bbappend diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston.inc b/meta-xilinx-mali400/recipes-graphics/wayland/weston.inc similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston.inc rename to meta-xilinx-mali400/recipes-graphics/wayland/weston.inc diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch b/meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/dont-use-plane-add-prop.patch diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/systemd-notify.weston-start rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/systemd-notify.weston-start diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/weston.desktop rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.desktop diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/weston.png b/meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/weston.png rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/weston.png diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start b/meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston/xwayland.weston-start rename to meta-xilinx-mali400/recipes-graphics/wayland/weston/xwayland.weston-start diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_13.%.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_13.%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bb rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bb diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend rename to meta-xilinx-mali400/recipes-graphics/wayland/weston_9.0.0.bbappend diff --git a/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file mode 100644 index 00000000..03823f6e --- /dev/null +++ b/meta-xilinx-mali400/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -0,0 +1,6 @@ +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" diff --git a/meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend b/meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend similarity index 100% rename from meta-xilinx-core/recipes-graphics/xwayland/xwayland_%.bbappend rename to meta-xilinx-mali400/recipes-graphics/xwayland/xwayland_%.bbappend diff --git a/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend new file mode 100644 index 00000000..81c660a5 --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' file://99-mali-device.rules', '', d)}" diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules b/meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules similarity index 100% rename from meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules rename to meta-xilinx-mali400/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules/99-mali-device.rules diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc new file mode 100644 index 00000000..e49e5377 --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx-mali400.inc @@ -0,0 +1,3 @@ +# Enable DRM_LIMA support if DISTRO_FEATURES != 'libmali' and MACHINE_FEATURES mali400 is enabled +MALI_FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '', 'features/drm-lima/drm-lima.scc', d)}" +KERNEL_FEATURES:append = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', ' ${MALI_FEATURE}', '', d)}" diff --git a/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend new file mode 100644 index 00000000..8b6d657c --- /dev/null +++ b/meta-xilinx-mali400/recipes-kernel/linux/linux-xlnx_%.bbappend @@ -0,0 +1 @@ +require linux-xlnx-mali400.inc -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#5385): https://lists.yoctoproject.org/g/meta-xilinx/message/5385 Mute This Topic: https://lists.yoctoproject.org/mt/106609969/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
