diff options
37 files changed, 588 insertions, 2900 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index a3c8af2c..e57c3b59 100644 --- a/conf/layer.conf +++ b/conf/layer.conf | |||
@@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ | |||
8 | BBFILE_COLLECTIONS += "freescale-layer" | 8 | BBFILE_COLLECTIONS += "freescale-layer" |
9 | BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/" | 9 | BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/" |
10 | BBFILE_PRIORITY_freescale-layer = "5" | 10 | BBFILE_PRIORITY_freescale-layer = "5" |
11 | LAYERSERIES_COMPAT_freescale-layer = "kirkstone" | 11 | LAYERSERIES_COMPAT_freescale-layer = "kirkstone langdale" |
12 | 12 | ||
13 | # Add the Freescale-specific licenses into the metadata | 13 | # Add the Freescale-specific licenses into the metadata |
14 | LICENSE_PATH += "${LAYERDIR}/custom-licenses" | 14 | LICENSE_PATH += "${LAYERDIR}/custom-licenses" |
diff --git a/conf/machine/imx6qdlsabreauto.conf b/conf/machine/imx6qdlsabreauto.conf index 16a061e5..b7b44589 100644 --- a/conf/machine/imx6qdlsabreauto.conf +++ b/conf/machine/imx6qdlsabreauto.conf | |||
@@ -34,7 +34,7 @@ KERNEL_DEVICETREE:use-mainline-bsp = " \ | |||
34 | 34 | ||
35 | ### u-boot-fslc settings ### | 35 | ### u-boot-fslc settings ### |
36 | SPL_BINARY:pn-u-boot-fslc = "SPL" | 36 | SPL_BINARY:pn-u-boot-fslc = "SPL" |
37 | UBOOT_CONFIG:pn-u-boot-fslc ??= "sd-fslc" | 37 | UBOOT_CONFIG:pn-u-boot-fslc ??= "sd" |
38 | UBOOT_SUFFIX:pn-u-boot-fslc = "img" | 38 | UBOOT_SUFFIX:pn-u-boot-fslc = "img" |
39 | 39 | ||
40 | ### u-boot-imx settings ### | 40 | ### u-boot-imx settings ### |
diff --git a/conf/machine/imx6qdlsabresd.conf b/conf/machine/imx6qdlsabresd.conf index 62ad478e..7c40a860 100644 --- a/conf/machine/imx6qdlsabresd.conf +++ b/conf/machine/imx6qdlsabresd.conf | |||
@@ -43,7 +43,7 @@ KERNEL_DEVICETREE:use-mainline-bsp = " \ | |||
43 | 43 | ||
44 | ### u-boot-fslc settings ### | 44 | ### u-boot-fslc settings ### |
45 | SPL_BINARY:pn-u-boot-fslc = "SPL" | 45 | SPL_BINARY:pn-u-boot-fslc = "SPL" |
46 | UBOOT_CONFIG:pn-u-boot-fslc ??= "sd-fslc" | 46 | UBOOT_CONFIG:pn-u-boot-fslc ??= "sd" |
47 | UBOOT_SUFFIX:pn-u-boot-fslc = "img" | 47 | UBOOT_SUFFIX:pn-u-boot-fslc = "img" |
48 | 48 | ||
49 | ### u-boot-imx settings ### | 49 | ### u-boot-imx settings ### |
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index f1257c24..a0d6be13 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc | |||
@@ -187,15 +187,15 @@ MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxf | |||
187 | 187 | ||
188 | MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp" | 188 | MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp" |
189 | 189 | ||
190 | MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp" | 190 | MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp" |
191 | 191 | ||
192 | MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp" | 192 | MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp" |
193 | MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp" | 193 | MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp" |
194 | MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp" | 194 | MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp" |
195 | MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp" | 195 | MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp" |
196 | 196 | ||
197 | MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp" | 197 | MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp" |
198 | MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" | 198 | MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp" |
199 | MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8dxl-generic-bsp:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-nxp-bsp" | 199 | MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8dxl-generic-bsp:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-nxp-bsp" |
200 | 200 | ||
201 | ####### | 201 | ####### |
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc index 03e09e57..794a0bad 100644 --- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc | |||
@@ -12,6 +12,8 @@ SRC_URI:append:imxgpu2d += " \ | |||
12 | file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \ | 12 | file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \ |
13 | file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \ | 13 | file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \ |
14 | file://0003-i.MX6-force-egl-visual-ID-33.patch \ | 14 | file://0003-i.MX6-force-egl-visual-ID-33.patch \ |
15 | file://0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch \ | ||
16 | file://0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch.patch \ | ||
15 | " | 17 | " |
16 | 18 | ||
17 | DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2" | 19 | DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2" |
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch new file mode 100644 index 00000000..7eee7cf2 --- /dev/null +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0001-config.tests-add-DEFINES-to-compile-egl-test-with-im.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 234580de9d63fd79a8b444358cdaeac111a17061 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mauro Salvini <m.salvini@koansoftware.com> | ||
3 | Date: Thu, 29 Sep 2022 16:06:04 +0200 | ||
4 | Subject: [PATCH 1/2] config.tests: add DEFINES to compile egl test with | ||
5 | imxgpu2d (Vivante) | ||
6 | |||
7 | Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com> | ||
8 | --- | ||
9 | config.tests/unix/egl/egl.pro | 1 + | ||
10 | 1 file changed, 1 insertion(+) | ||
11 | |||
12 | diff --git a/config.tests/unix/egl/egl.pro b/config.tests/unix/egl/egl.pro | ||
13 | index f04d0535..bc35b908 100644 | ||
14 | --- a/config.tests/unix/egl/egl.pro | ||
15 | +++ b/config.tests/unix/egl/egl.pro | ||
16 | @@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) { | ||
17 | |||
18 | !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL | ||
19 | !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL | ||
20 | +DEFINES += LINUX=1 EGL_API_FB=1 | ||
21 | |||
22 | CONFIG -= qt | ||
23 | -- | ||
24 | 2.17.1 | ||
25 | |||
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch new file mode 100644 index 00000000..993df85e --- /dev/null +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/0002-config.tests-add-DEFINES-to-compile-egl4gles1-test-w.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From adb19c68d3c92eb1a88e49e447ce827f14943486 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mauro Salvini <m.salvini@koansoftware.com> | ||
3 | Date: Thu, 29 Sep 2022 16:12:11 +0200 | ||
4 | Subject: [PATCH 2/2] config.tests: add DEFINES to compile egl4gles1 test with | ||
5 | imxgpu2d (Vivante) | ||
6 | |||
7 | Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com> | ||
8 | --- | ||
9 | config.tests/unix/egl4gles1/egl4gles1.pro | 1 + | ||
10 | 1 file changed, 1 insertion(+) | ||
11 | |||
12 | diff --git a/config.tests/unix/egl4gles1/egl4gles1.pro b/config.tests/unix/egl4gles1/egl4gles1.pro | ||
13 | index 667ea8e3..14cb4a76 100644 | ||
14 | --- a/config.tests/unix/egl4gles1/egl4gles1.pro | ||
15 | +++ b/config.tests/unix/egl4gles1/egl4gles1.pro | ||
16 | @@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) { | ||
17 | |||
18 | !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL | ||
19 | !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL | ||
20 | +DEFINES += LINUX=1 EGL_API_FB=1 | ||
21 | |||
22 | CONFIG -= qt | ||
23 | -- | ||
24 | 2.17.1 | ||
25 | |||
diff --git a/recipes-graphics/cairo/cairo_%.bbappend b/recipes-graphics/cairo/cairo_%.bbappend index 245adb59..c61e9a58 100644 --- a/recipes-graphics/cairo/cairo_%.bbappend +++ b/recipes-graphics/cairo/cairo_%.bbappend | |||
@@ -3,6 +3,6 @@ PACKAGECONFIG:remove:imxgpu3d = "opengl" | |||
3 | 3 | ||
4 | # links with imx-gpu libs which are pre-built for glibc | 4 | # links with imx-gpu libs which are pre-built for glibc |
5 | # gcompat will address it during runtime | 5 | # gcompat will address it during runtime |
6 | LDFLAGS:append:imxgpu3d:libc-musl = " -Wl,--allow-shlib-undefined" | ||
7 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | 6 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" |
8 | 7 | ||
8 | RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" | ||
diff --git a/recipes-graphics/gtk+/gtk+3_%.bbappend b/recipes-graphics/gtk+/gtk+3_%.bbappend index 2f108a27..6bc01807 100644 --- a/recipes-graphics/gtk+/gtk+3_%.bbappend +++ b/recipes-graphics/gtk+/gtk+3_%.bbappend | |||
@@ -1,5 +1 @@ | |||
1 | DEPENDS:append:imxgpu2d = " virtual/egl" | DEPENDS:append:imxgpu2d = " virtual/egl" | |
2 | |||
3 | PACKAGECONFIG:remove:imxgpu2d = " \ | ||
4 | ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "x11", "", d)} \ | ||
5 | " | ||
diff --git a/recipes-graphics/harfbuzz/harfbuzz_%.bbappend b/recipes-graphics/harfbuzz/harfbuzz_%.bbappend new file mode 100644 index 00000000..bf8c38fc --- /dev/null +++ b/recipes-graphics/harfbuzz/harfbuzz_%.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | # links with imx-gpu libs which are pre-built for glibc | ||
2 | # gcompat will address it during runtime | ||
3 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | ||
4 | |||
5 | RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" | ||
diff --git a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.0.bb b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.0.bb index ad8de74c..e2f5912b 100644 --- a/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.0.bb +++ b/recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.0.bb | |||
@@ -23,5 +23,8 @@ do_install () { | |||
23 | } | 23 | } |
24 | 24 | ||
25 | INSANE_SKIP:${PN} += "ldflags" | 25 | INSANE_SKIP:${PN} += "ldflags" |
26 | INSANE_SKIP:append:libc-musl = " file-rdeps" | ||
26 | 27 | ||
27 | COMPATIBLE_MACHINE = "(imxdpu)" | 28 | COMPATIBLE_MACHINE = "(imxdpu)" |
29 | |||
30 | RDEPENDS:${PN}:append:libc-musl = " gcompat" | ||
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc index 4abab088..4cbb7ba6 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | |||
@@ -25,6 +25,8 @@ DEPENDS:append:mx8-nxp-bsp = " patchelf-native" | |||
25 | # We depend on mesa to fill in what is missing. | 25 | # We depend on mesa to fill in what is missing. |
26 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" | 26 | DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa', '', d)}" |
27 | 27 | ||
28 | DEPENDS:append:libc-musl = " gcompat" | ||
29 | |||
28 | PROVIDES += " \ | 30 | PROVIDES += " \ |
29 | imx-gpu-viv \ | 31 | imx-gpu-viv \ |
30 | libgal-imx \ | 32 | libgal-imx \ |
@@ -48,9 +50,14 @@ EXTRA_PROVIDES:append:imxgpu3d = " \ | |||
48 | EXTRA_PROVIDES:append:mx8-nxp-bsp = " \ | 50 | EXTRA_PROVIDES:append:mx8-nxp-bsp = " \ |
49 | virtual/libgbm \ | 51 | virtual/libgbm \ |
50 | " | 52 | " |
53 | |||
51 | PROVIDES_OPENGLES3 = "" | 54 | PROVIDES_OPENGLES3 = "" |
52 | PROVIDES_OPENGLES3:mx8-nxp-bsp = "virtual/libgles3" | 55 | PROVIDES_OPENGLES3:mx8-nxp-bsp = "virtual/libgles3" |
53 | PROVIDES_OPENGLES3:mx8mm-nxp-bsp = "" | 56 | PROVIDES_OPENGLES3:mx8mm-nxp-bsp = "" |
57 | |||
58 | # Note: OpenVX is fully supported on i.MX 8 QuadMax and 8 QuadPlus. | ||
59 | # However, only limited support is provided on other i.MX 8 machines | ||
60 | # as needed for i.MX machine learning packages. | ||
54 | PROVIDES_OPENVX = "" | 61 | PROVIDES_OPENVX = "" |
55 | PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx" | 62 | PROVIDES_OPENVX:mx8-nxp-bsp = "virtual/libopenvx" |
56 | PROVIDES_OPENVX:mx8mm-nxp-bsp = "" | 63 | PROVIDES_OPENVX:mx8mm-nxp-bsp = "" |
@@ -59,9 +66,7 @@ RPROVIDES:${PN}:imxgpu3d += "imx-gpu-viv" | |||
59 | 66 | ||
60 | PE = "1" | 67 | PE = "1" |
61 | 68 | ||
62 | inherit fsl-eula-unpack features_check | 69 | inherit fsl-eula-unpack |
63 | |||
64 | REQUIRED_DISTRO_FEATURES:mx8-nxp-bsp = "wayland" | ||
65 | 70 | ||
66 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" | 71 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" |
67 | 72 | ||
@@ -71,27 +76,39 @@ PACKAGECONFIG ?= "" | |||
71 | PACKAGECONFIG[valgrind] = "" | 76 | PACKAGECONFIG[valgrind] = "" |
72 | 77 | ||
73 | # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below | 78 | # Note : If you add a package here, to prevent a naming conflict see the python_anonymous() futher below |
74 | IMX_PACKAGES_GBM = "" | 79 | PACKAGES =+ " \ |
75 | IMX_PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev" | ||
76 | PACKAGES =+ "libclc-imx libclc-imx-dev \ | ||
77 | libgl-imx libgl-imx-dev \ | 80 | libgl-imx libgl-imx-dev \ |
78 | libgles1-imx libgles1-imx-dev \ | 81 | libgles1-imx libgles1-imx-dev \ |
79 | libgles2-imx libgles2-imx-dev \ | 82 | libgles2-imx libgles2-imx-dev \ |
80 | libgles3-imx-dev \ | 83 | libgles3-imx-dev \ |
81 | libglslc-imx libglslc-imx-dev \ | 84 | libglslc-imx libglslc-imx-dev \ |
82 | libopencl-imx libopencl-imx-dev \ | 85 | ${PACKAGES_OPENCL} \ |
83 | libopenvg-imx libopenvg-imx-dev \ | 86 | libopenvg-imx libopenvg-imx-dev \ |
84 | libvdk-imx libvdk-imx-dev \ | 87 | libvdk-imx libvdk-imx-dev \ |
85 | libegl-imx libegl-imx-dev \ | 88 | libegl-imx libegl-imx-dev \ |
86 | libgal-imx libgal-imx-dev \ | 89 | libgal-imx libgal-imx-dev \ |
87 | libvsc-imx \ | 90 | libvsc-imx \ |
88 | ${IMX_PACKAGES_GBM} \ | 91 | ${PACKAGES_GBM} \ |
89 | imx-gpu-viv-tools \ | 92 | imx-gpu-viv-tools \ |
90 | imx-gpu-viv-demos \ | 93 | imx-gpu-viv-demos \ |
91 | libvulkan-imx libvulkan-imx-dev \ | 94 | ${PACKAGES_VULKAN} \ |
92 | libopenvx-imx libopenvx-imx-dev \ | 95 | ${PACKAGES_OPENVX} \ |
93 | libnn-imx \ | 96 | libnn-imx \ |
94 | " | 97 | " |
98 | |||
99 | PACKAGES_GBM = "" | ||
100 | PACKAGES_GBM:mx8-nxp-bsp = "libgbm-imx libgbm-imx-dev" | ||
101 | |||
102 | PACKAGES_OPENCL = "libopencl-imx libopencl-imx-dev libclc-imx libclc-imx-dev" | ||
103 | PACKAGES_OPENCL:mx7-nxp-bsp = "" | ||
104 | |||
105 | PACKAGES_OPENVX = \ | ||
106 | "${@bb.utils.contains("PROVIDES_OPENVX", "virtual/libopenvx", \ | ||
107 | "libopenvx-imx libopenvx-imx-dev", "", d)}" | ||
108 | |||
109 | PACKAGES_VULKAN = "" | ||
110 | PACKAGES_VULKAN:imxvulkan = "libvulkan-imx libvulkan-imx-dev" | ||
111 | |||
95 | python __anonymous () { | 112 | python __anonymous () { |
96 | has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT') or '0') | 113 | has_vivante_kernel_driver_support = (d.getVar('MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT') or '0') |
97 | if has_vivante_kernel_driver_support != '1': | 114 | if has_vivante_kernel_driver_support != '1': |
@@ -175,6 +192,7 @@ do_install () { | |||
175 | # Use vulkan header from vulkan-headers recipe to support vkmark | 192 | # Use vulkan header from vulkan-headers recipe to support vkmark |
176 | rm -rf ${D}${includedir}/vulkan/ | 193 | rm -rf ${D}${includedir}/vulkan/ |
177 | 194 | ||
195 | # Install SOC-specific drivers | ||
178 | if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then | 196 | if [ -d ${S}/gpu-core/usr/lib/${IMX_SOC} ]; then |
179 | cp -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir} | 197 | cp -r ${S}/gpu-core/usr/lib/${IMX_SOC}/* ${D}${libdir} |
180 | fi | 198 | fi |
@@ -184,28 +202,59 @@ do_install () { | |||
184 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc | 202 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/gbm.pc ${D}${libdir}/pkgconfig/gbm.pc |
185 | fi | 203 | fi |
186 | 204 | ||
205 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc | ||
206 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc | ||
207 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc | ||
208 | |||
209 | # Install backend-specific drivers | ||
187 | if [ "${BACKEND}" = "wayland" ]; then | 210 | if [ "${BACKEND}" = "wayland" ]; then |
211 | # Wayland backend | ||
188 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc | 212 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_wayland.pc ${D}${libdir}/pkgconfig/egl.pc |
189 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc | 213 | cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} |
190 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc | 214 | elif [ "${IS_MX8}" != "1" ]; then |
191 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc | 215 | # Framebuffer backend for i.MX 6 and 7 |
192 | else | ||
193 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc | ||
194 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc | ||
195 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/vg.pc ${D}${libdir}/pkgconfig/vg.pc | ||
196 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc | 216 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl_linuxfb.pc ${D}${libdir}/pkgconfig/egl.pc |
217 | cp -r ${S}/gpu-core/usr/lib/fb/* ${D}${libdir} | ||
218 | else | ||
219 | # Framebuffer backend for i.MX 8 and beyond | ||
220 | install -m 0644 ${S}/gpu-core/usr/lib/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/egl.pc | ||
221 | cp -r ${S}/gpu-core/usr/lib/wayland/* ${D}${libdir} | ||
222 | set -f | ||
223 | for f in ${FILES:libvdk-imx} ${FILES:libvdk-imx-dev}; do | ||
224 | set +f | ||
225 | rm -rf ${D}/$f | ||
226 | done | ||
227 | rm -rf \ | ||
228 | ${D}/opt/viv_samples/es20 \ | ||
229 | ${D}/opt/viv_samples/tiger \ | ||
230 | ${D}/opt/viv_samples/vdk | ||
197 | fi | 231 | fi |
198 | |||
199 | # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader) | ||
200 | install -d ${D}${sysconfdir}/OpenCL/vendors/ | ||
201 | install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd | ||
202 | |||
203 | # Handle backend specific drivers | ||
204 | cp -r ${S}/gpu-core/usr/lib/${BACKEND}/* ${D}${libdir} | ||
205 | if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then | 232 | if [ "${BACKEND}" = "wayland" ] && [ "${IS_MX8}" != "1" ]; then |
206 | # Special case for libVDK on Wayland backend, deliver fb library as well. | 233 | # Special case for libVDK on Wayland backend, deliver fb library as well. |
207 | cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 | 234 | cp ${S}/gpu-core/usr/lib/fb/libVDK.so.1.2.0 ${D}${libdir}/libVDK-fb.so.1.2.0 |
208 | fi | 235 | fi |
236 | |||
237 | if [ -z "${PACKAGES_OPENCL}" ]; then | ||
238 | set -f | ||
239 | for f in ${FILES:libopencl-imx} ${FILES:libopencl-imx-dev} ${FILES:libclc-imx} ${FILES:libclc-imx-dev}; do | ||
240 | set +f | ||
241 | rm -rf ${D}$f | ||
242 | done | ||
243 | rm -rf ${D}/opt/viv_samples/cl11 | ||
244 | else | ||
245 | # Install Vendor ICDs for OpenCL's installable client driver loader (ICDs Loader) | ||
246 | install -d ${D}${sysconfdir}/OpenCL/vendors/ | ||
247 | install -m 0644 ${S}/gpu-core/etc/Vivante.icd ${D}${sysconfdir}/OpenCL/vendors/Vivante.icd | ||
248 | fi | ||
249 | |||
250 | if [ -z "${PACKAGES_OPENVX}" ]; then | ||
251 | set -f | ||
252 | for f in ${FILES:libopenvx-imx} ${FILES:libopenvx-imx-dev}; do | ||
253 | set +f | ||
254 | rm -rf ${D}$f | ||
255 | done | ||
256 | fi | ||
257 | |||
209 | if [ "${IS_MX8}" = "1" ]; then | 258 | if [ "${IS_MX8}" = "1" ]; then |
210 | # Rename the vulkan implementation library which is wrapped by the vulkan-loader | 259 | # Rename the vulkan implementation library which is wrapped by the vulkan-loader |
211 | # library of the same name | 260 | # library of the same name |
@@ -216,6 +265,13 @@ do_install () { | |||
216 | rm ${D}${libdir}/libvulkan.so.$MAJOR ${D}${libdir}/libvulkan.so | 265 | rm ${D}${libdir}/libvulkan.so.$MAJOR ${D}${libdir}/libvulkan.so |
217 | ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$MAJOR | 266 | ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so.$MAJOR |
218 | ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so | 267 | ln -s libvulkan_VSI.so.$FULL ${D}${libdir}/libvulkan_VSI.so |
268 | if [ -z "${PACKAGES_VULKAN}" ]; then | ||
269 | set -f | ||
270 | for f in ${FILES:libvulkan-imx} ${FILES:libvulkan-imx-dev}; do | ||
271 | set +f | ||
272 | rm -rf ${D}$f | ||
273 | done | ||
274 | fi | ||
219 | fi | 275 | fi |
220 | 276 | ||
221 | # FIXME: MX6SL does not have 3D support; hack it for now | 277 | # FIXME: MX6SL does not have 3D support; hack it for now |
@@ -244,6 +300,24 @@ do_install () { | |||
244 | chown -R root:root "${D}" | 300 | chown -R root:root "${D}" |
245 | } | 301 | } |
246 | 302 | ||
303 | do_install:append:libc-musl() { | ||
304 | # libs | ||
305 | for f in `find ${D}${libdir} -name '*.so*' -type f` | ||
306 | do | ||
307 | patchelf --add-needed libgcompat.so.0 $f | ||
308 | done | ||
309 | # binaries | ||
310 | for f in `find ${D}/opt ${D}${bindir} -name '*' -type f -executable` | ||
311 | do | ||
312 | # prune scripts | ||
313 | if `patchelf --print-interpreter $f 2>&1 > /dev/null` | ||
314 | then | ||
315 | patchelf --set-interpreter ${root_prefix}`patchelf --print-interpreter $f` $f | ||
316 | patchelf --add-needed libgcompat.so.0 $f | ||
317 | fi | ||
318 | done | ||
319 | } | ||
320 | |||
247 | ALLOW_EMPTY:${PN} = "1" | 321 | ALLOW_EMPTY:${PN} = "1" |
248 | 322 | ||
249 | FILES:libclc-imx = "${libdir}/libCLC${SOLIBS} ${includedir}/CL/cl_viv_vx_ext.h" | 323 | FILES:libclc-imx = "${libdir}/libCLC${SOLIBS} ${includedir}/CL/cl_viv_vx_ext.h" |
@@ -263,9 +337,9 @@ INSANE_SKIP:libgal-imx += "build-deps" | |||
263 | 337 | ||
264 | FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}" | 338 | FILES:libvsc-imx = "${libdir}/libVSC${SOLIBS}" |
265 | 339 | ||
266 | FILES:libgbm-imx:mx8-nxp-bsp = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}" | 340 | FILES:libgbm-imx = "${libdir}/libgbm*${REALSOLIBS} ${libdir}/libgbm${SOLIBSDEV} ${libdir}/libgbm_viv${SOLIBSDEV}" |
267 | FILES:libgbm-imx-dev:mx8-nxp-bsp = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" | 341 | FILES:libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" |
268 | RDEPENDS:libgbm-imx:append:mx8-nxp-bsp = " libdrm" | 342 | RDEPENDS:libgbm-imx:append = " libdrm" |
269 | INSANE_SKIP:libgbm-imx += "dev-so" | 343 | INSANE_SKIP:libgbm-imx += "dev-so" |
270 | 344 | ||
271 | FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}" | 345 | FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}" |
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.2-aarch64.bb b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.2-aarch64.bb index bd584dbe..4136631b 100644 --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.2-aarch64.bb +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.4.3.p4.2-aarch64.bb | |||
@@ -1,9 +1,10 @@ | |||
1 | require imx-gpu-viv-6.inc | 1 | require imx-gpu-viv-6.inc |
2 | 2 | ||
3 | DEPENDS:append:libc-musl = " gcompat" | ||
4 | INSANE_SKIP:append:libc-musl = " file-rdeps" | ||
5 | |||
6 | SRC_URI[md5sum] = "22de8a5f59a56a7ef499f590d1659b6f" | 3 | SRC_URI[md5sum] = "22de8a5f59a56a7ef499f590d1659b6f" |
7 | SRC_URI[sha256sum] = "52921c0b59529f1598084e991eda1863100754f28a7744ba958158dff8074b3b" | 4 | SRC_URI[sha256sum] = "52921c0b59529f1598084e991eda1863100754f28a7744ba958158dff8074b3b" |
8 | 5 | ||
6 | INSANE_SKIP:append:libc-musl = " file-rdeps" | ||
7 | |||
9 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" | 8 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" |
9 | |||
10 | RDEPENDS:${PN}:append:libc-musl = " gcompat" | ||
diff --git a/recipes-graphics/pango/pango_%.bbappend b/recipes-graphics/pango/pango_%.bbappend new file mode 100644 index 00000000..bf8c38fc --- /dev/null +++ b/recipes-graphics/pango/pango_%.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | # links with imx-gpu libs which are pre-built for glibc | ||
2 | # gcompat will address it during runtime | ||
3 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | ||
4 | |||
5 | RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" | ||
diff --git a/recipes-graphics/vulkan/vulkan-loader_%.bbappend b/recipes-graphics/vulkan/vulkan-loader_%.bbappend index 90776168..722896ff 100644 --- a/recipes-graphics/vulkan/vulkan-loader_%.bbappend +++ b/recipes-graphics/vulkan/vulkan-loader_%.bbappend | |||
@@ -1,3 +1,3 @@ | |||
1 | # The i.MX implementation is dynamically loaded, so it requires an | 1 | # The i.MX implementation is dynamically loaded, so it requires an |
2 | # explicit runtime dependency. | 2 | # explicit runtime dependency. |
3 | RRECOMMENDS:${PN}:append:imxgpu = " libvulkan-imx" | 3 | RRECOMMENDS:${PN}:append:imxvulkan = " libvulkan-imx" |
diff --git a/recipes-graphics/wayland/weston/0001-g2d-renderer.c-Include-sys-stat.h.patch b/recipes-graphics/wayland/weston/0001-g2d-renderer.c-Include-sys-stat.h.patch new file mode 100644 index 00000000..b9cb31fb --- /dev/null +++ b/recipes-graphics/wayland/weston/0001-g2d-renderer.c-Include-sys-stat.h.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 4afe9b2f9ef24ce0c9bf1cd41f94ca45afa4f445 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 12 Sep 2022 20:58:14 -0700 | ||
4 | Subject: [PATCH] g2d-renderer.c: Include sys/stat.h | ||
5 | |||
6 | This is needed for getting stat() prototype, its flagged with clang-15 | ||
7 | as error. | ||
8 | |||
9 | | ../git/libweston/renderer-g2d/g2d-renderer.c:2057:6: error: call to undeclared function 'stat'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] | ||
10 | | if (stat(gr->drm_device, &dev_stat) != 0) { | ||
11 | | ^ | ||
12 | | 1 error generated. | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | libweston/renderer-g2d/g2d-renderer.c | 1 + | ||
18 | 1 file changed, 1 insertion(+) | ||
19 | |||
20 | diff --git a/libweston/renderer-g2d/g2d-renderer.c b/libweston/renderer-g2d/g2d-renderer.c | ||
21 | index f59fc4ee..36a458fc 100644 | ||
22 | --- a/libweston/renderer-g2d/g2d-renderer.c | ||
23 | +++ b/libweston/renderer-g2d/g2d-renderer.c | ||
24 | @@ -41,6 +41,7 @@ | ||
25 | #include <drm_fourcc.h> | ||
26 | #include <poll.h> | ||
27 | #include <errno.h> | ||
28 | +#include <sys/stat.h> /* stat() */ | ||
29 | |||
30 | #include <libweston/libweston.h> | ||
31 | #include "g2d-renderer.h" | ||
32 | -- | ||
33 | 2.37.3 | ||
34 | |||
diff --git a/recipes-graphics/wayland/weston_10.0.0.imx.bb b/recipes-graphics/wayland/weston_10.0.0.imx.bb index 8fce4472..cc60b4d7 100644 --- a/recipes-graphics/wayland/weston_10.0.0.imx.bb +++ b/recipes-graphics/wayland/weston_10.0.0.imx.bb | |||
@@ -34,6 +34,7 @@ require ${THISDIR}/required-distro-features.inc | |||
34 | 34 | ||
35 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" | 35 | DEPENDS = "libxkbcommon gdk-pixbuf pixman cairo glib-2.0" |
36 | DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" | 36 | DEPENDS += "wayland wayland-protocols libinput virtual/egl pango wayland-native" |
37 | DEPENDS:append:imxfbdev = " libdrm" | ||
37 | 38 | ||
38 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}" | 39 | LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '', d)}" |
39 | 40 | ||
@@ -160,7 +161,9 @@ DEFAULT_PREFERENCE = "-1" | |||
160 | 161 | ||
161 | SRC_URI:remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz" | 162 | SRC_URI:remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz" |
162 | SRC_URI:prepend = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} " | 163 | SRC_URI:prepend = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} " |
163 | SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch" | 164 | SRC_URI += "file://0001-Revert-protocol-no-found-wayland-scanner-with-Yocto-.patch \ |
165 | file://0001-g2d-renderer.c-Include-sys-stat.h.patch \ | ||
166 | " | ||
164 | SRCBRANCH = "weston-imx-10.0" | 167 | SRCBRANCH = "weston-imx-10.0" |
165 | SRCREV = "c8c6e3106b03441db1037afa995f95fcb2f9f17d" | 168 | SRCREV = "c8c6e3106b03441db1037afa995f95fcb2f9f17d" |
166 | 169 | ||
@@ -175,9 +178,7 @@ PACKAGECONFIG_OPENGL:imxgpu2d = "" | |||
175 | PACKAGECONFIG_OPENGL:imxgpu3d = "opengl" | 178 | PACKAGECONFIG_OPENGL:imxgpu3d = "opengl" |
176 | 179 | ||
177 | PACKAGECONFIG:remove = "wayland x11" | 180 | PACKAGECONFIG:remove = "wayland x11" |
178 | PACKAGECONFIG:append = " \ | 181 | PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}" |
179 | rdp \ | ||
180 | ${@bb.utils.filter('DISTRO_FEATURES', '${PACKAGECONFIG_OPENGL}', d)}" | ||
181 | 182 | ||
182 | PACKAGECONFIG:remove:imxfbdev = "kms" | 183 | PACKAGECONFIG:remove:imxfbdev = "kms" |
183 | PACKAGECONFIG:append:imxfbdev = " fbdev clients" | 184 | PACKAGECONFIG:append:imxfbdev = " fbdev clients" |
@@ -200,6 +201,10 @@ EXTRA_OEMESON:append:imxfbdev = " -Dbackend-default=fbdev" | |||
200 | 201 | ||
201 | EXTRA_OEMESON += "-Ddeprecated-wl-shell=true" | 202 | EXTRA_OEMESON += "-Ddeprecated-wl-shell=true" |
202 | 203 | ||
204 | # links with imx-gpu libs which are pre-built for glibc | ||
205 | # gcompat will address it during runtime | ||
206 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | ||
207 | |||
203 | PACKAGE_ARCH = "${MACHINE_SOCARCH}" | 208 | PACKAGE_ARCH = "${MACHINE_SOCARCH}" |
204 | COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" | 209 | COMPATIBLE_MACHINE = "(imxfbdev|imxgpu)" |
205 | 210 | ||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch deleted file mode 100644 index 6f232589..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | From ed3c55fa6260ad125a32f9ac67f9e44a9bce7cf1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
3 | Date: Mon, 11 May 2020 19:12:51 -0500 | ||
4 | Subject: [PATCH] MGS-5186 Per Specification EGL_NATIVE_PIXMAP_KHR requires | ||
5 | EGL_NO_CONTEXT | ||
6 | |||
7 | https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_image_pixmap.txt | ||
8 | |||
9 | Per Specification EGL_NATIVE_PIXMAP_KHR requires EGL_NO_CONTEXT. | ||
10 | So passing context will result in error. | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
14 | --- | ||
15 | hw/xwayland/xwayland-glamor-gbm.c | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | Index: xorg-server-1.20.8/hw/xwayland/xwayland-glamor-gbm.c | ||
19 | =================================================================== | ||
20 | --- xorg-server-1.20.8.orig/hw/xwayland/xwayland-glamor-gbm.c | ||
21 | +++ xorg-server-1.20.8/hw/xwayland/xwayland-glamor-gbm.c | ||
22 | @@ -167,7 +167,7 @@ xwl_glamor_gbm_create_pixmap_for_bo(Scre | ||
23 | xwl_pixmap->bo = bo; | ||
24 | xwl_pixmap->buffer = NULL; | ||
25 | xwl_pixmap->image = eglCreateImageKHR(xwl_screen->egl_display, | ||
26 | - xwl_screen->egl_context, | ||
27 | + EGL_NO_CONTEXT, | ||
28 | EGL_NATIVE_PIXMAP_KHR, | ||
29 | xwl_pixmap->bo, NULL); | ||
30 | if (xwl_pixmap->image == EGL_NO_IMAGE_KHR) | ||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch deleted file mode 100644 index c8f1ae73..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From cc05c01925755310f027c61daa29648a10155f96 Mon Sep 17 00:00:00 2001 | ||
2 | From: Rohan Garg <rohan@garg.io> | ||
3 | Date: Thu, 13 Dec 2018 19:15:01 +0100 | ||
4 | Subject: [PATCH] glamor/glamor_egl.c: EGL_NATIVE_PIXMAP_KHR do not require | ||
5 | contexts | ||
6 | |||
7 | From https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_image_pixmap.txt | ||
8 | |||
9 | * If <target> is EGL_NATIVE_PIXMAP_KHR, and <ctx> is not EGL_NO_CONTEXT, | ||
10 | the error EGL_BAD_PARAMETER is generated. | ||
11 | |||
12 | Fixes: a5321ea4 ("Allow to create textured pixmaps from gbm_bo without using gem names") | ||
13 | --- | ||
14 | glamor/glamor_egl.c | 2 +- | ||
15 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
16 | |||
17 | Upstream-Status: Backport [cc05c01925755310f027c61daa29648a10155f96] | ||
18 | |||
19 | diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c | ||
20 | index 0f4edb5a3..69844d4e2 100644 | ||
21 | --- a/glamor/glamor_egl.c | ||
22 | +++ b/glamor/glamor_egl.c | ||
23 | @@ -233,7 +233,7 @@ glamor_egl_create_textured_pixmap_from_gbm_bo(PixmapPtr pixmap, | ||
24 | glamor_make_current(glamor_priv); | ||
25 | |||
26 | image = eglCreateImageKHR(glamor_egl->display, | ||
27 | - glamor_egl->context, | ||
28 | + EGL_NO_CONTEXT, | ||
29 | EGL_NATIVE_PIXMAP_KHR, bo, NULL); | ||
30 | if (image == EGL_NO_IMAGE_KHR) { | ||
31 | glamor_set_pixmap_type(pixmap, GLAMOR_DRM_ONLY); | ||
32 | -- | ||
33 | 2.17.1 | ||
34 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch deleted file mode 100644 index 48f271ae..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch +++ /dev/null | |||
@@ -1,44 +0,0 @@ | |||
1 | From 836f93de99b35050d78d61d3654f7c5655184144 Mon Sep 17 00:00:00 2001 | ||
2 | From: Fabrice Fontaine <fontaine.fabrice@gmail.com> | ||
3 | Date: Fri, 19 Apr 2019 10:19:50 +0200 | ||
4 | Subject: [PATCH] hw/xwayland/Makefile.am: fix build without glx | ||
5 | |||
6 | Commit d8ec33fe0542141aed1d9016d2ecaf52da944b4b added libglxvnd.la to | ||
7 | Xwayland_LDFLAGS but GLX can be disabled through --disable-glx. | ||
8 | In this case, build fails on: | ||
9 | |||
10 | make[3]: *** No rule to make target '../../glx/libglxvnd.la', needed by 'Xwayland'. Stop. | ||
11 | make[3]: *** Waiting for unfinished jobs.... | ||
12 | |||
13 | Fixes: | ||
14 | - http://autobuild.buildroot.org/results/397f8098c57fc6c88aa12dc8d35ebb1b933d52ef | ||
15 | |||
16 | Upstream-Status: Backport [836f93de99b35050d78d61d3654f7c5655184144] | ||
17 | Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> | ||
18 | --- | ||
19 | hw/xwayland/Makefile.am | 6 +++++- | ||
20 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/hw/xwayland/Makefile.am b/hw/xwayland/Makefile.am | ||
23 | index bc1cb8506..502879e2a 100644 | ||
24 | --- a/hw/xwayland/Makefile.am | ||
25 | +++ b/hw/xwayland/Makefile.am | ||
26 | @@ -21,10 +21,14 @@ Xwayland_SOURCES = \ | ||
27 | $(top_srcdir)/Xi/stubs.c \ | ||
28 | $(top_srcdir)/mi/miinitext.c | ||
29 | |||
30 | +if GLX | ||
31 | +GLXVND_LIB = $(top_builddir)/glx/libglxvnd.la | ||
32 | +endif | ||
33 | + | ||
34 | Xwayland_LDADD = \ | ||
35 | $(glamor_lib) \ | ||
36 | $(XWAYLAND_LIBS) \ | ||
37 | - $(top_builddir)/glx/libglxvnd.la \ | ||
38 | + $(GLXVND_LIB) \ | ||
39 | $(XWAYLAND_SYS_LIBS) \ | ||
40 | $(top_builddir)/Xext/libXvidmode.la \ | ||
41 | $(XSERVER_SYS_LIBS) | ||
42 | -- | ||
43 | 2.17.1 | ||
44 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch deleted file mode 100644 index 6e140eaa..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | From a99ff39b3b6095a16977fbb13b2b453a7359850f Mon Sep 17 00:00:00 2001 | ||
2 | From: Xianzhong <xianzhong.li@nxp.com> | ||
3 | Date: Mon, 11 Jan 2021 11:53:29 +0800 | ||
4 | Subject: [PATCH] prefer to use GLES2 for glamor EGL config | ||
5 | |||
6 | created the initial patch for xorg/xserver 1.20.8 | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | Signed-off-by: Xianzhong <xianzhong.li@nxp.com> | ||
10 | --- | ||
11 | hw/xwayland/xwayland-glamor-gbm.c | 13 ++++--------- | ||
12 | 1 file changed, 4 insertions(+), 9 deletions(-) | ||
13 | |||
14 | diff --git a/hw/xwayland/xwayland-glamor-gbm.c b/hw/xwayland/xwayland-glamor-gbm.c | ||
15 | index dce782fc3..1fdf45490 100644 | ||
16 | --- a/hw/xwayland/xwayland-glamor-gbm.c | ||
17 | +++ b/hw/xwayland/xwayland-glamor-gbm.c | ||
18 | @@ -912,13 +912,8 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen) | ||
19 | struct xwl_gbm_private *xwl_gbm = xwl_gbm_get(xwl_screen); | ||
20 | EGLint major, minor; | ||
21 | Bool egl_initialized = FALSE; | ||
22 | - static const EGLint config_attribs_core[] = { | ||
23 | - EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, | ||
24 | - EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR, | ||
25 | - EGL_CONTEXT_MAJOR_VERSION_KHR, | ||
26 | - GLAMOR_GL_CORE_VER_MAJOR, | ||
27 | - EGL_CONTEXT_MINOR_VERSION_KHR, | ||
28 | - GLAMOR_GL_CORE_VER_MINOR, | ||
29 | + static const EGLint config_attribs_gles2[] = { | ||
30 | + EGL_CONTEXT_CLIENT_VERSION, 2, | ||
31 | EGL_NONE | ||
32 | }; | ||
33 | const GLubyte *renderer; | ||
34 | @@ -947,10 +942,10 @@ xwl_glamor_gbm_init_egl(struct xwl_screen *xwl_screen) | ||
35 | goto error; | ||
36 | } | ||
37 | |||
38 | - eglBindAPI(EGL_OPENGL_API); | ||
39 | + eglBindAPI(EGL_OPENGL_ES_API); | ||
40 | |||
41 | xwl_screen->egl_context = eglCreateContext( | ||
42 | - xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, config_attribs_core); | ||
43 | + xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, config_attribs_gles2); | ||
44 | if (xwl_screen->egl_context == EGL_NO_CONTEXT) { | ||
45 | xwl_screen->egl_context = eglCreateContext( | ||
46 | xwl_screen->egl_display, NULL, EGL_NO_CONTEXT, NULL); | ||
47 | -- | ||
48 | 2.17.1 | ||
49 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch deleted file mode 100644 index e0958558..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | From 3a6fe85a5f123f53319b5be8a69666174cad09cf Mon Sep 17 00:00:00 2001 | ||
2 | From: Julien Isorce <julien.isorce@gmail.com> | ||
3 | Date: Thu, 6 Sep 2018 15:38:13 -0700 | ||
4 | Subject: [PATCH 1/8] xfree86: define FOURCC_NV12 and XVIMAGE_NV12 | ||
5 | |||
6 | Useful for glamor. | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | Signed-off-by: Julien Isorce <jisorce@oblong.com> | ||
10 | Tested-by: Olivier Fourdan <ofourdan@redhat.com> | ||
11 | Reviewed-by: Alex Deucher <alexander.deucher@amd.com> | ||
12 | --- | ||
13 | hw/xfree86/common/fourcc.h | 20 ++++++++++++++++++++ | ||
14 | 1 file changed, 20 insertions(+) | ||
15 | |||
16 | diff --git a/hw/xfree86/common/fourcc.h b/hw/xfree86/common/fourcc.h | ||
17 | index e6126b7fe..a19e6869e 100644 | ||
18 | --- a/hw/xfree86/common/fourcc.h | ||
19 | +++ b/hw/xfree86/common/fourcc.h | ||
20 | @@ -156,4 +156,24 @@ | ||
21 | XvTopToBottom \ | ||
22 | } | ||
23 | |||
24 | +#define FOURCC_NV12 0x3231564e | ||
25 | +#define XVIMAGE_NV12 \ | ||
26 | + { \ | ||
27 | + FOURCC_NV12, \ | ||
28 | + XvYUV, \ | ||
29 | + LSBFirst, \ | ||
30 | + {'N','V','1','2', \ | ||
31 | + 0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \ | ||
32 | + 12, \ | ||
33 | + XvPlanar, \ | ||
34 | + 2, \ | ||
35 | + 0, 0, 0, 0, \ | ||
36 | + 8, 8, 8, \ | ||
37 | + 1, 2, 2, \ | ||
38 | + 1, 2, 2, \ | ||
39 | + {'Y','U','V', \ | ||
40 | + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \ | ||
41 | + XvTopToBottom \ | ||
42 | + } | ||
43 | + | ||
44 | #endif /* _XF86_FOURCC_H_ */ | ||
45 | -- | ||
46 | 2.17.1 | ||
47 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch deleted file mode 100644 index 78988373..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0002-glamor-add-support-for-GL_RG.patch +++ /dev/null | |||
@@ -1,116 +0,0 @@ | |||
1 | From 7f46b31e3d80ca769f68a4ffb201d0fc4801ea93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Julien Isorce <julien.isorce@gmail.com> | ||
3 | Date: Thu, 6 Sep 2018 15:38:14 -0700 | ||
4 | Subject: [PATCH 2/8] glamor: add support for GL_RG | ||
5 | |||
6 | Allow to upload the CbCr plane of an NV12 image into a GL texture. | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | Signed-off-by: Julien Isorce <jisorce@oblong.com> | ||
10 | Tested-by: Olivier Fourdan <ofourdan@redhat.com> | ||
11 | Reviewed-by: Alex Deucher <alexander.deucher@amd.com> | ||
12 | --- | ||
13 | glamor/glamor.c | 2 ++ | ||
14 | glamor/glamor.h | 1 + | ||
15 | glamor/glamor_priv.h | 4 +++- | ||
16 | glamor/glamor_transfer.c | 10 ++++++++-- | ||
17 | glamor/glamor_utils.h | 4 ++++ | ||
18 | 5 files changed, 18 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/glamor/glamor.c b/glamor/glamor.c | ||
21 | index abefef614..3e9cf284c 100644 | ||
22 | --- a/glamor/glamor.c | ||
23 | +++ b/glamor/glamor.c | ||
24 | @@ -222,6 +222,8 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, | ||
25 | |||
26 | pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
27 | |||
28 | + pixmap_priv->is_cbcr = (usage == GLAMOR_CREATE_FORMAT_CBCR); | ||
29 | + | ||
30 | format = gl_iformat_for_pixmap(pixmap); | ||
31 | |||
32 | pitch = (((w * pixmap->drawable.bitsPerPixel + 7) / 8) + 3) & ~3; | ||
33 | diff --git a/glamor/glamor.h b/glamor/glamor.h | ||
34 | index be04bf858..e5992aa56 100644 | ||
35 | --- a/glamor/glamor.h | ||
36 | +++ b/glamor/glamor.h | ||
37 | @@ -129,6 +129,7 @@ extern _X_EXPORT Bool glamor_destroy_pixmap(PixmapPtr pixmap); | ||
38 | #define GLAMOR_CREATE_FBO_NO_FBO 0x103 | ||
39 | #define GLAMOR_CREATE_NO_LARGE 0x105 | ||
40 | #define GLAMOR_CREATE_PIXMAP_NO_TEXTURE 0x106 | ||
41 | +#define GLAMOR_CREATE_FORMAT_CBCR 0x107 | ||
42 | |||
43 | /* @glamor_egl_exchange_buffers: Exchange the underlying buffers(KHR image,fbo). | ||
44 | * | ||
45 | diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h | ||
46 | index 4353a99f1..a14aaf624 100644 | ||
47 | --- a/glamor/glamor_priv.h | ||
48 | +++ b/glamor/glamor_priv.h | ||
49 | @@ -380,6 +380,8 @@ typedef struct glamor_pixmap_private { | ||
50 | * names. | ||
51 | */ | ||
52 | glamor_pixmap_fbo **fbo_array; | ||
53 | + | ||
54 | + Bool is_cbcr; | ||
55 | } glamor_pixmap_private; | ||
56 | |||
57 | extern DevPrivateKeyRec glamor_pixmap_private_key; | ||
58 | @@ -902,7 +904,7 @@ int glamor_xv_put_image(glamor_port_private *port_priv, | ||
59 | Bool sync, | ||
60 | RegionPtr clipBoxes); | ||
61 | void glamor_xv_core_init(ScreenPtr screen); | ||
62 | -void glamor_xv_render(glamor_port_private *port_priv); | ||
63 | +void glamor_xv_render(glamor_port_private *port_priv, int id); | ||
64 | |||
65 | #include "glamor_utils.h" | ||
66 | |||
67 | diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c | ||
68 | index ebb5101d1..421ed3a5f 100644 | ||
69 | --- a/glamor/glamor_transfer.c | ||
70 | +++ b/glamor/glamor_transfer.c | ||
71 | @@ -27,6 +27,7 @@ | ||
72 | void | ||
73 | glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type) | ||
74 | { | ||
75 | + glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap); | ||
76 | switch (pixmap->drawable.depth) { | ||
77 | case 24: | ||
78 | case 32: | ||
79 | @@ -38,8 +39,13 @@ glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type) | ||
80 | *type = GL_UNSIGNED_INT_2_10_10_10_REV; | ||
81 | break; | ||
82 | case 16: | ||
83 | - *format = GL_RGB; | ||
84 | - *type = GL_UNSIGNED_SHORT_5_6_5; | ||
85 | + if (priv->is_cbcr) { | ||
86 | + *format = priv->fbo->format; | ||
87 | + *type = GL_UNSIGNED_BYTE; | ||
88 | + } else { | ||
89 | + *format = GL_RGB; | ||
90 | + *type = GL_UNSIGNED_SHORT_5_6_5; | ||
91 | + } | ||
92 | break; | ||
93 | case 15: | ||
94 | *format = GL_BGRA; | ||
95 | diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h | ||
96 | index 0d5674d63..1890c1fe5 100644 | ||
97 | --- a/glamor/glamor_utils.h | ||
98 | +++ b/glamor/glamor_utils.h | ||
99 | @@ -613,10 +613,14 @@ gl_iformat_for_pixmap(PixmapPtr pixmap) | ||
100 | { | ||
101 | glamor_screen_private *glamor_priv = | ||
102 | glamor_get_screen_private((pixmap)->drawable.pScreen); | ||
103 | + glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
104 | |||
105 | if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
106 | ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) { | ||
107 | return glamor_priv->one_channel_format; | ||
108 | + } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
109 | + (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) { | ||
110 | + return GL_RG; | ||
111 | } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
112 | (pixmap)->drawable.depth == 30) { | ||
113 | return GL_RGB10_A2; | ||
114 | -- | ||
115 | 2.17.1 | ||
116 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch deleted file mode 100644 index beed6cb4..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0003-Remove-check-for-useSIGIO-option.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | From cf407b16cd65ad6e26a9c8e5984e163409a5c0f7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
3 | Date: Mon, 30 Jan 2017 16:32:06 -0600 | ||
4 | Subject: [PATCH] Remove check for useSIGIO option | ||
5 | |||
6 | Commit 6a5a4e60373c1386b311b2a8bb666c32d68a9d99 removes the configure of useSIGIO | ||
7 | option. | ||
8 | |||
9 | As the xfree86 SIGIO support is reworked to use internal versions of OsBlockSIGIO | ||
10 | and OsReleaseSIGIO. | ||
11 | |||
12 | No longer the check for useSIGIO is needed | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | |||
16 | Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com> | ||
17 | --- | ||
18 | hw/xfree86/os-support/shared/sigio.c | 6 ------ | ||
19 | 1 file changed, 6 deletions(-) | ||
20 | |||
21 | diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c | ||
22 | index 884a71c..be76498 100644 | ||
23 | --- a/hw/xfree86/os-support/shared/sigio.c | ||
24 | +++ b/hw/xfree86/os-support/shared/sigio.c | ||
25 | @@ -185,9 +185,6 @@ xf86InstallSIGIOHandler(int fd, void (*f) (int, void *), void *closure) | ||
26 | int i; | ||
27 | int installed = FALSE; | ||
28 | |||
29 | - if (!xf86Info.useSIGIO) | ||
30 | - return 0; | ||
31 | - | ||
32 | for (i = 0; i < MAX_FUNCS; i++) { | ||
33 | if (!xf86SigIOFuncs[i].f) { | ||
34 | if (xf86IsPipe(fd)) | ||
35 | @@ -256,9 +253,6 @@ xf86RemoveSIGIOHandler(int fd) | ||
36 | int max; | ||
37 | int ret; | ||
38 | |||
39 | - if (!xf86Info.useSIGIO) | ||
40 | - return 0; | ||
41 | - | ||
42 | max = 0; | ||
43 | ret = 0; | ||
44 | for (i = 0; i < MAX_FUNCS; i++) { | ||
45 | -- | ||
46 | 2.7.4 | ||
47 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch deleted file mode 100644 index 855d1938..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0003-glamor-add-support-for-NV12-in-Xv.patch +++ /dev/null | |||
@@ -1,322 +0,0 @@ | |||
1 | From 17a3528162304f1586329aabd606d3498bfe48a5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Julien Isorce <julien.isorce@gmail.com> | ||
3 | Date: Tue, 11 Sep 2018 10:28:33 -0700 | ||
4 | Subject: [PATCH 3/8] glamor: add support for NV12 in Xv | ||
5 | |||
6 | Useful when video decoders only output NV12. Currently | ||
7 | glamor Xv only supports I420 and YV12. | ||
8 | |||
9 | Note that Intel's sna supports I420, YV12, YUY2, UYVY, NV12. | ||
10 | |||
11 | Test: xvinfo | grep NV12 | ||
12 | Test: gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! xvimagesink | ||
13 | |||
14 | v2: Combine the two texture2Ds on u_sampler. | ||
15 | |||
16 | Upstream-Status: Backport | ||
17 | Signed-off-by: Julien Isorce <jisorce@oblong.com> | ||
18 | Tested-by: Olivier Fourdan <ofourdan@redhat.com> | ||
19 | Reviewed-by: Alex Deucher <alexander.deucher@amd.com> | ||
20 | --- | ||
21 | glamor/glamor_xv.c | 180 ++++++++++++++++++++++++++++++++++++++------- | ||
22 | 1 file changed, 155 insertions(+), 25 deletions(-) | ||
23 | |||
24 | diff --git a/glamor/glamor_xv.c b/glamor/glamor_xv.c | ||
25 | index 62fc4fff5..6fef6ed0d 100644 | ||
26 | --- a/glamor/glamor_xv.c | ||
27 | +++ b/glamor/glamor_xv.c | ||
28 | @@ -59,8 +59,40 @@ typedef struct tagREF_TRANSFORM { | ||
29 | #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0) | ||
30 | #define RTFHue(a) (((a)*3.1416)/1000.0) | ||
31 | |||
32 | -static const glamor_facet glamor_facet_xv_planar = { | ||
33 | - .name = "xv_planar", | ||
34 | +static const glamor_facet glamor_facet_xv_planar_2 = { | ||
35 | + .name = "xv_planar_2", | ||
36 | + | ||
37 | + .version = 120, | ||
38 | + | ||
39 | + .source_name = "v_texcoord0", | ||
40 | + .vs_vars = ("attribute vec2 position;\n" | ||
41 | + "attribute vec2 v_texcoord0;\n" | ||
42 | + "varying vec2 tcs;\n"), | ||
43 | + .vs_exec = (GLAMOR_POS(gl_Position, position) | ||
44 | + " tcs = v_texcoord0;\n"), | ||
45 | + | ||
46 | + .fs_vars = ("uniform sampler2D y_sampler;\n" | ||
47 | + "uniform sampler2D u_sampler;\n" | ||
48 | + "uniform vec4 offsetyco;\n" | ||
49 | + "uniform vec4 ucogamma;\n" | ||
50 | + "uniform vec4 vco;\n" | ||
51 | + "varying vec2 tcs;\n"), | ||
52 | + .fs_exec = ( | ||
53 | + " float sample;\n" | ||
54 | + " vec2 sample_uv;\n" | ||
55 | + " vec4 temp1;\n" | ||
56 | + " sample = texture2D(y_sampler, tcs).w;\n" | ||
57 | + " temp1.xyz = offsetyco.www * vec3(sample) + offsetyco.xyz;\n" | ||
58 | + " sample_uv = texture2D(u_sampler, tcs).xy;\n" | ||
59 | + " temp1.xyz = ucogamma.xyz * vec3(sample_uv.x) + temp1.xyz;\n" | ||
60 | + " temp1.xyz = clamp(vco.xyz * vec3(sample_uv.y) + temp1.xyz, 0.0, 1.0);\n" | ||
61 | + " temp1.w = 1.0;\n" | ||
62 | + " gl_FragColor = temp1;\n" | ||
63 | + ), | ||
64 | +}; | ||
65 | + | ||
66 | +static const glamor_facet glamor_facet_xv_planar_3 = { | ||
67 | + .name = "xv_planar_3", | ||
68 | |||
69 | .version = 120, | ||
70 | |||
71 | @@ -110,26 +142,50 @@ Atom glamorBrightness, glamorContrast, glamorSaturation, glamorHue, | ||
72 | XvImageRec glamor_xv_images[] = { | ||
73 | XVIMAGE_YV12, | ||
74 | XVIMAGE_I420, | ||
75 | + XVIMAGE_NV12 | ||
76 | }; | ||
77 | int glamor_xv_num_images = ARRAY_SIZE(glamor_xv_images); | ||
78 | |||
79 | static void | ||
80 | -glamor_init_xv_shader(ScreenPtr screen) | ||
81 | +glamor_init_xv_shader(ScreenPtr screen, int id) | ||
82 | { | ||
83 | glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
84 | GLint sampler_loc; | ||
85 | + const glamor_facet *glamor_facet_xv_planar = NULL; | ||
86 | + | ||
87 | + switch (id) { | ||
88 | + case FOURCC_YV12: | ||
89 | + case FOURCC_I420: | ||
90 | + glamor_facet_xv_planar = &glamor_facet_xv_planar_3; | ||
91 | + break; | ||
92 | + case FOURCC_NV12: | ||
93 | + glamor_facet_xv_planar = &glamor_facet_xv_planar_2; | ||
94 | + break; | ||
95 | + default: | ||
96 | + break; | ||
97 | + } | ||
98 | |||
99 | glamor_build_program(screen, | ||
100 | &glamor_priv->xv_prog, | ||
101 | - &glamor_facet_xv_planar, NULL, NULL, NULL); | ||
102 | + glamor_facet_xv_planar, NULL, NULL, NULL); | ||
103 | |||
104 | glUseProgram(glamor_priv->xv_prog.prog); | ||
105 | sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "y_sampler"); | ||
106 | glUniform1i(sampler_loc, 0); | ||
107 | sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "u_sampler"); | ||
108 | glUniform1i(sampler_loc, 1); | ||
109 | - sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "v_sampler"); | ||
110 | - glUniform1i(sampler_loc, 2); | ||
111 | + | ||
112 | + switch (id) { | ||
113 | + case FOURCC_YV12: | ||
114 | + case FOURCC_I420: | ||
115 | + sampler_loc = glGetUniformLocation(glamor_priv->xv_prog.prog, "v_sampler"); | ||
116 | + glUniform1i(sampler_loc, 2); | ||
117 | + break; | ||
118 | + case FOURCC_NV12: | ||
119 | + break; | ||
120 | + default: | ||
121 | + break; | ||
122 | + } | ||
123 | |||
124 | } | ||
125 | |||
126 | @@ -227,6 +283,21 @@ glamor_xv_query_image_attributes(int id, | ||
127 | offsets[2] = size; | ||
128 | size += tmp; | ||
129 | break; | ||
130 | + case FOURCC_NV12: | ||
131 | + *w = ALIGN(*w, 2); | ||
132 | + *h = ALIGN(*h, 2); | ||
133 | + size = ALIGN(*w, 4); | ||
134 | + if (pitches) | ||
135 | + pitches[0] = size; | ||
136 | + size *= *h; | ||
137 | + if (offsets) | ||
138 | + offsets[1] = offsets[2] = size; | ||
139 | + tmp = ALIGN(*w, 4); | ||
140 | + if (pitches) | ||
141 | + pitches[1] = pitches[2] = tmp; | ||
142 | + tmp *= (*h >> 1); | ||
143 | + size += tmp; | ||
144 | + break; | ||
145 | } | ||
146 | return size; | ||
147 | } | ||
148 | @@ -240,7 +311,7 @@ static REF_TRANSFORM trans[2] = { | ||
149 | }; | ||
150 | |||
151 | void | ||
152 | -glamor_xv_render(glamor_port_private *port_priv) | ||
153 | +glamor_xv_render(glamor_port_private *port_priv, int id) | ||
154 | { | ||
155 | ScreenPtr screen = port_priv->pPixmap->drawable.pScreen; | ||
156 | glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
157 | @@ -264,7 +335,7 @@ glamor_xv_render(glamor_port_private *port_priv) | ||
158 | int dst_box_index; | ||
159 | |||
160 | if (!glamor_priv->xv_prog.prog) | ||
161 | - glamor_init_xv_shader(screen); | ||
162 | + glamor_init_xv_shader(screen, id); | ||
163 | |||
164 | cont = RTFContrast(port_priv->contrast); | ||
165 | bright = RTFBrightness(port_priv->brightness); | ||
166 | @@ -293,6 +364,8 @@ glamor_xv_render(glamor_port_private *port_priv) | ||
167 | glamor_get_pixmap_private(port_priv->src_pix[i]); | ||
168 | pixmap_priv_get_scale(src_pixmap_priv[i], &src_xscale[i], | ||
169 | &src_yscale[i]); | ||
170 | + } else { | ||
171 | + src_pixmap_priv[i] = NULL; | ||
172 | } | ||
173 | } | ||
174 | glamor_make_current(glamor_priv); | ||
175 | @@ -319,12 +392,21 @@ glamor_xv_render(glamor_port_private *port_priv) | ||
176 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | ||
177 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | ||
178 | |||
179 | - glActiveTexture(GL_TEXTURE2); | ||
180 | - glBindTexture(GL_TEXTURE_2D, src_pixmap_priv[2]->fbo->tex); | ||
181 | - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||
182 | - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||
183 | - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | ||
184 | - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | ||
185 | + switch (id) { | ||
186 | + case FOURCC_YV12: | ||
187 | + case FOURCC_I420: | ||
188 | + glActiveTexture(GL_TEXTURE2); | ||
189 | + glBindTexture(GL_TEXTURE_2D, src_pixmap_priv[2]->fbo->tex); | ||
190 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); | ||
191 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); | ||
192 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); | ||
193 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); | ||
194 | + break; | ||
195 | + case FOURCC_NV12: | ||
196 | + break; | ||
197 | + default: | ||
198 | + break; | ||
199 | + } | ||
200 | |||
201 | glEnableVertexAttribArray(GLAMOR_VERTEX_POS); | ||
202 | glEnableVertexAttribArray(GLAMOR_VERTEX_SOURCE); | ||
203 | @@ -336,7 +418,7 @@ glamor_xv_render(glamor_port_private *port_priv) | ||
204 | /* Set up a single primitive covering the area being drawn. We'll | ||
205 | * clip it to port_priv->clip using GL scissors instead of just | ||
206 | * emitting a GL_QUAD per box, because this way we hopefully avoid | ||
207 | - * diagonal tearing between the two trangles used to rasterize a | ||
208 | + * diagonal tearing between the two triangles used to rasterize a | ||
209 | * GL_QUAD. | ||
210 | */ | ||
211 | i = 0; | ||
212 | @@ -417,6 +499,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, | ||
213 | RegionPtr clipBoxes) | ||
214 | { | ||
215 | ScreenPtr pScreen = pDrawable->pScreen; | ||
216 | + glamor_screen_private *glamor_priv = glamor_get_screen_private(pScreen); | ||
217 | int srcPitch, srcPitch2; | ||
218 | int top, nlines; | ||
219 | int s2offset, s3offset, tmp; | ||
220 | @@ -425,9 +508,16 @@ glamor_xv_put_image(glamor_port_private *port_priv, | ||
221 | s2offset = s3offset = srcPitch2 = 0; | ||
222 | |||
223 | if (!port_priv->src_pix[0] || | ||
224 | - (width != port_priv->src_pix_w || height != port_priv->src_pix_h)) { | ||
225 | + (width != port_priv->src_pix_w || height != port_priv->src_pix_h) || | ||
226 | + (port_priv->src_pix[2] && id == FOURCC_NV12) || | ||
227 | + (!port_priv->src_pix[2] && id != FOURCC_NV12)) { | ||
228 | int i; | ||
229 | |||
230 | + if (glamor_priv->xv_prog.prog) { | ||
231 | + glDeleteProgram(glamor_priv->xv_prog.prog); | ||
232 | + glamor_priv->xv_prog.prog = 0; | ||
233 | + } | ||
234 | + | ||
235 | for (i = 0; i < 3; i++) | ||
236 | if (port_priv->src_pix[i]) | ||
237 | glamor_destroy_pixmap(port_priv->src_pix[i]); | ||
238 | @@ -435,17 +525,34 @@ glamor_xv_put_image(glamor_port_private *port_priv, | ||
239 | port_priv->src_pix[0] = | ||
240 | glamor_create_pixmap(pScreen, width, height, 8, | ||
241 | GLAMOR_CREATE_FBO_NO_FBO); | ||
242 | - port_priv->src_pix[1] = | ||
243 | - glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, | ||
244 | - GLAMOR_CREATE_FBO_NO_FBO); | ||
245 | - port_priv->src_pix[2] = | ||
246 | - glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, | ||
247 | - GLAMOR_CREATE_FBO_NO_FBO); | ||
248 | + | ||
249 | + switch (id) { | ||
250 | + case FOURCC_YV12: | ||
251 | + case FOURCC_I420: | ||
252 | + port_priv->src_pix[1] = | ||
253 | + glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, | ||
254 | + GLAMOR_CREATE_FBO_NO_FBO); | ||
255 | + port_priv->src_pix[2] = | ||
256 | + glamor_create_pixmap(pScreen, width >> 1, height >> 1, 8, | ||
257 | + GLAMOR_CREATE_FBO_NO_FBO); | ||
258 | + if (!port_priv->src_pix[2]) | ||
259 | + return BadAlloc; | ||
260 | + break; | ||
261 | + case FOURCC_NV12: | ||
262 | + port_priv->src_pix[1] = | ||
263 | + glamor_create_pixmap(pScreen, width >> 1, height >> 1, 16, | ||
264 | + GLAMOR_CREATE_FBO_NO_FBO | | ||
265 | + GLAMOR_CREATE_FORMAT_CBCR); | ||
266 | + port_priv->src_pix[2] = NULL; | ||
267 | + break; | ||
268 | + default: | ||
269 | + return BadMatch; | ||
270 | + } | ||
271 | + | ||
272 | port_priv->src_pix_w = width; | ||
273 | port_priv->src_pix_h = height; | ||
274 | |||
275 | - if (!port_priv->src_pix[0] || !port_priv->src_pix[1] || | ||
276 | - !port_priv->src_pix[2]) | ||
277 | + if (!port_priv->src_pix[0] || !port_priv->src_pix[1]) | ||
278 | return BadAlloc; | ||
279 | } | ||
280 | |||
281 | @@ -489,6 +596,29 @@ glamor_xv_put_image(glamor_port_private *port_priv, | ||
282 | 0, 0, 0, 0, | ||
283 | buf + s3offset, srcPitch2); | ||
284 | break; | ||
285 | + case FOURCC_NV12: | ||
286 | + srcPitch = ALIGN(width, 4); | ||
287 | + s2offset = srcPitch * height; | ||
288 | + s2offset += ((top >> 1) * srcPitch); | ||
289 | + | ||
290 | + full_box.x1 = 0; | ||
291 | + full_box.y1 = 0; | ||
292 | + full_box.x2 = width; | ||
293 | + full_box.y2 = nlines; | ||
294 | + | ||
295 | + half_box.x1 = 0; | ||
296 | + half_box.y1 = 0; | ||
297 | + half_box.x2 = width; | ||
298 | + half_box.y2 = (nlines + 1) >> 1; | ||
299 | + | ||
300 | + glamor_upload_boxes(port_priv->src_pix[0], &full_box, 1, | ||
301 | + 0, 0, 0, 0, | ||
302 | + buf + (top * srcPitch), srcPitch); | ||
303 | + | ||
304 | + glamor_upload_boxes(port_priv->src_pix[1], &half_box, 1, | ||
305 | + 0, 0, 0, 0, | ||
306 | + buf + s2offset, srcPitch); | ||
307 | + break; | ||
308 | default: | ||
309 | return BadMatch; | ||
310 | } | ||
311 | @@ -511,7 +641,7 @@ glamor_xv_put_image(glamor_port_private *port_priv, | ||
312 | port_priv->w = width; | ||
313 | port_priv->h = height; | ||
314 | port_priv->pDraw = pDrawable; | ||
315 | - glamor_xv_render(port_priv); | ||
316 | + glamor_xv_render(port_priv, id); | ||
317 | return Success; | ||
318 | } | ||
319 | |||
320 | -- | ||
321 | 2.17.1 | ||
322 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch deleted file mode 100644 index c116576f..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0004-glamor-Remove-unused-format_for_pixmap-helper.patch +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | From 69892ca6a623057ed4e3be0c22cb7fd812425024 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> | ||
3 | Date: Wed, 19 Dec 2018 10:11:22 +0100 | ||
4 | Subject: [PATCH 4/8] glamor: Remove unused format_for_pixmap helper | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | Reviewed-by: Eric Anholt <eric@anholt.net> | ||
8 | --- | ||
9 | glamor/glamor_utils.h | 6 ------ | ||
10 | 1 file changed, 6 deletions(-) | ||
11 | |||
12 | diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h | ||
13 | index 1890c1fe5..8a147ca7e 100644 | ||
14 | --- a/glamor/glamor_utils.h | ||
15 | +++ b/glamor/glamor_utils.h | ||
16 | @@ -629,12 +629,6 @@ gl_iformat_for_pixmap(PixmapPtr pixmap) | ||
17 | } | ||
18 | } | ||
19 | |||
20 | -static inline CARD32 | ||
21 | -format_for_pixmap(PixmapPtr pixmap) | ||
22 | -{ | ||
23 | - return format_for_depth((pixmap)->drawable.depth); | ||
24 | -} | ||
25 | - | ||
26 | #define REVERT_NONE 0 | ||
27 | #define REVERT_NORMAL 1 | ||
28 | #define REVERT_UPLOADING_A1 3 | ||
29 | -- | ||
30 | 2.17.1 | ||
31 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch deleted file mode 100644 index 9a0aa7ab..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch +++ /dev/null | |||
@@ -1,132 +0,0 @@ | |||
1 | From 2498f6712c3b551c4d8104628aff78246b5cd6c8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Anholt <eric@anholt.net> | ||
3 | Date: Tue, 26 Mar 2019 15:58:59 -0700 | ||
4 | Subject: [PATCH 5/8] glamor: Stop trying to store the pixmap's "format" in | ||
5 | glamor_pixmap_fbo. | ||
6 | |||
7 | "format" is a bit of a confused term (internalformat vs GL format), | ||
8 | and all we really needed was "is this GL_RED?" | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | Signed-off-by: Eric Anholt <eric@anholt.net> | ||
12 | --- | ||
13 | glamor/glamor.c | 3 +-- | ||
14 | glamor/glamor_fbo.c | 7 ++++--- | ||
15 | glamor/glamor_priv.h | 13 ++----------- | ||
16 | glamor/glamor_render.c | 2 +- | ||
17 | glamor/glamor_transfer.c | 2 +- | ||
18 | 5 files changed, 9 insertions(+), 18 deletions(-) | ||
19 | |||
20 | diff --git a/glamor/glamor.c b/glamor/glamor.c | ||
21 | index 3e9cf284c..c36b6ea74 100644 | ||
22 | --- a/glamor/glamor.c | ||
23 | +++ b/glamor/glamor.c | ||
24 | @@ -184,8 +184,7 @@ glamor_bind_texture(glamor_screen_private *glamor_priv, GLenum texture, | ||
25 | /* Is the operand a GL_RED fbo? | ||
26 | */ | ||
27 | |||
28 | - if (glamor_fbo_red_is_alpha(glamor_priv, fbo)) { | ||
29 | - | ||
30 | + if (fbo->is_red) { | ||
31 | /* If destination is also GL_RED, then preserve the bits in | ||
32 | * the R channel */ | ||
33 | |||
34 | diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c | ||
35 | index f939a6c2f..58eb97bf4 100644 | ||
36 | --- a/glamor/glamor_fbo.c | ||
37 | +++ b/glamor/glamor_fbo.c | ||
38 | @@ -95,7 +95,7 @@ glamor_pixmap_ensure_fb(glamor_screen_private *glamor_priv, | ||
39 | |||
40 | glamor_pixmap_fbo * | ||
41 | glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
42 | - int w, int h, GLenum format, GLint tex, int flag) | ||
43 | + int w, int h, Bool is_red, GLint tex, int flag) | ||
44 | { | ||
45 | glamor_pixmap_fbo *fbo; | ||
46 | |||
47 | @@ -106,7 +106,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
48 | fbo->tex = tex; | ||
49 | fbo->width = w; | ||
50 | fbo->height = h; | ||
51 | - fbo->format = format; | ||
52 | + fbo->is_red = is_red; | ||
53 | |||
54 | if (flag != GLAMOR_CREATE_FBO_NO_FBO) { | ||
55 | if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) { | ||
56 | @@ -163,7 +163,8 @@ glamor_create_fbo(glamor_screen_private *glamor_priv, | ||
57 | if (!tex) /* Texture creation failed due to GL_OUT_OF_MEMORY */ | ||
58 | return NULL; | ||
59 | |||
60 | - return glamor_create_fbo_from_tex(glamor_priv, w, h, format, tex, flag); | ||
61 | + return glamor_create_fbo_from_tex(glamor_priv, w, h, format == GL_RED, | ||
62 | + tex, flag); | ||
63 | } | ||
64 | |||
65 | /** | ||
66 | diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h | ||
67 | index a14aaf624..e70d349da 100644 | ||
68 | --- a/glamor/glamor_priv.h | ||
69 | +++ b/glamor/glamor_priv.h | ||
70 | @@ -317,8 +317,7 @@ typedef struct glamor_pixmap_fbo { | ||
71 | GLuint fb; /**< GL FBO name */ | ||
72 | int width; /**< width in pixels */ | ||
73 | int height; /**< height in pixels */ | ||
74 | - GLenum format; /**< GL format used to create the texture. */ | ||
75 | - GLenum type; /**< GL type used to create the texture. */ | ||
76 | + Bool is_red; | ||
77 | } glamor_pixmap_fbo; | ||
78 | |||
79 | typedef struct glamor_pixmap_clipped_regions { | ||
80 | @@ -533,7 +532,7 @@ glamor_pixmap_fbo *glamor_pixmap_detach_fbo(glamor_pixmap_private * | ||
81 | void glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo); | ||
82 | glamor_pixmap_fbo *glamor_create_fbo_from_tex(glamor_screen_private * | ||
83 | glamor_priv, int w, int h, | ||
84 | - GLenum format, GLint tex, | ||
85 | + Bool is_red, GLint tex, | ||
86 | int flag); | ||
87 | glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv, int w, | ||
88 | int h, GLenum format, int flag); | ||
89 | @@ -549,14 +548,6 @@ static inline Bool glamor_picture_is_alpha(PicturePtr picture) | ||
90 | return picture->format == PICT_a1 || picture->format == PICT_a8; | ||
91 | } | ||
92 | |||
93 | -/* Return whether 'fbo' is storing alpha bits in the red channel */ | ||
94 | -static inline Bool | ||
95 | -glamor_fbo_red_is_alpha(glamor_screen_private *glamor_priv, glamor_pixmap_fbo *fbo) | ||
96 | -{ | ||
97 | - /* True when the format is GL_RED (that can only happen when our one channel format is GL_RED */ | ||
98 | - return fbo->format == GL_RED; | ||
99 | -} | ||
100 | - | ||
101 | /* Return whether 'picture' is storing alpha bits in the red channel */ | ||
102 | static inline Bool | ||
103 | glamor_picture_red_is_alpha(PicturePtr picture) | ||
104 | diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c | ||
105 | index d5737018f..6db6bfbc3 100644 | ||
106 | --- a/glamor/glamor_render.c | ||
107 | +++ b/glamor/glamor_render.c | ||
108 | @@ -529,7 +529,7 @@ glamor_set_composite_texture(glamor_screen_private *glamor_priv, int unit, | ||
109 | * sometimes get zero bits in the R channel, which is harmless. | ||
110 | */ | ||
111 | glamor_bind_texture(glamor_priv, GL_TEXTURE0 + unit, fbo, | ||
112 | - glamor_fbo_red_is_alpha(glamor_priv, dest_priv->fbo)); | ||
113 | + dest_priv->fbo->is_red); | ||
114 | repeat_type = picture->repeatType; | ||
115 | switch (picture->repeatType) { | ||
116 | case RepeatNone: | ||
117 | diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c | ||
118 | index 421ed3a5f..215752d7b 100644 | ||
119 | --- a/glamor/glamor_transfer.c | ||
120 | +++ b/glamor/glamor_transfer.c | ||
121 | @@ -40,7 +40,7 @@ glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type) | ||
122 | break; | ||
123 | case 16: | ||
124 | if (priv->is_cbcr) { | ||
125 | - *format = priv->fbo->format; | ||
126 | + *format = GL_RG; | ||
127 | *type = GL_UNSIGNED_BYTE; | ||
128 | } else { | ||
129 | *format = GL_RGB; | ||
130 | -- | ||
131 | 2.17.1 | ||
132 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch deleted file mode 100644 index 66d2877c..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch +++ /dev/null | |||
@@ -1,265 +0,0 @@ | |||
1 | From 3c14a16e1b4277aa00a2b23d5758d99dc20ca819 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Anholt <eric@anholt.net> | ||
3 | Date: Tue, 26 Mar 2019 16:57:24 -0700 | ||
4 | Subject: [PATCH 6/8] glamor: Plumb the pixmap through fbo creation instead of | ||
5 | a "format" | ||
6 | |||
7 | For GLES, we're going to need a lot more logic for picking the | ||
8 | iformat/format/type of texture setup, so we'll want the pixmap's depth | ||
9 | and is_cbcr flag. | ||
10 | |||
11 | Upstream-Status: Backport | ||
12 | Signed-off-by: Eric Anholt <eric@anholt.net> | ||
13 | --- | ||
14 | glamor/glamor.c | 20 +++++++------------- | ||
15 | glamor/glamor_fbo.c | 33 +++++++++++++++++++-------------- | ||
16 | glamor/glamor_picture.c | 2 +- | ||
17 | glamor/glamor_priv.h | 12 ++++++------ | ||
18 | 4 files changed, 33 insertions(+), 34 deletions(-) | ||
19 | |||
20 | diff --git a/glamor/glamor.c b/glamor/glamor.c | ||
21 | index c36b6ea74..f618c2128 100644 | ||
22 | --- a/glamor/glamor.c | ||
23 | +++ b/glamor/glamor.c | ||
24 | @@ -106,7 +106,6 @@ glamor_set_pixmap_texture(PixmapPtr pixmap, unsigned int tex) | ||
25 | glamor_pixmap_private *pixmap_priv; | ||
26 | glamor_screen_private *glamor_priv; | ||
27 | glamor_pixmap_fbo *fbo; | ||
28 | - GLenum format; | ||
29 | |||
30 | glamor_priv = glamor_get_screen_private(screen); | ||
31 | pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
32 | @@ -116,9 +115,9 @@ glamor_set_pixmap_texture(PixmapPtr pixmap, unsigned int tex) | ||
33 | glamor_destroy_fbo(glamor_priv, fbo); | ||
34 | } | ||
35 | |||
36 | - format = gl_iformat_for_pixmap(pixmap); | ||
37 | - fbo = glamor_create_fbo_from_tex(glamor_priv, pixmap->drawable.width, | ||
38 | - pixmap->drawable.height, format, tex, 0); | ||
39 | + fbo = glamor_create_fbo_from_tex(glamor_priv, pixmap, | ||
40 | + pixmap->drawable.width, | ||
41 | + pixmap->drawable.height, tex, 0); | ||
42 | |||
43 | if (fbo == NULL) { | ||
44 | ErrorF("XXX fail to create fbo.\n"); | ||
45 | @@ -204,7 +203,6 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, | ||
46 | glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
47 | glamor_pixmap_fbo *fbo = NULL; | ||
48 | int pitch; | ||
49 | - GLenum format; | ||
50 | |||
51 | if (w > 32767 || h > 32767) | ||
52 | return NullPixmap; | ||
53 | @@ -223,8 +221,6 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, | ||
54 | |||
55 | pixmap_priv->is_cbcr = (usage == GLAMOR_CREATE_FORMAT_CBCR); | ||
56 | |||
57 | - format = gl_iformat_for_pixmap(pixmap); | ||
58 | - | ||
59 | pitch = (((w * pixmap->drawable.bitsPerPixel + 7) / 8) + 3) & ~3; | ||
60 | screen->ModifyPixmapHeader(pixmap, w, h, 0, 0, pitch, NULL); | ||
61 | |||
62 | @@ -238,12 +234,12 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, | ||
63 | glamor_check_fbo_size(glamor_priv, w, h)) | ||
64 | { | ||
65 | glamor_init_pixmap_private_small(pixmap, pixmap_priv); | ||
66 | - fbo = glamor_create_fbo(glamor_priv, w, h, format, usage); | ||
67 | + fbo = glamor_create_fbo(glamor_priv, pixmap, w, h, usage); | ||
68 | } else { | ||
69 | int tile_size = glamor_priv->max_fbo_size; | ||
70 | DEBUGF("Create LARGE pixmap %p width %d height %d, tile size %d\n", | ||
71 | pixmap, w, h, tile_size); | ||
72 | - fbo = glamor_create_fbo_array(glamor_priv, w, h, format, usage, | ||
73 | + fbo = glamor_create_fbo_array(glamor_priv, pixmap, usage, | ||
74 | tile_size, tile_size, pixmap_priv); | ||
75 | } | ||
76 | |||
77 | @@ -860,8 +856,7 @@ _glamor_fds_from_pixmap(ScreenPtr screen, PixmapPtr pixmap, int *fds, | ||
78 | switch (pixmap_priv->type) { | ||
79 | case GLAMOR_TEXTURE_DRM: | ||
80 | case GLAMOR_TEXTURE_ONLY: | ||
81 | - if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ? | ||
82 | - GL_RGB10_A2 : GL_RGBA, 0)) | ||
83 | + if (!glamor_pixmap_ensure_fbo(pixmap, 0)) | ||
84 | return 0; | ||
85 | |||
86 | if (modifier) { | ||
87 | @@ -937,8 +932,7 @@ glamor_name_from_pixmap(PixmapPtr pixmap, CARD16 *stride, CARD32 *size) | ||
88 | switch (pixmap_priv->type) { | ||
89 | case GLAMOR_TEXTURE_DRM: | ||
90 | case GLAMOR_TEXTURE_ONLY: | ||
91 | - if (!glamor_pixmap_ensure_fbo(pixmap, pixmap->drawable.depth == 30 ? | ||
92 | - GL_RGB10_A2 : GL_RGBA, 0)) | ||
93 | + if (!glamor_pixmap_ensure_fbo(pixmap, 0)) | ||
94 | return -1; | ||
95 | return glamor_egl_fd_name_from_pixmap(pixmap->drawable.pScreen, | ||
96 | pixmap, stride, size); | ||
97 | diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c | ||
98 | index 58eb97bf4..75f7e2baa 100644 | ||
99 | --- a/glamor/glamor_fbo.c | ||
100 | +++ b/glamor/glamor_fbo.c | ||
101 | @@ -95,8 +95,9 @@ glamor_pixmap_ensure_fb(glamor_screen_private *glamor_priv, | ||
102 | |||
103 | glamor_pixmap_fbo * | ||
104 | glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
105 | - int w, int h, Bool is_red, GLint tex, int flag) | ||
106 | + PixmapPtr pixmap, int w, int h, GLint tex, int flag) | ||
107 | { | ||
108 | + GLenum format = gl_iformat_for_pixmap(pixmap); | ||
109 | glamor_pixmap_fbo *fbo; | ||
110 | |||
111 | fbo = calloc(1, sizeof(*fbo)); | ||
112 | @@ -106,7 +107,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
113 | fbo->tex = tex; | ||
114 | fbo->width = w; | ||
115 | fbo->height = h; | ||
116 | - fbo->is_red = is_red; | ||
117 | + fbo->is_red = format == GL_RED; | ||
118 | |||
119 | if (flag != GLAMOR_CREATE_FBO_NO_FBO) { | ||
120 | if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) { | ||
121 | @@ -120,13 +121,15 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
122 | |||
123 | static int | ||
124 | _glamor_create_tex(glamor_screen_private *glamor_priv, | ||
125 | - int w, int h, GLenum format) | ||
126 | + PixmapPtr pixmap, int w, int h) | ||
127 | { | ||
128 | + GLenum iformat = gl_iformat_for_pixmap(pixmap); | ||
129 | + GLenum format = iformat; | ||
130 | unsigned int tex; | ||
131 | - GLenum iformat = format; | ||
132 | |||
133 | if (format == GL_RGB10_A2) | ||
134 | format = GL_RGBA; | ||
135 | + | ||
136 | glamor_make_current(glamor_priv); | ||
137 | glGenTextures(1, &tex); | ||
138 | glBindTexture(GL_TEXTURE_2D, tex); | ||
139 | @@ -156,14 +159,14 @@ _glamor_create_tex(glamor_screen_private *glamor_priv, | ||
140 | |||
141 | glamor_pixmap_fbo * | ||
142 | glamor_create_fbo(glamor_screen_private *glamor_priv, | ||
143 | - int w, int h, GLenum format, int flag) | ||
144 | + PixmapPtr pixmap, int w, int h, int flag) | ||
145 | { | ||
146 | - GLint tex = _glamor_create_tex(glamor_priv, w, h, format); | ||
147 | + GLint tex = _glamor_create_tex(glamor_priv, pixmap, w, h); | ||
148 | |||
149 | if (!tex) /* Texture creation failed due to GL_OUT_OF_MEMORY */ | ||
150 | return NULL; | ||
151 | |||
152 | - return glamor_create_fbo_from_tex(glamor_priv, w, h, format == GL_RED, | ||
153 | + return glamor_create_fbo_from_tex(glamor_priv, pixmap, w, h, | ||
154 | tex, flag); | ||
155 | } | ||
156 | |||
157 | @@ -173,10 +176,12 @@ glamor_create_fbo(glamor_screen_private *glamor_priv, | ||
158 | */ | ||
159 | glamor_pixmap_fbo * | ||
160 | glamor_create_fbo_array(glamor_screen_private *glamor_priv, | ||
161 | - int w, int h, GLenum format, int flag, | ||
162 | + PixmapPtr pixmap, int flag, | ||
163 | int block_w, int block_h, | ||
164 | glamor_pixmap_private *priv) | ||
165 | { | ||
166 | + int w = pixmap->drawable.width; | ||
167 | + int h = pixmap->drawable.height; | ||
168 | int block_wcnt; | ||
169 | int block_hcnt; | ||
170 | glamor_pixmap_fbo **fbo_array; | ||
171 | @@ -216,8 +221,8 @@ glamor_create_fbo_array(glamor_screen_private *glamor_priv, | ||
172 | box_array[i * block_wcnt + j].x2 - box_array[i * block_wcnt + | ||
173 | j].x1; | ||
174 | fbo_array[i * block_wcnt + j] = glamor_create_fbo(glamor_priv, | ||
175 | + pixmap, | ||
176 | fbo_w, fbo_h, | ||
177 | - format, | ||
178 | GLAMOR_CREATE_PIXMAP_FIXUP); | ||
179 | if (fbo_array[i * block_wcnt + j] == NULL) | ||
180 | goto cleanup; | ||
181 | @@ -315,7 +320,7 @@ glamor_pixmap_destroy_fbo(PixmapPtr pixmap) | ||
182 | } | ||
183 | |||
184 | Bool | ||
185 | -glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag) | ||
186 | +glamor_pixmap_ensure_fbo(PixmapPtr pixmap, int flag) | ||
187 | { | ||
188 | glamor_screen_private *glamor_priv; | ||
189 | glamor_pixmap_private *pixmap_priv; | ||
190 | @@ -325,8 +330,8 @@ glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag) | ||
191 | pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
192 | if (pixmap_priv->fbo == NULL) { | ||
193 | |||
194 | - fbo = glamor_create_fbo(glamor_priv, pixmap->drawable.width, | ||
195 | - pixmap->drawable.height, format, flag); | ||
196 | + fbo = glamor_create_fbo(glamor_priv, pixmap, pixmap->drawable.width, | ||
197 | + pixmap->drawable.height, flag); | ||
198 | if (fbo == NULL) | ||
199 | return FALSE; | ||
200 | |||
201 | @@ -336,8 +341,8 @@ glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag) | ||
202 | /* We do have a fbo, but it may lack of fb or tex. */ | ||
203 | if (!pixmap_priv->fbo->tex) | ||
204 | pixmap_priv->fbo->tex = | ||
205 | - _glamor_create_tex(glamor_priv, pixmap->drawable.width, | ||
206 | - pixmap->drawable.height, format); | ||
207 | + _glamor_create_tex(glamor_priv, pixmap, pixmap->drawable.width, | ||
208 | + pixmap->drawable.height); | ||
209 | |||
210 | if (flag != GLAMOR_CREATE_FBO_NO_FBO && pixmap_priv->fbo->fb == 0) | ||
211 | if (glamor_pixmap_ensure_fb(glamor_priv, pixmap_priv->fbo) != 0) | ||
212 | diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c | ||
213 | index 685d8d618..e6d387d42 100644 | ||
214 | --- a/glamor/glamor_picture.c | ||
215 | +++ b/glamor/glamor_picture.c | ||
216 | @@ -340,7 +340,7 @@ glamor_upload_picture_to_texture(PicturePtr picture) | ||
217 | else | ||
218 | iformat = format; | ||
219 | |||
220 | - if (!glamor_pixmap_ensure_fbo(pixmap, iformat, GLAMOR_CREATE_FBO_NO_FBO)) { | ||
221 | + if (!glamor_pixmap_ensure_fbo(pixmap, GLAMOR_CREATE_FBO_NO_FBO)) { | ||
222 | ret = FALSE; | ||
223 | goto fail; | ||
224 | } | ||
225 | diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h | ||
226 | index e70d349da..a87caec9b 100644 | ||
227 | --- a/glamor/glamor_priv.h | ||
228 | +++ b/glamor/glamor_priv.h | ||
229 | @@ -531,11 +531,11 @@ glamor_pixmap_fbo *glamor_pixmap_detach_fbo(glamor_pixmap_private * | ||
230 | pixmap_priv); | ||
231 | void glamor_pixmap_attach_fbo(PixmapPtr pixmap, glamor_pixmap_fbo *fbo); | ||
232 | glamor_pixmap_fbo *glamor_create_fbo_from_tex(glamor_screen_private * | ||
233 | - glamor_priv, int w, int h, | ||
234 | - Bool is_red, GLint tex, | ||
235 | + glamor_priv, PixmapPtr pixmap, | ||
236 | + int w, int h, GLint tex, | ||
237 | int flag); | ||
238 | -glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv, int w, | ||
239 | - int h, GLenum format, int flag); | ||
240 | +glamor_pixmap_fbo *glamor_create_fbo(glamor_screen_private *glamor_priv, | ||
241 | + PixmapPtr pixmap, int w, int h, int flag); | ||
242 | void glamor_destroy_fbo(glamor_screen_private *glamor_priv, | ||
243 | glamor_pixmap_fbo *fbo); | ||
244 | void glamor_pixmap_destroy_fbo(PixmapPtr pixmap); | ||
245 | @@ -563,7 +563,7 @@ void glamor_bind_texture(glamor_screen_private *glamor_priv, | ||
246 | Bool destination_red); | ||
247 | |||
248 | glamor_pixmap_fbo *glamor_create_fbo_array(glamor_screen_private *glamor_priv, | ||
249 | - int w, int h, GLenum format, | ||
250 | + PixmapPtr pixmap, | ||
251 | int flag, int block_w, int block_h, | ||
252 | glamor_pixmap_private *); | ||
253 | |||
254 | @@ -673,7 +673,7 @@ glamor_put_vbo_space(ScreenPtr screen); | ||
255 | * the fbo has valid texture and attach to a valid fb. | ||
256 | * If the fbo already has a valid glfbo then do nothing. | ||
257 | */ | ||
258 | -Bool glamor_pixmap_ensure_fbo(PixmapPtr pixmap, GLenum format, int flag); | ||
259 | +Bool glamor_pixmap_ensure_fbo(PixmapPtr pixmap, int flag); | ||
260 | |||
261 | glamor_pixmap_clipped_regions * | ||
262 | glamor_compute_clipped_regions(PixmapPtr pixmap, | ||
263 | -- | ||
264 | 2.17.1 | ||
265 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch deleted file mode 100644 index f2947f32..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch +++ /dev/null | |||
@@ -1,287 +0,0 @@ | |||
1 | From 3a03576d672d24f19fdb930b08afde9a3a3f55da Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Anholt <eric@anholt.net> | ||
3 | Date: Tue, 26 Mar 2019 15:02:38 -0700 | ||
4 | Subject: [PATCH 7/8] glamor: Switch the gl_flavor to a boolean is_gles. | ||
5 | |||
6 | There are only 2 flavors we are distinguishing -- GL versions are | ||
7 | handled separately. | ||
8 | |||
9 | Upstream-Status: Backport | ||
10 | Signed-off-by: Eric Anholt <eric@anholt.net> | ||
11 | --- | ||
12 | glamor/glamor.c | 20 +++++++++----------- | ||
13 | glamor/glamor_picture.c | 22 +++++++++++----------- | ||
14 | glamor/glamor_pixmap.c | 2 +- | ||
15 | glamor/glamor_priv.h | 7 +------ | ||
16 | glamor/glamor_program.c | 2 +- | ||
17 | glamor/glamor_render.c | 2 +- | ||
18 | glamor/glamor_utils.h | 6 +++--- | ||
19 | 7 files changed, 27 insertions(+), 34 deletions(-) | ||
20 | |||
21 | diff --git a/glamor/glamor.c b/glamor/glamor.c | ||
22 | index f618c2128..019edbbb1 100644 | ||
23 | --- a/glamor/glamor.c | ||
24 | +++ b/glamor/glamor.c | ||
25 | @@ -505,10 +505,8 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
26 | |||
27 | glamor_make_current(glamor_priv); | ||
28 | |||
29 | - if (epoxy_is_desktop_gl()) | ||
30 | - glamor_priv->gl_flavor = GLAMOR_GL_DESKTOP; | ||
31 | - else | ||
32 | - glamor_priv->gl_flavor = GLAMOR_GL_ES2; | ||
33 | + if (!epoxy_is_desktop_gl()) | ||
34 | + glamor_priv->is_gles = TRUE; | ||
35 | |||
36 | gl_version = epoxy_gl_version(); | ||
37 | |||
38 | @@ -540,7 +538,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
39 | } | ||
40 | glamor_priv->glsl_version = glsl_major * 100 + glsl_minor; | ||
41 | |||
42 | - if (glamor_priv->gl_flavor == GLAMOR_GL_ES2) { | ||
43 | + if (glamor_priv->is_gles) { | ||
44 | /* Force us back to the base version of our programs on an ES | ||
45 | * context, anyway. Basically glamor only uses desktop 1.20 | ||
46 | * or 1.30 currently. 1.30's new features are also present in | ||
47 | @@ -564,7 +562,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
48 | * have support for it, with most of the ones lacking it being on | ||
49 | * Windows with Intel 4-series (G45) graphics or older. | ||
50 | */ | ||
51 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
52 | + if (!glamor_priv->is_gles) { | ||
53 | if (gl_version < 21) { | ||
54 | ErrorF("Require OpenGL version 2.1 or later.\n"); | ||
55 | goto fail; | ||
56 | @@ -610,7 +608,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
57 | } | ||
58 | |||
59 | glamor_priv->has_rw_pbo = FALSE; | ||
60 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) | ||
61 | + if (!glamor_priv->is_gles) | ||
62 | glamor_priv->has_rw_pbo = TRUE; | ||
63 | |||
64 | glamor_priv->has_khr_debug = epoxy_has_gl_extension("GL_KHR_debug"); | ||
65 | @@ -628,11 +626,11 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
66 | glamor_priv->has_nv_texture_barrier = | ||
67 | epoxy_has_gl_extension("GL_NV_texture_barrier"); | ||
68 | glamor_priv->has_unpack_subimage = | ||
69 | - glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP || | ||
70 | + !glamor_priv->is_gles || | ||
71 | epoxy_gl_version() >= 30 || | ||
72 | epoxy_has_gl_extension("GL_EXT_unpack_subimage"); | ||
73 | glamor_priv->has_pack_subimage = | ||
74 | - glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP || | ||
75 | + !glamor_priv->is_gles || | ||
76 | epoxy_gl_version() >= 30 || | ||
77 | epoxy_has_gl_extension("GL_NV_pack_subimage"); | ||
78 | glamor_priv->has_dual_blend = | ||
79 | @@ -643,7 +641,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
80 | |||
81 | glamor_setup_debug_output(screen); | ||
82 | |||
83 | - glamor_priv->use_quads = (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) && | ||
84 | + glamor_priv->use_quads = !glamor_priv->is_gles && | ||
85 | !glamor_priv->is_core_profile; | ||
86 | |||
87 | /* Driver-specific hack: Avoid using GL_QUADS on VC4, where | ||
88 | @@ -665,7 +663,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
89 | |||
90 | glamor_priv->has_texture_swizzle = | ||
91 | (epoxy_has_gl_extension("GL_ARB_texture_swizzle") || | ||
92 | - (glamor_priv->gl_flavor != GLAMOR_GL_DESKTOP && gl_version >= 30)); | ||
93 | + (glamor_priv->is_gles && gl_version >= 30)); | ||
94 | |||
95 | glamor_priv->one_channel_format = GL_ALPHA; | ||
96 | if (epoxy_has_gl_extension("GL_ARB_texture_rg") && | ||
97 | diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c | ||
98 | index e6d387d42..ed2decc83 100644 | ||
99 | --- a/glamor/glamor_picture.c | ||
100 | +++ b/glamor/glamor_picture.c | ||
101 | @@ -90,7 +90,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
102 | |||
103 | case PICT_b8g8r8x8: | ||
104 | case PICT_b8g8r8a8: | ||
105 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
106 | + if (!glamor_priv->is_gles) { | ||
107 | *tex_format = GL_BGRA; | ||
108 | *tex_type = GL_UNSIGNED_INT_8_8_8_8; | ||
109 | } else { | ||
110 | @@ -109,7 +109,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
111 | |||
112 | case PICT_x8r8g8b8: | ||
113 | case PICT_a8r8g8b8: | ||
114 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
115 | + if (!glamor_priv->is_gles) { | ||
116 | *tex_format = GL_BGRA; | ||
117 | *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV; | ||
118 | } else { | ||
119 | @@ -128,7 +128,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
120 | case PICT_x8b8g8r8: | ||
121 | case PICT_a8b8g8r8: | ||
122 | *tex_format = GL_RGBA; | ||
123 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
124 | + if (!glamor_priv->is_gles) { | ||
125 | *tex_type = GL_UNSIGNED_INT_8_8_8_8_REV; | ||
126 | } else { | ||
127 | *tex_format = GL_RGBA; | ||
128 | @@ -141,7 +141,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
129 | |||
130 | case PICT_x2r10g10b10: | ||
131 | case PICT_a2r10g10b10: | ||
132 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
133 | + if (!glamor_priv->is_gles) { | ||
134 | *tex_format = GL_BGRA; | ||
135 | *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV; | ||
136 | } else { | ||
137 | @@ -151,7 +151,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
138 | |||
139 | case PICT_x2b10g10r10: | ||
140 | case PICT_a2b10g10r10: | ||
141 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
142 | + if (!glamor_priv->is_gles) { | ||
143 | *tex_format = GL_RGBA; | ||
144 | *tex_type = GL_UNSIGNED_INT_2_10_10_10_REV; | ||
145 | } else { | ||
146 | @@ -165,7 +165,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
147 | break; | ||
148 | case PICT_b5g6r5: | ||
149 | *tex_format = GL_RGB; | ||
150 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
151 | + if (!glamor_priv->is_gles) { | ||
152 | *tex_type = GL_UNSIGNED_SHORT_5_6_5_REV; | ||
153 | } else { | ||
154 | *tex_type = GL_UNSIGNED_SHORT_5_6_5; | ||
155 | @@ -177,7 +177,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
156 | case PICT_x1b5g5r5: | ||
157 | case PICT_a1b5g5r5: | ||
158 | *tex_format = GL_RGBA; | ||
159 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
160 | + if (!glamor_priv->is_gles) { | ||
161 | *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; | ||
162 | } else { | ||
163 | return FALSE; | ||
164 | @@ -186,7 +186,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
165 | |||
166 | case PICT_x1r5g5b5: | ||
167 | case PICT_a1r5g5b5: | ||
168 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
169 | + if (!glamor_priv->is_gles) { | ||
170 | *tex_format = GL_BGRA; | ||
171 | *tex_type = GL_UNSIGNED_SHORT_1_5_5_5_REV; | ||
172 | } else { | ||
173 | @@ -201,7 +201,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
174 | |||
175 | case PICT_x4r4g4b4: | ||
176 | case PICT_a4r4g4b4: | ||
177 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
178 | + if (!glamor_priv->is_gles) { | ||
179 | *tex_format = GL_BGRA; | ||
180 | *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV; | ||
181 | } else { | ||
182 | @@ -213,7 +213,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
183 | |||
184 | case PICT_x4b4g4r4: | ||
185 | case PICT_a4b4g4r4: | ||
186 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) { | ||
187 | + if (!glamor_priv->is_gles) { | ||
188 | *tex_format = GL_RGBA; | ||
189 | *tex_type = GL_UNSIGNED_SHORT_4_4_4_4_REV; | ||
190 | } else { | ||
191 | @@ -335,7 +335,7 @@ glamor_upload_picture_to_texture(PicturePtr picture) | ||
192 | stride = pixman_image_get_stride(converted_image); | ||
193 | } | ||
194 | |||
195 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP) | ||
196 | + if (!glamor_priv->is_gles) | ||
197 | iformat = gl_iformat_for_pixmap(pixmap); | ||
198 | else | ||
199 | iformat = format; | ||
200 | diff --git a/glamor/glamor_pixmap.c b/glamor/glamor_pixmap.c | ||
201 | index 166bde509..9aa169cdc 100644 | ||
202 | --- a/glamor/glamor_pixmap.c | ||
203 | +++ b/glamor/glamor_pixmap.c | ||
204 | @@ -124,7 +124,7 @@ glamor_set_alu(ScreenPtr screen, unsigned char alu) | ||
205 | { | ||
206 | glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
207 | |||
208 | - if (glamor_priv->gl_flavor == GLAMOR_GL_ES2) { | ||
209 | + if (glamor_priv->is_gles) { | ||
210 | if (alu != GXcopy) | ||
211 | return FALSE; | ||
212 | else | ||
213 | diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h | ||
214 | index a87caec9b..8e8433ff3 100644 | ||
215 | --- a/glamor/glamor_priv.h | ||
216 | +++ b/glamor/glamor_priv.h | ||
217 | @@ -155,11 +155,6 @@ enum gradient_shader { | ||
218 | struct glamor_screen_private; | ||
219 | struct glamor_pixmap_private; | ||
220 | |||
221 | -enum glamor_gl_flavor { | ||
222 | - GLAMOR_GL_DESKTOP, // OPENGL API | ||
223 | - GLAMOR_GL_ES2 // OPENGL ES2.0 API | ||
224 | -}; | ||
225 | - | ||
226 | #define GLAMOR_COMPOSITE_VBO_VERT_CNT (64*1024) | ||
227 | |||
228 | struct glamor_saved_procs { | ||
229 | @@ -185,7 +180,7 @@ struct glamor_saved_procs { | ||
230 | }; | ||
231 | |||
232 | typedef struct glamor_screen_private { | ||
233 | - enum glamor_gl_flavor gl_flavor; | ||
234 | + Bool is_gles; | ||
235 | int glsl_version; | ||
236 | Bool has_pack_invert; | ||
237 | Bool has_fbo_blit; | ||
238 | diff --git a/glamor/glamor_program.c b/glamor/glamor_program.c | ||
239 | index 830deb38b..b0a9d07a4 100644 | ||
240 | --- a/glamor/glamor_program.c | ||
241 | +++ b/glamor/glamor_program.c | ||
242 | @@ -459,7 +459,7 @@ glamor_set_blend(CARD8 op, glamor_program_alpha alpha, PicturePtr dst) | ||
243 | break; | ||
244 | } | ||
245 | |||
246 | - if (glamor_priv->gl_flavor != GLAMOR_GL_ES2) | ||
247 | + if (!glamor_priv->is_gles) | ||
248 | glDisable(GL_COLOR_LOGIC_OP); | ||
249 | |||
250 | if (op == PictOpSrc) | ||
251 | diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c | ||
252 | index 6db6bfbc3..d3859e4d1 100644 | ||
253 | --- a/glamor/glamor_render.c | ||
254 | +++ b/glamor/glamor_render.c | ||
255 | @@ -1091,7 +1091,7 @@ glamor_composite_set_shader_blend(glamor_screen_private *glamor_priv, | ||
256 | } | ||
257 | } | ||
258 | |||
259 | - if (glamor_priv->gl_flavor != GLAMOR_GL_ES2) | ||
260 | + if (!glamor_priv->is_gles) | ||
261 | glDisable(GL_COLOR_LOGIC_OP); | ||
262 | |||
263 | if (op_info->source_blend == GL_ONE && op_info->dest_blend == GL_ZERO) { | ||
264 | diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h | ||
265 | index 8a147ca7e..cbb808294 100644 | ||
266 | --- a/glamor/glamor_utils.h | ||
267 | +++ b/glamor/glamor_utils.h | ||
268 | @@ -615,13 +615,13 @@ gl_iformat_for_pixmap(PixmapPtr pixmap) | ||
269 | glamor_get_screen_private((pixmap)->drawable.pScreen); | ||
270 | glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
271 | |||
272 | - if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
273 | + if (!glamor_priv->is_gles && | ||
274 | ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) { | ||
275 | return glamor_priv->one_channel_format; | ||
276 | - } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
277 | + } else if (!glamor_priv->is_gles && | ||
278 | (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) { | ||
279 | return GL_RG; | ||
280 | - } else if (glamor_priv->gl_flavor == GLAMOR_GL_DESKTOP && | ||
281 | + } else if (!glamor_priv->is_gles && | ||
282 | (pixmap)->drawable.depth == 30) { | ||
283 | return GL_RGB10_A2; | ||
284 | } else { | ||
285 | -- | ||
286 | 2.17.1 | ||
287 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch b/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch deleted file mode 100644 index dd82340a..00000000 --- a/recipes-graphics/xorg-xserver/xserver-xorg/0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch +++ /dev/null | |||
@@ -1,669 +0,0 @@ | |||
1 | From b75296bee6ab3578f3a13cfb6de5d77ec02b9047 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Anholt <eric@anholt.net> | ||
3 | Date: Tue, 26 Mar 2019 15:10:49 -0700 | ||
4 | Subject: [PATCH 8/8] glamor: Introduce a central place for our pixmap | ||
5 | format/type handling. | ||
6 | |||
7 | We had various helper functions trying to come up with the | ||
8 | internalformat/format/type/render formats for pixmaps, and it's much | ||
9 | nicer to just detect what those should be once at startup. This gives | ||
10 | us a chance to do the right thing for GLES. | ||
11 | |||
12 | It also, notably, fixes our format/type for depth 15 and 16 setup for | ||
13 | desktop GL, so that we actually allocate 16bpp (GL_RGB/565) on most | ||
14 | drivers instead of 32bpp (GL_RGB/UBYTE). | ||
15 | |||
16 | GLES still has regressions over desktop (2 regressions in llvmpipe | ||
17 | XTS, many in rendercheck), but I think this is a good baseline. | ||
18 | |||
19 | Upstream-Status: Backport | ||
20 | Signed-off-by: Eric Anholt <eric@anholt.net> | ||
21 | --- | ||
22 | glamor/glamor.c | 167 ++++++++++++++++++++++++++++++++++++-- | ||
23 | glamor/glamor_fbo.c | 16 ++-- | ||
24 | glamor/glamor_picture.c | 7 +- | ||
25 | glamor/glamor_priv.h | 22 ++++- | ||
26 | glamor/glamor_render.c | 7 +- | ||
27 | glamor/glamor_spans.c | 14 ++-- | ||
28 | glamor/glamor_transfer.c | 56 ++----------- | ||
29 | glamor/glamor_transfer.h | 3 - | ||
30 | glamor/glamor_transform.c | 5 +- | ||
31 | glamor/glamor_utils.h | 57 ------------- | ||
32 | 10 files changed, 209 insertions(+), 145 deletions(-) | ||
33 | |||
34 | diff --git a/glamor/glamor.c b/glamor/glamor.c | ||
35 | index 019edbbb1..3450113e0 100644 | ||
36 | --- a/glamor/glamor.c | ||
37 | +++ b/glamor/glamor.c | ||
38 | @@ -212,7 +212,7 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, | ||
39 | w <= glamor_priv->glyph_max_dim && | ||
40 | h <= glamor_priv->glyph_max_dim) | ||
41 | || (w == 0 && h == 0) | ||
42 | - || !glamor_check_pixmap_fbo_depth(depth))) | ||
43 | + || !glamor_priv->formats[depth].format)) | ||
44 | return fbCreatePixmap(screen, w, h, depth, usage); | ||
45 | else | ||
46 | pixmap = fbCreatePixmap(screen, 0, 0, depth, usage); | ||
47 | @@ -440,6 +440,165 @@ glamor_setup_debug_output(ScreenPtr screen) | ||
48 | glEnable(GL_DEBUG_OUTPUT); | ||
49 | } | ||
50 | |||
51 | +const struct glamor_format * | ||
52 | +glamor_format_for_pixmap(PixmapPtr pixmap) | ||
53 | +{ | ||
54 | + ScreenPtr pScreen = pixmap->drawable.pScreen; | ||
55 | + glamor_screen_private *glamor_priv = glamor_get_screen_private(pScreen); | ||
56 | + glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
57 | + | ||
58 | + if (pixmap_priv->is_cbcr) | ||
59 | + return &glamor_priv->cbcr_format; | ||
60 | + else | ||
61 | + return &glamor_priv->formats[pixmap->drawable.depth]; | ||
62 | +} | ||
63 | + | ||
64 | +static void | ||
65 | +glamor_add_format(ScreenPtr screen, int depth, CARD32 render_format, | ||
66 | + GLenum internalformat, GLenum format, GLenum type) | ||
67 | +{ | ||
68 | + glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
69 | + struct glamor_format *f = &glamor_priv->formats[depth]; | ||
70 | + | ||
71 | + /* If we're trying to run on GLES, make sure that we get the read | ||
72 | + * formats that we're expecting, since glamor_transfer relies on | ||
73 | + * them matching to get data back out. To avoid this limitation, we | ||
74 | + * would need to have a more general glReadPixels() path in | ||
75 | + * glamor_transfer that re-encoded the bits to the pixel format that | ||
76 | + * we intended after. | ||
77 | + * | ||
78 | + * Note that we can't just create a pixmap because we're in | ||
79 | + * screeninit. | ||
80 | + */ | ||
81 | + if (glamor_priv->is_gles) { | ||
82 | + unsigned fbo, tex; | ||
83 | + int read_format, read_type; | ||
84 | + GLenum status; | ||
85 | + | ||
86 | + glGenTextures(1, &tex); | ||
87 | + glBindTexture(GL_TEXTURE_2D, tex); | ||
88 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||
89 | + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||
90 | + glTexImage2D(GL_TEXTURE_2D, 0, internalformat, 1, 1, 0, | ||
91 | + format, type, NULL); | ||
92 | + | ||
93 | + glGenFramebuffers(1, &fbo); | ||
94 | + glBindFramebuffer(GL_FRAMEBUFFER, fbo); | ||
95 | + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, | ||
96 | + GL_TEXTURE_2D, tex, 0); | ||
97 | + status = glCheckFramebufferStatus(GL_FRAMEBUFFER); | ||
98 | + if (status != GL_FRAMEBUFFER_COMPLETE) { | ||
99 | + ErrorF("glamor: Test fbo for depth %d incomplete. " | ||
100 | + "Falling back to software.\n", depth); | ||
101 | + glDeleteTextures(1, &tex); | ||
102 | + glDeleteFramebuffers(1, &fbo); | ||
103 | + return; | ||
104 | + } | ||
105 | + | ||
106 | + glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_FORMAT, &read_format); | ||
107 | + glGetIntegerv(GL_IMPLEMENTATION_COLOR_READ_TYPE, &read_type); | ||
108 | + | ||
109 | + glDeleteTextures(1, &tex); | ||
110 | + glDeleteFramebuffers(1, &fbo); | ||
111 | + | ||
112 | + if (format != read_format || type != read_type) { | ||
113 | + ErrorF("glamor: Implementation returned 0x%x/0x%x read format/type " | ||
114 | + "for depth %d, expected 0x%x/0x%x. " | ||
115 | + "Falling back to software.\n", | ||
116 | + read_format, read_type, depth, format, type); | ||
117 | + return; | ||
118 | + } | ||
119 | + } | ||
120 | + | ||
121 | + f->depth = depth; | ||
122 | + f->render_format = render_format; | ||
123 | + f->internalformat = internalformat; | ||
124 | + f->format = format; | ||
125 | + f->type = type; | ||
126 | +} | ||
127 | + | ||
128 | +/* Set up the GL format/types that glamor will use for the various depths | ||
129 | + * | ||
130 | + * X11's pixel data doesn't have channels, but to store our data in GL | ||
131 | + * we have to pick some sort of format to move X11 pixel data in and | ||
132 | + * out with in glamor_transfer.c. For X11 core operations, other than | ||
133 | + * GL logic ops (non-GXcopy GC ops) what the driver chooses internally | ||
134 | + * doesn't matter as long as it doesn't drop any bits (we expect them | ||
135 | + * to generally expand, if anything). For Render, we can expect | ||
136 | + * clients to tend to render with PictFormats matching our channel | ||
137 | + * layouts here since ultimately X11 pixels tend to end up on the | ||
138 | + * screen. The render implementation will fall back to fb if the | ||
139 | + * channels don't match. | ||
140 | + * | ||
141 | + * Note that these formats don't affect what glamor_egl.c or | ||
142 | + * Xwayland's EGL layer choose for surfaces exposed through DRI or | ||
143 | + * scanout. For now, those layers need to match what we're choosing | ||
144 | + * here, or channels will end up swizzled around. Similarly, the | ||
145 | + * driver's visual masks also need to match what we're doing here. | ||
146 | + */ | ||
147 | +static void | ||
148 | +glamor_setup_formats(ScreenPtr screen) | ||
149 | +{ | ||
150 | + glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
151 | + | ||
152 | + /* Prefer r8 textures since they're required by GLES3 and core, | ||
153 | + * only falling back to a8 if we can't do them. | ||
154 | + */ | ||
155 | + if (glamor_priv->is_gles || epoxy_has_gl_extension("GL_ARB_texture_rg")) { | ||
156 | + glamor_add_format(screen, 8, PICT_a8, | ||
157 | + GL_R8, GL_RED, GL_UNSIGNED_BYTE); | ||
158 | + } else { | ||
159 | + glamor_add_format(screen, 8, PICT_a8, | ||
160 | + GL_ALPHA, GL_ALPHA, GL_UNSIGNED_BYTE); | ||
161 | + } | ||
162 | + | ||
163 | + if (glamor_priv->is_gles) { | ||
164 | + /* For 15bpp, GLES supports format/type RGBA/5551, rather than | ||
165 | + * bgra/1555_rev. GL_EXT_bgra lets the impl say the color | ||
166 | + * read format/type is bgra/1555 even if we had to create it | ||
167 | + * with rgba/5551, with Mesa does. That means we can't use | ||
168 | + * the same format/type for TexSubImage and readpixels. | ||
169 | + * | ||
170 | + * Instead, just store 16 bits using the trusted 565 path, and | ||
171 | + * disable render accel for now. | ||
172 | + */ | ||
173 | + glamor_add_format(screen, 15, PICT_x1r5g5b5, | ||
174 | + GL_RGB5_A1, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1); | ||
175 | + } else { | ||
176 | + glamor_add_format(screen, 15, PICT_x1r5g5b5, | ||
177 | + GL_RGBA, GL_BGRA, GL_UNSIGNED_SHORT_1_5_5_5_REV); | ||
178 | + } | ||
179 | + | ||
180 | + glamor_add_format(screen, 16, PICT_r5g6b5, | ||
181 | + GL_RGB, GL_RGB, GL_UNSIGNED_SHORT_5_6_5); | ||
182 | + | ||
183 | + if (glamor_priv->is_gles) { | ||
184 | + assert(X_BYTE_ORDER == X_LITTLE_ENDIAN); | ||
185 | + glamor_add_format(screen, 24, PICT_x8b8g8r8, | ||
186 | + GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE); | ||
187 | + glamor_add_format(screen, 32, PICT_a8b8g8r8, | ||
188 | + GL_RGBA8, GL_RGBA, GL_UNSIGNED_BYTE); | ||
189 | + } else { | ||
190 | + glamor_add_format(screen, 24, PICT_x8r8g8b8, | ||
191 | + GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV); | ||
192 | + glamor_add_format(screen, 32, PICT_a8r8g8b8, | ||
193 | + GL_RGBA, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV); | ||
194 | + } | ||
195 | + | ||
196 | + if (glamor_priv->is_gles) { | ||
197 | + glamor_add_format(screen, 30, PICT_x2b10g10r10, | ||
198 | + GL_RGB10_A2, GL_RGBA, GL_UNSIGNED_INT_2_10_10_10_REV); | ||
199 | + } else { | ||
200 | + glamor_add_format(screen, 30, PICT_x2r10g10b10, | ||
201 | + GL_RGB10_A2, GL_BGRA, GL_UNSIGNED_INT_2_10_10_10_REV); | ||
202 | + } | ||
203 | + | ||
204 | + glamor_priv->cbcr_format.depth = 16; | ||
205 | + glamor_priv->cbcr_format.internalformat = GL_RG8; | ||
206 | + glamor_priv->cbcr_format.format = GL_RG; | ||
207 | + glamor_priv->cbcr_format.type = GL_UNSIGNED_BYTE; | ||
208 | +} | ||
209 | + | ||
210 | /** Set up glamor for an already-configured GL context. */ | ||
211 | Bool | ||
212 | glamor_init(ScreenPtr screen, unsigned int flags) | ||
213 | @@ -665,11 +824,7 @@ glamor_init(ScreenPtr screen, unsigned int flags) | ||
214 | (epoxy_has_gl_extension("GL_ARB_texture_swizzle") || | ||
215 | (glamor_priv->is_gles && gl_version >= 30)); | ||
216 | |||
217 | - glamor_priv->one_channel_format = GL_ALPHA; | ||
218 | - if (epoxy_has_gl_extension("GL_ARB_texture_rg") && | ||
219 | - glamor_priv->has_texture_swizzle) { | ||
220 | - glamor_priv->one_channel_format = GL_RED; | ||
221 | - } | ||
222 | + glamor_setup_formats(screen); | ||
223 | |||
224 | glamor_set_debug_level(&glamor_debug_level); | ||
225 | |||
226 | diff --git a/glamor/glamor_fbo.c b/glamor/glamor_fbo.c | ||
227 | index 75f7e2baa..dfb3f754d 100644 | ||
228 | --- a/glamor/glamor_fbo.c | ||
229 | +++ b/glamor/glamor_fbo.c | ||
230 | @@ -97,7 +97,7 @@ glamor_pixmap_fbo * | ||
231 | glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
232 | PixmapPtr pixmap, int w, int h, GLint tex, int flag) | ||
233 | { | ||
234 | - GLenum format = gl_iformat_for_pixmap(pixmap); | ||
235 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
236 | glamor_pixmap_fbo *fbo; | ||
237 | |||
238 | fbo = calloc(1, sizeof(*fbo)); | ||
239 | @@ -107,7 +107,7 @@ glamor_create_fbo_from_tex(glamor_screen_private *glamor_priv, | ||
240 | fbo->tex = tex; | ||
241 | fbo->width = w; | ||
242 | fbo->height = h; | ||
243 | - fbo->is_red = format == GL_RED; | ||
244 | + fbo->is_red = f->format == GL_RED; | ||
245 | |||
246 | if (flag != GLAMOR_CREATE_FBO_NO_FBO) { | ||
247 | if (glamor_pixmap_ensure_fb(glamor_priv, fbo) != 0) { | ||
248 | @@ -123,23 +123,19 @@ static int | ||
249 | _glamor_create_tex(glamor_screen_private *glamor_priv, | ||
250 | PixmapPtr pixmap, int w, int h) | ||
251 | { | ||
252 | - GLenum iformat = gl_iformat_for_pixmap(pixmap); | ||
253 | - GLenum format = iformat; | ||
254 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
255 | unsigned int tex; | ||
256 | |||
257 | - if (format == GL_RGB10_A2) | ||
258 | - format = GL_RGBA; | ||
259 | - | ||
260 | glamor_make_current(glamor_priv); | ||
261 | glGenTextures(1, &tex); | ||
262 | glBindTexture(GL_TEXTURE_2D, tex); | ||
263 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); | ||
264 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); | ||
265 | - if (format == glamor_priv->one_channel_format && format == GL_RED) | ||
266 | + if (f->format == GL_RED) | ||
267 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_RED); | ||
268 | glamor_priv->suppress_gl_out_of_memory_logging = true; | ||
269 | - glTexImage2D(GL_TEXTURE_2D, 0, iformat, w, h, 0, | ||
270 | - format, GL_UNSIGNED_BYTE, NULL); | ||
271 | + glTexImage2D(GL_TEXTURE_2D, 0, f->internalformat, w, h, 0, | ||
272 | + f->format, f->type, NULL); | ||
273 | glamor_priv->suppress_gl_out_of_memory_logging = false; | ||
274 | |||
275 | if (glGetError() == GL_OUT_OF_MEMORY) { | ||
276 | diff --git a/glamor/glamor_picture.c b/glamor/glamor_picture.c | ||
277 | index ed2decc83..33b3bebd9 100644 | ||
278 | --- a/glamor/glamor_picture.c | ||
279 | +++ b/glamor/glamor_picture.c | ||
280 | @@ -83,7 +83,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
281 | |||
282 | switch (format) { | ||
283 | case PICT_a1: | ||
284 | - *tex_format = glamor_priv->one_channel_format; | ||
285 | + *tex_format = glamor_priv->formats[1].format; | ||
286 | *tex_type = GL_UNSIGNED_BYTE; | ||
287 | *temp_format = PICT_a8; | ||
288 | break; | ||
289 | @@ -195,7 +195,7 @@ glamor_get_tex_format_type_from_pictformat(ScreenPtr pScreen, | ||
290 | break; | ||
291 | |||
292 | case PICT_a8: | ||
293 | - *tex_format = glamor_priv->one_channel_format; | ||
294 | + *tex_format = glamor_priv->formats[8].format; | ||
295 | *tex_type = GL_UNSIGNED_BYTE; | ||
296 | break; | ||
297 | |||
298 | @@ -286,6 +286,7 @@ glamor_upload_picture_to_texture(PicturePtr picture) | ||
299 | Bool ret = TRUE; | ||
300 | Bool needs_swizzle; | ||
301 | pixman_image_t *converted_image = NULL; | ||
302 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
303 | |||
304 | assert(glamor_pixmap_is_memory(pixmap)); | ||
305 | assert(!pixmap_priv->fbo); | ||
306 | @@ -336,7 +337,7 @@ glamor_upload_picture_to_texture(PicturePtr picture) | ||
307 | } | ||
308 | |||
309 | if (!glamor_priv->is_gles) | ||
310 | - iformat = gl_iformat_for_pixmap(pixmap); | ||
311 | + iformat = f->internalformat; | ||
312 | else | ||
313 | iformat = format; | ||
314 | |||
315 | diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h | ||
316 | index 8e8433ff3..b8e2b932e 100644 | ||
317 | --- a/glamor/glamor_priv.h | ||
318 | +++ b/glamor/glamor_priv.h | ||
319 | @@ -157,6 +157,21 @@ struct glamor_pixmap_private; | ||
320 | |||
321 | #define GLAMOR_COMPOSITE_VBO_VERT_CNT (64*1024) | ||
322 | |||
323 | +struct glamor_format { | ||
324 | + /** X Server's "depth" value */ | ||
325 | + int depth; | ||
326 | + /** GL internalformat for creating textures of this type */ | ||
327 | + GLenum internalformat; | ||
328 | + /** GL format transferring pixels in/out of textures of this type. */ | ||
329 | + GLenum format; | ||
330 | + /** GL type transferring pixels in/out of textures of this type. */ | ||
331 | + GLenum type; | ||
332 | + /* Render PICT_* matching GL's channel layout for pixels | ||
333 | + * transferred using format/type. | ||
334 | + */ | ||
335 | + CARD32 render_format; | ||
336 | +}; | ||
337 | + | ||
338 | struct glamor_saved_procs { | ||
339 | CloseScreenProcPtr close_screen; | ||
340 | CreateGCProcPtr create_gc; | ||
341 | @@ -199,7 +214,8 @@ typedef struct glamor_screen_private { | ||
342 | Bool can_copyplane; | ||
343 | int max_fbo_size; | ||
344 | |||
345 | - GLuint one_channel_format; | ||
346 | + struct glamor_format formats[33]; | ||
347 | + struct glamor_format cbcr_format; | ||
348 | |||
349 | /* glamor point shader */ | ||
350 | glamor_program point_prog; | ||
351 | @@ -537,6 +553,8 @@ void glamor_pixmap_destroy_fbo(PixmapPtr pixmap); | ||
352 | Bool glamor_pixmap_fbo_fixup(ScreenPtr screen, PixmapPtr pixmap); | ||
353 | void glamor_pixmap_clear_fbo(glamor_screen_private *glamor_priv, glamor_pixmap_fbo *fbo); | ||
354 | |||
355 | +const struct glamor_format *glamor_format_for_pixmap(PixmapPtr pixmap); | ||
356 | + | ||
357 | /* Return whether 'picture' is alpha-only */ | ||
358 | static inline Bool glamor_picture_is_alpha(PicturePtr picture) | ||
359 | { | ||
360 | @@ -549,7 +567,7 @@ glamor_picture_red_is_alpha(PicturePtr picture) | ||
361 | { | ||
362 | /* True when the picture is alpha only and the screen is using GL_RED for alpha pictures */ | ||
363 | return glamor_picture_is_alpha(picture) && | ||
364 | - glamor_get_screen_private(picture->pDrawable->pScreen)->one_channel_format == GL_RED; | ||
365 | + glamor_get_screen_private(picture->pDrawable->pScreen)->formats[8].format == GL_RED; | ||
366 | } | ||
367 | |||
368 | void glamor_bind_texture(glamor_screen_private *glamor_priv, | ||
369 | diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c | ||
370 | index d3859e4d1..a8dc3924b 100644 | ||
371 | --- a/glamor/glamor_render.c | ||
372 | +++ b/glamor/glamor_render.c | ||
373 | @@ -772,12 +772,15 @@ static Bool | ||
374 | glamor_render_format_is_supported(PicturePtr picture) | ||
375 | { | ||
376 | PictFormatShort storage_format; | ||
377 | + glamor_screen_private *glamor_priv; | ||
378 | |||
379 | /* Source-only pictures should always work */ | ||
380 | if (!picture->pDrawable) | ||
381 | return TRUE; | ||
382 | |||
383 | - storage_format = format_for_depth(picture->pDrawable->depth); | ||
384 | + glamor_priv = glamor_get_screen_private(picture->pDrawable->pScreen); | ||
385 | + storage_format = | ||
386 | + glamor_priv->formats[picture->pDrawable->depth].render_format; | ||
387 | |||
388 | switch (picture->format) { | ||
389 | case PICT_x2r10g10b10: | ||
390 | @@ -898,7 +901,7 @@ glamor_composite_choose_shader(CARD8 op, | ||
391 | } | ||
392 | |||
393 | if (dest_pixmap->drawable.bitsPerPixel <= 8 && | ||
394 | - glamor_priv->one_channel_format == GL_RED) { | ||
395 | + glamor_priv->formats[8].format == GL_RED) { | ||
396 | key.dest_swizzle = SHADER_DEST_SWIZZLE_ALPHA_TO_RED; | ||
397 | } else { | ||
398 | key.dest_swizzle = SHADER_DEST_SWIZZLE_DEFAULT; | ||
399 | diff --git a/glamor/glamor_spans.c b/glamor/glamor_spans.c | ||
400 | index b3c028d67..b5f297d2f 100644 | ||
401 | --- a/glamor/glamor_spans.c | ||
402 | +++ b/glamor/glamor_spans.c | ||
403 | @@ -187,9 +187,8 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax, | ||
404 | int box_index; | ||
405 | int n; | ||
406 | char *d; | ||
407 | - GLenum type; | ||
408 | - GLenum format; | ||
409 | int off_x, off_y; | ||
410 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
411 | |||
412 | pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
413 | if (!GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv)) | ||
414 | @@ -197,8 +196,6 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax, | ||
415 | |||
416 | glamor_get_drawable_deltas(drawable, pixmap, &off_x, &off_y); | ||
417 | |||
418 | - glamor_format_for_pixmap(pixmap, &format, &type); | ||
419 | - | ||
420 | glamor_make_current(glamor_priv); | ||
421 | |||
422 | glamor_pixmap_loop(pixmap_priv, box_index) { | ||
423 | @@ -234,7 +231,8 @@ glamor_get_spans_gl(DrawablePtr drawable, int wmax, | ||
424 | if (y >= box->y2) | ||
425 | continue; | ||
426 | |||
427 | - glReadPixels(x1 - box->x1, y - box->y1, x2 - x1, 1, format, type, l); | ||
428 | + glReadPixels(x1 - box->x1, y - box->y1, x2 - x1, 1, | ||
429 | + f->format, f->type, l); | ||
430 | } | ||
431 | } | ||
432 | |||
433 | @@ -269,11 +267,10 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src, | ||
434 | glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); | ||
435 | PixmapPtr pixmap = glamor_get_drawable_pixmap(drawable); | ||
436 | glamor_pixmap_private *pixmap_priv; | ||
437 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
438 | int box_index; | ||
439 | int n; | ||
440 | char *s; | ||
441 | - GLenum type; | ||
442 | - GLenum format; | ||
443 | int off_x, off_y; | ||
444 | |||
445 | pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
446 | @@ -287,7 +284,6 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src, | ||
447 | goto bail; | ||
448 | |||
449 | glamor_get_drawable_deltas(drawable, pixmap, &off_x, &off_y); | ||
450 | - glamor_format_for_pixmap(pixmap, &format, &type); | ||
451 | |||
452 | glamor_make_current(glamor_priv); | ||
453 | |||
454 | @@ -348,7 +344,7 @@ glamor_set_spans_gl(DrawablePtr drawable, GCPtr gc, char *src, | ||
455 | |||
456 | glTexSubImage2D(GL_TEXTURE_2D, 0, | ||
457 | x1 - box->x1, y1 - box->y1, x2 - x1, 1, | ||
458 | - format, type, | ||
459 | + f->format, f->type, | ||
460 | l); | ||
461 | } | ||
462 | s += PixmapBytePad(w, drawable->depth); | ||
463 | diff --git a/glamor/glamor_transfer.c b/glamor/glamor_transfer.c | ||
464 | index 215752d7b..e706e0fb4 100644 | ||
465 | --- a/glamor/glamor_transfer.c | ||
466 | +++ b/glamor/glamor_transfer.c | ||
467 | @@ -23,44 +23,6 @@ | ||
468 | #include "glamor_priv.h" | ||
469 | #include "glamor_transfer.h" | ||
470 | |||
471 | -/* XXX a kludge for now */ | ||
472 | -void | ||
473 | -glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type) | ||
474 | -{ | ||
475 | - glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap); | ||
476 | - switch (pixmap->drawable.depth) { | ||
477 | - case 24: | ||
478 | - case 32: | ||
479 | - *format = GL_BGRA; | ||
480 | - *type = GL_UNSIGNED_INT_8_8_8_8_REV; | ||
481 | - break; | ||
482 | - case 30: | ||
483 | - *format = GL_BGRA; | ||
484 | - *type = GL_UNSIGNED_INT_2_10_10_10_REV; | ||
485 | - break; | ||
486 | - case 16: | ||
487 | - if (priv->is_cbcr) { | ||
488 | - *format = GL_RG; | ||
489 | - *type = GL_UNSIGNED_BYTE; | ||
490 | - } else { | ||
491 | - *format = GL_RGB; | ||
492 | - *type = GL_UNSIGNED_SHORT_5_6_5; | ||
493 | - } | ||
494 | - break; | ||
495 | - case 15: | ||
496 | - *format = GL_BGRA; | ||
497 | - *type = GL_UNSIGNED_SHORT_1_5_5_5_REV; | ||
498 | - break; | ||
499 | - case 8: | ||
500 | - *format = glamor_get_screen_private(pixmap->drawable.pScreen)->one_channel_format; | ||
501 | - *type = GL_UNSIGNED_BYTE; | ||
502 | - break; | ||
503 | - default: | ||
504 | - FatalError("Invalid pixmap depth %d\n", pixmap->drawable.depth); | ||
505 | - break; | ||
506 | - } | ||
507 | -} | ||
508 | - | ||
509 | /* | ||
510 | * Write a region of bits into a pixmap | ||
511 | */ | ||
512 | @@ -75,10 +37,7 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, | ||
513 | glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap); | ||
514 | int box_index; | ||
515 | int bytes_per_pixel = pixmap->drawable.bitsPerPixel >> 3; | ||
516 | - GLenum type; | ||
517 | - GLenum format; | ||
518 | - | ||
519 | - glamor_format_for_pixmap(pixmap, &format, &type); | ||
520 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
521 | |||
522 | glamor_make_current(glamor_priv); | ||
523 | |||
524 | @@ -116,14 +75,14 @@ glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, | ||
525 | glTexSubImage2D(GL_TEXTURE_2D, 0, | ||
526 | x1 - box->x1, y1 - box->y1, | ||
527 | x2 - x1, y2 - y1, | ||
528 | - format, type, | ||
529 | + f->format, f->type, | ||
530 | bits + ofs); | ||
531 | } else { | ||
532 | for (; y1 < y2; y1++, ofs += byte_stride) | ||
533 | glTexSubImage2D(GL_TEXTURE_2D, 0, | ||
534 | x1 - box->x1, y1 - box->y1, | ||
535 | x2 - x1, 1, | ||
536 | - format, type, | ||
537 | + f->format, f->type, | ||
538 | bits + ofs); | ||
539 | } | ||
540 | } | ||
541 | @@ -178,10 +137,7 @@ glamor_download_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, | ||
542 | glamor_pixmap_private *priv = glamor_get_pixmap_private(pixmap); | ||
543 | int box_index; | ||
544 | int bytes_per_pixel = pixmap->drawable.bitsPerPixel >> 3; | ||
545 | - GLenum type; | ||
546 | - GLenum format; | ||
547 | - | ||
548 | - glamor_format_for_pixmap(pixmap, &format, &type); | ||
549 | + const struct glamor_format *f = glamor_format_for_pixmap(pixmap); | ||
550 | |||
551 | glamor_make_current(glamor_priv); | ||
552 | |||
553 | @@ -216,10 +172,10 @@ glamor_download_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, | ||
554 | |||
555 | if (glamor_priv->has_pack_subimage || | ||
556 | x2 - x1 == byte_stride / bytes_per_pixel) { | ||
557 | - glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, y2 - y1, format, type, bits + ofs); | ||
558 | + glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, y2 - y1, f->format, f->type, bits + ofs); | ||
559 | } else { | ||
560 | for (; y1 < y2; y1++, ofs += byte_stride) | ||
561 | - glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, 1, format, type, bits + ofs); | ||
562 | + glReadPixels(x1 - box->x1, y1 - box->y1, x2 - x1, 1, f->format, f->type, bits + ofs); | ||
563 | } | ||
564 | } | ||
565 | } | ||
566 | diff --git a/glamor/glamor_transfer.h b/glamor/glamor_transfer.h | ||
567 | index de8186a70..a6137b3ff 100644 | ||
568 | --- a/glamor/glamor_transfer.h | ||
569 | +++ b/glamor/glamor_transfer.h | ||
570 | @@ -23,9 +23,6 @@ | ||
571 | #ifndef _GLAMOR_TRANSFER_H_ | ||
572 | #define _GLAMOR_TRANSFER_H_ | ||
573 | |||
574 | -void | ||
575 | -glamor_format_for_pixmap(PixmapPtr pixmap, GLenum *format, GLenum *type); | ||
576 | - | ||
577 | void | ||
578 | glamor_upload_boxes(PixmapPtr pixmap, BoxPtr in_boxes, int in_nbox, | ||
579 | int dx_src, int dy_src, | ||
580 | diff --git a/glamor/glamor_transform.c b/glamor/glamor_transform.c | ||
581 | index 2d5a634a8..348d00be1 100644 | ||
582 | --- a/glamor/glamor_transform.c | ||
583 | +++ b/glamor/glamor_transform.c | ||
584 | @@ -121,10 +121,9 @@ glamor_set_color_depth(ScreenPtr pScreen, | ||
585 | |||
586 | glamor_get_rgba_from_pixel(pixel, | ||
587 | &color[0], &color[1], &color[2], &color[3], | ||
588 | - format_for_depth(depth)); | ||
589 | + glamor_priv->formats[depth].render_format); | ||
590 | |||
591 | - if ((depth == 1 || depth == 8) && | ||
592 | - glamor_priv->one_channel_format == GL_RED) | ||
593 | + if ((depth <= 8) && glamor_priv->formats[8].format == GL_RED) | ||
594 | color[0] = color[3]; | ||
595 | |||
596 | glUniform4fv(uniform, 1, color); | ||
597 | diff --git a/glamor/glamor_utils.h b/glamor/glamor_utils.h | ||
598 | index cbb808294..651faf2fe 100644 | ||
599 | --- a/glamor/glamor_utils.h | ||
600 | +++ b/glamor/glamor_utils.h | ||
601 | @@ -570,65 +570,8 @@ | ||
602 | && (_w_) <= _glamor_->max_fbo_size \ | ||
603 | && (_h_) <= _glamor_->max_fbo_size) | ||
604 | |||
605 | -/* For 1bpp pixmap, we don't store it as texture. */ | ||
606 | -#define glamor_check_pixmap_fbo_depth(_depth_) ( \ | ||
607 | - _depth_ == 8 \ | ||
608 | - || _depth_ == 15 \ | ||
609 | - || _depth_ == 16 \ | ||
610 | - || _depth_ == 24 \ | ||
611 | - || _depth_ == 30 \ | ||
612 | - || _depth_ == 32) | ||
613 | - | ||
614 | #define GLAMOR_PIXMAP_PRIV_HAS_FBO(pixmap_priv) (pixmap_priv->gl_fbo == GLAMOR_FBO_NORMAL) | ||
615 | |||
616 | -/** | ||
617 | - * Borrow from uxa. | ||
618 | - */ | ||
619 | -static inline CARD32 | ||
620 | -format_for_depth(int depth) | ||
621 | -{ | ||
622 | - switch (depth) { | ||
623 | - case 1: | ||
624 | - return PICT_a1; | ||
625 | - case 4: | ||
626 | - return PICT_a4; | ||
627 | - case 8: | ||
628 | - return PICT_a8; | ||
629 | - case 15: | ||
630 | - return PICT_x1r5g5b5; | ||
631 | - case 16: | ||
632 | - return PICT_r5g6b5; | ||
633 | - default: | ||
634 | - case 24: | ||
635 | - return PICT_x8r8g8b8; | ||
636 | - case 30: | ||
637 | - return PICT_x2r10g10b10; | ||
638 | - case 32: | ||
639 | - return PICT_a8r8g8b8; | ||
640 | - } | ||
641 | -} | ||
642 | - | ||
643 | -static inline GLenum | ||
644 | -gl_iformat_for_pixmap(PixmapPtr pixmap) | ||
645 | -{ | ||
646 | - glamor_screen_private *glamor_priv = | ||
647 | - glamor_get_screen_private((pixmap)->drawable.pScreen); | ||
648 | - glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); | ||
649 | - | ||
650 | - if (!glamor_priv->is_gles && | ||
651 | - ((pixmap)->drawable.depth == 1 || (pixmap)->drawable.depth == 8)) { | ||
652 | - return glamor_priv->one_channel_format; | ||
653 | - } else if (!glamor_priv->is_gles && | ||
654 | - (pixmap)->drawable.depth == 16 && pixmap_priv->is_cbcr) { | ||
655 | - return GL_RG; | ||
656 | - } else if (!glamor_priv->is_gles && | ||
657 | - (pixmap)->drawable.depth == 30) { | ||
658 | - return GL_RGB10_A2; | ||
659 | - } else { | ||
660 | - return GL_RGBA; | ||
661 | - } | ||
662 | -} | ||
663 | - | ||
664 | #define REVERT_NONE 0 | ||
665 | #define REVERT_NORMAL 1 | ||
666 | #define REVERT_UPLOADING_A1 3 | ||
667 | -- | ||
668 | 2.17.1 | ||
669 | |||
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend index c956245b..161df049 100644 --- a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend +++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | |||
@@ -1,21 +1,6 @@ | |||
1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" | 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" |
2 | 2 | ||
3 | SRC_URI:append:use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch" | 3 | SRC_URI:append:use-mainline-bsp = " file://0001-Allow-to-enable-atomic-in-modesetting-DDX.patch" |
4 | SRC_URI:append:imxgpu = " \ | ||
5 | file://0003-Remove-check-for-useSIGIO-option.patch \ | ||
6 | file://0001-MGS-5186-Per-Specification-EGL_NATIVE_PIXMAP_KHR-req.patch \ | ||
7 | file://0001-glamor-glamor_egl.c-EGL_NATIVE_PIXMAP_KHR-do-not-req.patch \ | ||
8 | file://0001-prefer-to-use-GLES2-for-glamor-EGL-config.patch \ | ||
9 | file://0001-hw-xwayland-Makefile.am-fix-build-without-glx.patch \ | ||
10 | file://0001-xfree86-define-FOURCC_NV12-and-XVIMAGE_NV12.patch \ | ||
11 | file://0002-glamor-add-support-for-GL_RG.patch \ | ||
12 | file://0003-glamor-add-support-for-NV12-in-Xv.patch \ | ||
13 | file://0004-glamor-Remove-unused-format_for_pixmap-helper.patch \ | ||
14 | file://0005-glamor-Stop-trying-to-store-the-pixmap-s-format-in-g.patch \ | ||
15 | file://0006-glamor-Plumb-the-pixmap-through-fbo-creation-instead.patch \ | ||
16 | file://0007-glamor-Switch-the-gl_flavor-to-a-boolean-is_gles.patch \ | ||
17 | file://0008-glamor-Introduce-a-central-place-for-our-pixmap-form.patch \ | ||
18 | " | ||
19 | 4 | ||
20 | IMX_OPENGL_PKGCONFIGS_REMOVE = "" | 5 | IMX_OPENGL_PKGCONFIGS_REMOVE = "" |
21 | IMX_OPENGL_PKGCONFIGS_REMOVE:imxgpu = "glamor" | 6 | IMX_OPENGL_PKGCONFIGS_REMOVE:imxgpu = "glamor" |
diff --git a/recipes-graphics/xwayland/xwayland_%.bbappend b/recipes-graphics/xwayland/xwayland_%.bbappend index 69063121..f2141f4f 100644 --- a/recipes-graphics/xwayland/xwayland_%.bbappend +++ b/recipes-graphics/xwayland/xwayland_%.bbappend | |||
@@ -10,3 +10,10 @@ OPENGL_PKGCONFIGS_REMOVE_IMXGPU = "" | |||
10 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx6-nxp-bsp = "glamor glx" | 10 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx6-nxp-bsp = "glamor glx" |
11 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx7-nxp-bsp = "glamor glx" | 11 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx7-nxp-bsp = "glamor glx" |
12 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx" | 12 | OPENGL_PKGCONFIGS_REMOVE_IMXGPU:mx8-nxp-bsp = "glx" |
13 | |||
14 | |||
15 | # links with imx-gpu libs which are pre-built for glibc | ||
16 | # gcompat will address it during runtime | ||
17 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | ||
18 | |||
19 | RDEPENDS:${PN}:append:imxgpu:libc-musl = " gcompat" | ||
diff --git a/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig b/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig index 74dc82cb..85e72abc 100644 --- a/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig +++ b/recipes-kernel/linux/linux-fslc-imx/imx-nxp-bsp/defconfig | |||
@@ -1,101 +1,63 @@ | |||
1 | CONFIG_SYSVIPC=y | 1 | CONFIG_SYSVIPC=y |
2 | CONFIG_POSIX_MQUEUE=y | 2 | CONFIG_POSIX_MQUEUE=y |
3 | CONFIG_AUDIT=y | 3 | CONFIG_NO_HZ=y |
4 | CONFIG_NO_HZ_IDLE=y | ||
5 | CONFIG_HIGH_RES_TIMERS=y | 4 | CONFIG_HIGH_RES_TIMERS=y |
6 | CONFIG_BPF_JIT=y | ||
7 | CONFIG_PREEMPT=y | 5 | CONFIG_PREEMPT=y |
8 | CONFIG_IRQ_TIME_ACCOUNTING=y | ||
9 | CONFIG_BSD_PROCESS_ACCT=y | ||
10 | CONFIG_BSD_PROCESS_ACCT_V3=y | ||
11 | CONFIG_IKCONFIG=y | 6 | CONFIG_IKCONFIG=y |
12 | CONFIG_IKCONFIG_PROC=y | 7 | CONFIG_IKCONFIG_PROC=y |
13 | CONFIG_NUMA_BALANCING=y | 8 | CONFIG_LOG_BUF_SHIFT=18 |
9 | CONFIG_CGROUPS=y | ||
14 | CONFIG_MEMCG=y | 10 | CONFIG_MEMCG=y |
15 | CONFIG_BLK_CGROUP=y | ||
16 | CONFIG_CGROUP_PIDS=y | 11 | CONFIG_CGROUP_PIDS=y |
17 | CONFIG_CGROUP_FREEZER=y | 12 | CONFIG_CGROUP_FREEZER=y |
18 | CONFIG_CGROUP_HUGETLB=y | ||
19 | CONFIG_CPUSETS=y | ||
20 | CONFIG_CGROUP_DEVICE=y | 13 | CONFIG_CGROUP_DEVICE=y |
21 | CONFIG_CGROUP_CPUACCT=y | 14 | CONFIG_NAMESPACES=y |
22 | CONFIG_CGROUP_PERF=y | ||
23 | CONFIG_USER_NS=y | 15 | CONFIG_USER_NS=y |
24 | CONFIG_SCHED_AUTOGROUP=y | ||
25 | CONFIG_RELAY=y | 16 | CONFIG_RELAY=y |
26 | CONFIG_BLK_DEV_INITRD=y | 17 | CONFIG_BLK_DEV_INITRD=y |
18 | CONFIG_EXPERT=y | ||
27 | CONFIG_KALLSYMS_ALL=y | 19 | CONFIG_KALLSYMS_ALL=y |
20 | CONFIG_PERF_EVENTS=y | ||
21 | # CONFIG_SLUB_DEBUG is not set | ||
28 | # CONFIG_COMPAT_BRK is not set | 22 | # CONFIG_COMPAT_BRK is not set |
29 | CONFIG_PROFILING=y | ||
30 | CONFIG_ARCH_LAYERSCAPE=y | ||
31 | CONFIG_ARCH_KEEMBAY=y | ||
32 | CONFIG_ARCH_MXC=y | 23 | CONFIG_ARCH_MXC=y |
33 | CONFIG_ARCH_S32=y | 24 | CONFIG_SOC_IMX6Q=y |
34 | CONFIG_SOC_S32V234=y | 25 | CONFIG_SOC_IMX6SL=y |
35 | CONFIG_ARM64_VA_BITS_48=y | 26 | CONFIG_SOC_IMX6SLL=y |
36 | CONFIG_SCHED_MC=y | 27 | CONFIG_SOC_IMX6SX=y |
37 | CONFIG_SCHED_SMT=y | 28 | CONFIG_SOC_IMX6UL=y |
38 | CONFIG_NUMA=y | 29 | CONFIG_SOC_IMX7D=y |
39 | CONFIG_KEXEC=y | 30 | CONFIG_SOC_IMX7ULP=y |
40 | CONFIG_KEXEC_FILE=y | 31 | CONFIG_SMP=y |
41 | CONFIG_CRASH_DUMP=y | 32 | CONFIG_VMSPLIT_2G=y |
42 | CONFIG_XEN=y | 33 | CONFIG_ARM_PSCI=y |
34 | CONFIG_HIGHMEM=y | ||
43 | CONFIG_FORCE_MAX_ZONEORDER=14 | 35 | CONFIG_FORCE_MAX_ZONEORDER=14 |
44 | CONFIG_COMPAT=y | 36 | CONFIG_CMDLINE="noinitrd console=ttymxc0,115200" |
45 | CONFIG_RANDOMIZE_BASE=y | 37 | CONFIG_KEXEC=y |
46 | CONFIG_PM_DEBUG=y | ||
47 | CONFIG_PM_TEST_SUSPEND=y | ||
48 | CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y | ||
49 | CONFIG_ENERGY_MODEL=y | ||
50 | CONFIG_ARM_CPUIDLE=y | ||
51 | CONFIG_ARM_PSCI_CPUIDLE=y | ||
52 | CONFIG_CPU_FREQ=y | 38 | CONFIG_CPU_FREQ=y |
53 | CONFIG_CPU_FREQ_STAT=y | 39 | CONFIG_CPU_FREQ_STAT=y |
54 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y | 40 | CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y |
55 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y | 41 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y |
56 | CONFIG_CPU_FREQ_GOV_USERSPACE=y | 42 | CONFIG_CPU_FREQ_GOV_USERSPACE=y |
57 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y | 43 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y |
58 | CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y | ||
59 | CONFIG_CPUFREQ_DT=y | 44 | CONFIG_CPUFREQ_DT=y |
60 | CONFIG_ACPI_CPPC_CPUFREQ=m | 45 | CONFIG_ARM_IMX6Q_CPUFREQ=y |
61 | CONFIG_ARM_SCPI_CPUFREQ=y | ||
62 | CONFIG_ARM_IMX_CPUFREQ_DT=y | 46 | CONFIG_ARM_IMX_CPUFREQ_DT=y |
63 | CONFIG_ARM_SCMI_CPUFREQ=y | 47 | CONFIG_CPU_IDLE=y |
64 | CONFIG_QORIQ_CPUFREQ=y | 48 | CONFIG_ARM_CPUIDLE=y |
65 | CONFIG_ARM_SCMI_PROTOCOL=y | 49 | CONFIG_ARM_PSCI_CPUIDLE=y |
66 | CONFIG_ARM_SCPI_PROTOCOL=y | 50 | CONFIG_VFP=y |
67 | CONFIG_QCOM_SCM=m | 51 | CONFIG_NEON=y |
68 | CONFIG_EFI_CAPSULE_LOADER=y | 52 | CONFIG_PM_DEBUG=y |
69 | CONFIG_IMX_DSP=y | 53 | CONFIG_PM_TEST_SUSPEND=y |
70 | CONFIG_IMX_SCU=y | 54 | CONFIG_KPROBES=y |
71 | CONFIG_IMX_SCU_PD=y | ||
72 | CONFIG_ACPI=y | ||
73 | CONFIG_ACPI_APEI=y | ||
74 | CONFIG_ACPI_APEI_GHES=y | ||
75 | CONFIG_ACPI_APEI_MEMORY_FAILURE=y | ||
76 | CONFIG_ACPI_APEI_EINJ=y | ||
77 | CONFIG_VIRTUALIZATION=y | ||
78 | CONFIG_KVM=y | ||
79 | CONFIG_ARM64_CRYPTO=y | ||
80 | CONFIG_CRYPTO_SHA1_ARM64_CE=y | ||
81 | CONFIG_CRYPTO_SHA2_ARM64_CE=y | ||
82 | CONFIG_CRYPTO_SHA512_ARM64_CE=m | ||
83 | CONFIG_CRYPTO_SHA3_ARM64=m | ||
84 | CONFIG_CRYPTO_SM3_ARM64_CE=m | ||
85 | CONFIG_CRYPTO_GHASH_ARM64_CE=y | ||
86 | CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m | ||
87 | CONFIG_CRYPTO_AES_ARM64_CE_CCM=y | ||
88 | CONFIG_CRYPTO_AES_ARM64_CE_BLK=y | ||
89 | CONFIG_CRYPTO_CHACHA20_NEON=m | ||
90 | CONFIG_CRYPTO_AES_ARM64_BS=m | ||
91 | CONFIG_JUMP_LABEL=y | ||
92 | CONFIG_MODULES=y | 55 | CONFIG_MODULES=y |
93 | CONFIG_MODULE_UNLOAD=y | 56 | CONFIG_MODULE_UNLOAD=y |
94 | CONFIG_MODVERSIONS=y | 57 | CONFIG_MODVERSIONS=y |
95 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | 58 | CONFIG_MODULE_SRCVERSION_ALL=y |
96 | CONFIG_KSM=y | 59 | CONFIG_BINFMT_MISC=m |
97 | CONFIG_MEMORY_FAILURE=y | 60 | CONFIG_CMA=y |
98 | CONFIG_TRANSPARENT_HUGEPAGE=y | ||
99 | CONFIG_NET=y | 61 | CONFIG_NET=y |
100 | CONFIG_PACKET=y | 62 | CONFIG_PACKET=y |
101 | CONFIG_UNIX=y | 63 | CONFIG_UNIX=y |
@@ -103,55 +65,11 @@ CONFIG_INET=y | |||
103 | CONFIG_IP_MULTICAST=y | 65 | CONFIG_IP_MULTICAST=y |
104 | CONFIG_IP_PNP=y | 66 | CONFIG_IP_PNP=y |
105 | CONFIG_IP_PNP_DHCP=y | 67 | CONFIG_IP_PNP_DHCP=y |
106 | CONFIG_IP_PNP_BOOTP=y | ||
107 | CONFIG_IPV6_SIT=m | ||
108 | CONFIG_NETFILTER=y | 68 | CONFIG_NETFILTER=y |
109 | CONFIG_NF_CONNTRACK=m | ||
110 | CONFIG_NF_CONNTRACK_EVENTS=y | ||
111 | CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m | ||
112 | CONFIG_NETFILTER_XT_TARGET_LOG=m | ||
113 | CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m | ||
114 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | ||
115 | CONFIG_IP_NF_IPTABLES=m | ||
116 | CONFIG_IP_NF_FILTER=m | ||
117 | CONFIG_IP_NF_TARGET_REJECT=m | ||
118 | CONFIG_IP_NF_NAT=m | ||
119 | CONFIG_IP_NF_TARGET_MASQUERADE=m | ||
120 | CONFIG_IP_NF_MANGLE=m | ||
121 | CONFIG_IP6_NF_IPTABLES=m | ||
122 | CONFIG_IP6_NF_FILTER=m | ||
123 | CONFIG_IP6_NF_TARGET_REJECT=m | ||
124 | CONFIG_IP6_NF_MANGLE=m | ||
125 | CONFIG_IP6_NF_NAT=m | ||
126 | CONFIG_IP6_NF_TARGET_MASQUERADE=m | ||
127 | CONFIG_BRIDGE=y | ||
128 | CONFIG_BRIDGE_VLAN_FILTERING=y | ||
129 | CONFIG_NET_DSA=m | ||
130 | CONFIG_VLAN_8021Q=m | 69 | CONFIG_VLAN_8021Q=m |
131 | CONFIG_VLAN_8021Q_GVRP=y | ||
132 | CONFIG_VLAN_8021Q_MVRP=y | ||
133 | CONFIG_LLC2=y | 70 | CONFIG_LLC2=y |
134 | CONFIG_NET_SCHED=y | 71 | CONFIG_CAN=y |
135 | CONFIG_NET_SCH_MULTIQ=m | 72 | CONFIG_CAN_FLEXCAN=y |
136 | CONFIG_NET_SCH_CBS=m | ||
137 | CONFIG_NET_SCH_ETF=m | ||
138 | CONFIG_NET_SCH_TAPRIO=m | ||
139 | CONFIG_NET_SCH_MQPRIO=m | ||
140 | CONFIG_NET_SCH_INGRESS=m | ||
141 | CONFIG_NET_CLS_BASIC=m | ||
142 | CONFIG_NET_CLS_TCINDEX=m | ||
143 | CONFIG_NET_CLS_FLOWER=m | ||
144 | CONFIG_NET_CLS_ACT=y | ||
145 | CONFIG_NET_ACT_GACT=m | ||
146 | CONFIG_NET_ACT_MIRRED=m | ||
147 | CONFIG_NET_ACT_GATE=m | ||
148 | CONFIG_TSN=y | ||
149 | CONFIG_QRTR=m | ||
150 | CONFIG_QRTR_SMD=m | ||
151 | CONFIG_QRTR_TUN=m | ||
152 | CONFIG_NET_PKTGEN=m | ||
153 | CONFIG_CAN=m | ||
154 | CONFIG_CAN_FLEXCAN=m | ||
155 | CONFIG_BT=y | 73 | CONFIG_BT=y |
156 | CONFIG_BT_RFCOMM=y | 74 | CONFIG_BT_RFCOMM=y |
157 | CONFIG_BT_RFCOMM_TTY=y | 75 | CONFIG_BT_RFCOMM_TTY=y |
@@ -159,64 +77,38 @@ CONFIG_BT_BNEP=y | |||
159 | CONFIG_BT_BNEP_MC_FILTER=y | 77 | CONFIG_BT_BNEP_MC_FILTER=y |
160 | CONFIG_BT_BNEP_PROTO_FILTER=y | 78 | CONFIG_BT_BNEP_PROTO_FILTER=y |
161 | CONFIG_BT_HIDP=y | 79 | CONFIG_BT_HIDP=y |
162 | CONFIG_BT_LEDS=y | 80 | CONFIG_BT_HCIBTUSB=y |
163 | # CONFIG_BT_DEBUGFS is not set | ||
164 | CONFIG_BT_HCIBTUSB=m | ||
165 | CONFIG_BT_HCIUART=y | 81 | CONFIG_BT_HCIUART=y |
166 | CONFIG_BT_HCIUART_BCSP=y | 82 | CONFIG_BT_HCIUART_BCSP=y |
167 | CONFIG_BT_HCIUART_ATH3K=y | ||
168 | CONFIG_BT_HCIUART_LL=y | 83 | CONFIG_BT_HCIUART_LL=y |
169 | CONFIG_BT_HCIUART_3WIRE=y | 84 | CONFIG_BT_HCIUART_3WIRE=y |
170 | CONFIG_BT_HCIUART_BCM=y | 85 | CONFIG_BT_HCIUART_MRVL=y |
171 | CONFIG_BT_HCIUART_QCA=y | ||
172 | CONFIG_BT_HCIVHCI=y | 86 | CONFIG_BT_HCIVHCI=y |
87 | CONFIG_BT_MRVL=y | ||
88 | CONFIG_BT_MRVL_SDIO=y | ||
173 | CONFIG_CFG80211=y | 89 | CONFIG_CFG80211=y |
174 | CONFIG_NL80211_TESTMODE=y | 90 | CONFIG_NL80211_TESTMODE=y |
175 | CONFIG_CFG80211_WEXT=y | 91 | CONFIG_CFG80211_WEXT=y |
176 | CONFIG_MAC80211=y | 92 | CONFIG_MAC80211=y |
177 | CONFIG_MAC80211_LEDS=y | ||
178 | CONFIG_NET_9P=y | ||
179 | CONFIG_NET_9P_VIRTIO=y | ||
180 | CONFIG_NFC=m | ||
181 | CONFIG_NFC_NCI=m | ||
182 | CONFIG_NFC_S3FWRN5_I2C=m | ||
183 | CONFIG_PCI=y | 93 | CONFIG_PCI=y |
184 | CONFIG_PCIEPORTBUS=y | 94 | CONFIG_PCI_MSI=y |
185 | CONFIG_PCI_IOV=y | ||
186 | CONFIG_PCI_PASID=y | ||
187 | CONFIG_HOTPLUG_PCI=y | ||
188 | CONFIG_HOTPLUG_PCI_ACPI=y | ||
189 | CONFIG_PCI_HOST_GENERIC=y | ||
190 | CONFIG_PCI_XGENE=y | ||
191 | CONFIG_PCIE_ALTERA=y | ||
192 | CONFIG_PCIE_ALTERA_MSI=y | ||
193 | CONFIG_PCI_HOST_THUNDER_PEM=y | ||
194 | CONFIG_PCI_HOST_THUNDER_ECAM=y | ||
195 | CONFIG_PCI_IMX6_HOST=y | 95 | CONFIG_PCI_IMX6_HOST=y |
196 | CONFIG_PCI_IMX6_EP=y | 96 | CONFIG_PCI_IMX6_EP=y |
197 | CONFIG_PCI_LAYERSCAPE=y | ||
198 | CONFIG_PCI_HISI=y | ||
199 | CONFIG_PCIE_KIRIN=y | ||
200 | CONFIG_PCI_MESON=m | ||
201 | CONFIG_PCIE_LAYERSCAPE_GEN4=y | ||
202 | CONFIG_PCI_ENDPOINT=y | 97 | CONFIG_PCI_ENDPOINT=y |
203 | CONFIG_PCI_ENDPOINT_CONFIGFS=y | 98 | CONFIG_PCI_ENDPOINT_CONFIGFS=y |
204 | CONFIG_PCI_EPF_TEST=y | 99 | CONFIG_PCI_EPF_TEST=y |
205 | CONFIG_DEVTMPFS=y | 100 | CONFIG_DEVTMPFS=y |
206 | CONFIG_DEVTMPFS_MOUNT=y | 101 | CONFIG_DEVTMPFS_MOUNT=y |
102 | # CONFIG_STANDALONE is not set | ||
207 | CONFIG_FW_LOADER_USER_HELPER=y | 103 | CONFIG_FW_LOADER_USER_HELPER=y |
208 | CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y | 104 | CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y |
209 | CONFIG_BRCMSTB_GISB_ARB=y | 105 | CONFIG_IMX_WEIM=y |
210 | CONFIG_SIMPLE_PM_BUS=y | 106 | CONFIG_CONNECTOR=y |
211 | CONFIG_VEXPRESS_CONFIG=y | ||
212 | CONFIG_FSL_MC_UAPI_SUPPORT=y | ||
213 | CONFIG_GNSS=m | ||
214 | CONFIG_GNSS_MTK_SERIAL=m | ||
215 | CONFIG_MTD=y | 107 | CONFIG_MTD=y |
216 | CONFIG_MTD_CMDLINE_PARTS=y | 108 | CONFIG_MTD_CMDLINE_PARTS=y |
217 | CONFIG_MTD_BLOCK=y | 109 | CONFIG_MTD_BLOCK=y |
218 | CONFIG_MTD_CFI=y | 110 | CONFIG_MTD_CFI=y |
219 | CONFIG_MTD_CFI_ADV_OPTIONS=y | 111 | CONFIG_MTD_JEDECPROBE=y |
220 | CONFIG_MTD_CFI_INTELEXT=y | 112 | CONFIG_MTD_CFI_INTELEXT=y |
221 | CONFIG_MTD_CFI_AMDSTD=y | 113 | CONFIG_MTD_CFI_AMDSTD=y |
222 | CONFIG_MTD_CFI_STAA=y | 114 | CONFIG_MTD_CFI_STAA=y |
@@ -225,504 +117,273 @@ CONFIG_MTD_PHYSMAP_OF=y | |||
225 | CONFIG_MTD_DATAFLASH=y | 117 | CONFIG_MTD_DATAFLASH=y |
226 | CONFIG_MTD_SST25L=y | 118 | CONFIG_MTD_SST25L=y |
227 | CONFIG_MTD_RAW_NAND=y | 119 | CONFIG_MTD_RAW_NAND=y |
228 | CONFIG_MTD_NAND_DENALI_DT=y | ||
229 | CONFIG_MTD_NAND_GPMI_NAND=y | 120 | CONFIG_MTD_NAND_GPMI_NAND=y |
230 | CONFIG_MTD_NAND_FSL_IFC=y | 121 | CONFIG_MTD_NAND_MXC=y |
231 | CONFIG_MTD_SPI_NOR=y | 122 | CONFIG_MTD_SPI_NOR=y |
232 | # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set | 123 | # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set |
233 | CONFIG_MTD_UBI=y | 124 | CONFIG_MTD_UBI=y |
125 | CONFIG_MTD_UBI_FASTMAP=y | ||
126 | CONFIG_MTD_UBI_BLOCK=y | ||
127 | CONFIG_OF_OVERLAY=y | ||
234 | CONFIG_BLK_DEV_LOOP=y | 128 | CONFIG_BLK_DEV_LOOP=y |
235 | CONFIG_BLK_DEV_NBD=m | 129 | CONFIG_BLK_DEV_RAM=y |
236 | CONFIG_XEN_BLKDEV_BACKEND=m | 130 | CONFIG_BLK_DEV_RAM_SIZE=65536 |
237 | CONFIG_VIRTIO_BLK=y | ||
238 | CONFIG_BLK_DEV_NVME=y | ||
239 | CONFIG_SRAM=y | ||
240 | CONFIG_PCI_ENDPOINT_TEST=y | 131 | CONFIG_PCI_ENDPOINT_TEST=y |
241 | CONFIG_EEPROM_AT24=m | 132 | CONFIG_EEPROM_AT24=y |
242 | CONFIG_EEPROM_AT25=m | 133 | CONFIG_EEPROM_AT25=y |
243 | CONFIG_UACCE=m | ||
244 | # CONFIG_SCSI_PROC_FS is not set | 134 | # CONFIG_SCSI_PROC_FS is not set |
245 | CONFIG_BLK_DEV_SD=y | 135 | CONFIG_BLK_DEV_SD=y |
246 | CONFIG_SCSI_SAS_ATA=y | 136 | # CONFIG_BLK_DEV_BSG is not set |
247 | CONFIG_SCSI_HISI_SAS=y | 137 | CONFIG_SCSI_CONSTANTS=y |
248 | CONFIG_SCSI_HISI_SAS_PCI=y | 138 | CONFIG_SCSI_LOGGING=y |
249 | CONFIG_MEGARAID_SAS=y | 139 | CONFIG_SCSI_SCAN_ASYNC=y |
250 | CONFIG_SCSI_MPT3SAS=m | ||
251 | CONFIG_SCSI_UFSHCD=y | ||
252 | CONFIG_SCSI_UFSHCD_PLATFORM=y | ||
253 | CONFIG_ATA=y | 140 | CONFIG_ATA=y |
254 | CONFIG_SATA_AHCI=y | ||
255 | CONFIG_SATA_AHCI_PLATFORM=y | 141 | CONFIG_SATA_AHCI_PLATFORM=y |
256 | CONFIG_AHCI_IMX=y | 142 | CONFIG_AHCI_IMX=y |
257 | CONFIG_AHCI_CEVA=y | 143 | CONFIG_PATA_IMX=y |
258 | CONFIG_AHCI_XGENE=y | ||
259 | CONFIG_AHCI_QORIQ=y | ||
260 | CONFIG_SATA_SIL24=y | ||
261 | CONFIG_PATA_PLATFORM=y | ||
262 | CONFIG_PATA_OF_PLATFORM=y | ||
263 | CONFIG_MD=y | 144 | CONFIG_MD=y |
264 | CONFIG_BLK_DEV_MD=m | 145 | CONFIG_BLK_DEV_MD=m |
265 | CONFIG_BLK_DEV_DM=m | 146 | CONFIG_BLK_DEV_DM=m |
266 | CONFIG_DM_CRYPT=m | 147 | CONFIG_DM_CRYPT=m |
267 | CONFIG_DM_MIRROR=m | ||
268 | CONFIG_DM_ZERO=m | ||
269 | CONFIG_NETDEVICES=y | 148 | CONFIG_NETDEVICES=y |
270 | CONFIG_MACVLAN=m | ||
271 | CONFIG_MACVTAP=m | ||
272 | CONFIG_TUN=y | 149 | CONFIG_TUN=y |
273 | CONFIG_VETH=m | 150 | # CONFIG_NET_VENDOR_BROADCOM is not set |
274 | CONFIG_VIRTIO_NET=y | 151 | CONFIG_CS89x0_PLATFORM=y |
275 | CONFIG_NET_DSA_MSCC_FELIX=m | 152 | # CONFIG_NET_VENDOR_FARADAY is not set |
276 | CONFIG_AMD_XGBE=y | 153 | # CONFIG_NET_VENDOR_INTEL is not set |
277 | CONFIG_ATL1C=m | 154 | # CONFIG_NET_VENDOR_MARVELL is not set |
278 | CONFIG_BCMGENET=m | 155 | # CONFIG_NET_VENDOR_MICREL is not set |
279 | CONFIG_BNX2X=m | 156 | # CONFIG_NET_VENDOR_MICROCHIP is not set |
280 | CONFIG_MACB=y | 157 | # CONFIG_NET_VENDOR_NATSEMI is not set |
281 | CONFIG_THUNDER_NIC_PF=y | 158 | # CONFIG_NET_VENDOR_SEEQ is not set |
282 | CONFIG_FEC=y | ||
283 | CONFIG_FEC_UIO=y | ||
284 | CONFIG_FSL_FMAN=y | ||
285 | CONFIG_FSL_DPAA_ETH=y | ||
286 | CONFIG_FSL_DPAA2_ETH=y | ||
287 | CONFIG_FSL_DPAA2_MAC=y | ||
288 | CONFIG_FSL_DPAA2_SWITCH=y | ||
289 | CONFIG_FSL_ENETC=y | ||
290 | CONFIG_FSL_ENETC_VF=y | ||
291 | CONFIG_FSL_ENETC_QOS=y | ||
292 | CONFIG_ENETC_TSN=y | ||
293 | CONFIG_HIX5HD2_GMAC=y | ||
294 | CONFIG_HNS_DSAF=y | ||
295 | CONFIG_HNS_ENET=y | ||
296 | CONFIG_HNS3=y | ||
297 | CONFIG_HNS3_HCLGE=y | ||
298 | CONFIG_HNS3_ENET=y | ||
299 | CONFIG_E1000=y | ||
300 | CONFIG_E1000E=y | ||
301 | CONFIG_IGB=y | ||
302 | CONFIG_IGBVF=y | ||
303 | CONFIG_MVMDIO=y | ||
304 | CONFIG_SKY2=y | ||
305 | CONFIG_MLX4_EN=m | ||
306 | CONFIG_MLX5_CORE=m | ||
307 | CONFIG_MLX5_CORE_EN=y | ||
308 | CONFIG_MSCC_OCELOT_SWITCH=y | ||
309 | CONFIG_QCOM_EMAC=m | ||
310 | CONFIG_RMNET=m | ||
311 | CONFIG_SMC91X=y | 159 | CONFIG_SMC91X=y |
160 | CONFIG_SMC911X=y | ||
312 | CONFIG_SMSC911X=y | 161 | CONFIG_SMSC911X=y |
313 | CONFIG_STMMAC_ETH=y | 162 | # CONFIG_NET_VENDOR_STMICRO is not set |
314 | CONFIG_DWMAC_GENERIC=m | ||
315 | CONFIG_AQUANTIA_PHY=y | ||
316 | CONFIG_BROADCOM_PHY=m | ||
317 | CONFIG_BCM54140_PHY=m | ||
318 | CONFIG_INPHI_PHY=y | ||
319 | CONFIG_MARVELL_PHY=m | ||
320 | CONFIG_MARVELL_10G_PHY=m | ||
321 | CONFIG_MICREL_PHY=y | 163 | CONFIG_MICREL_PHY=y |
322 | CONFIG_MICROSEMI_PHY=y | ||
323 | CONFIG_NXP_TJA11XX_PHY=y | ||
324 | CONFIG_AT803X_PHY=y | 164 | CONFIG_AT803X_PHY=y |
325 | CONFIG_REALTEK_PHY=y | ||
326 | CONFIG_ROCKCHIP_PHY=y | ||
327 | CONFIG_VITESSE_PHY=y | ||
328 | CONFIG_MDIO_BITBANG=y | ||
329 | CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y | ||
330 | CONFIG_MDIO_BUS_MUX_MMIOREG=y | ||
331 | CONFIG_USB_PEGASUS=m | 165 | CONFIG_USB_PEGASUS=m |
332 | CONFIG_USB_RTL8150=m | 166 | CONFIG_USB_RTL8150=m |
333 | CONFIG_USB_RTL8152=y | 167 | CONFIG_USB_RTL8152=y |
334 | CONFIG_USB_LAN78XX=m | 168 | CONFIG_USB_LAN78XX=y |
335 | CONFIG_USB_USBNET=y | 169 | CONFIG_USB_USBNET=y |
336 | CONFIG_USB_NET_AX8817X=m | 170 | CONFIG_USB_NET_CDC_EEM=m |
337 | CONFIG_USB_NET_AX88179_178A=m | 171 | CONFIG_USB_NET_SMSC95XX=y |
338 | CONFIG_USB_NET_CDCETHER=m | 172 | CONFIG_USB_NET_MCS7830=y |
339 | CONFIG_USB_NET_CDC_NCM=m | 173 | CONFIG_ATH10K=m |
340 | CONFIG_USB_NET_DM9601=m | 174 | CONFIG_ATH10K_SDIO=m |
341 | CONFIG_USB_NET_SR9800=m | ||
342 | CONFIG_USB_NET_SMSC75XX=m | ||
343 | CONFIG_USB_NET_SMSC95XX=m | ||
344 | CONFIG_USB_NET_NET1080=m | ||
345 | CONFIG_USB_NET_PLUSB=m | ||
346 | CONFIG_USB_NET_MCS7830=m | ||
347 | CONFIG_USB_NET_CDC_SUBSET=m | ||
348 | CONFIG_USB_NET_ZAURUS=m | ||
349 | CONFIG_HOSTAP=y | 175 | CONFIG_HOSTAP=y |
176 | CONFIG_WL12XX=m | ||
350 | CONFIG_WL18XX=m | 177 | CONFIG_WL18XX=m |
351 | CONFIG_WLCORE_SDIO=m | 178 | CONFIG_WLCORE_SDIO=m |
352 | CONFIG_XEN_NETDEV_BACKEND=m | 179 | # CONFIG_WILINK_PLATFORM_DATA is not set |
353 | CONFIG_IVSHMEM_NET=y | ||
354 | CONFIG_INPUT_EVDEV=y | 180 | CONFIG_INPUT_EVDEV=y |
355 | CONFIG_KEYBOARD_ADC=m | 181 | CONFIG_INPUT_EVBUG=m |
356 | CONFIG_KEYBOARD_GPIO=y | 182 | CONFIG_KEYBOARD_GPIO=y |
357 | CONFIG_KEYBOARD_RPMSG=y | 183 | CONFIG_KEYBOARD_RPMSG=y |
358 | CONFIG_KEYBOARD_SNVS_PWRKEY=y | 184 | CONFIG_KEYBOARD_IMX=y |
359 | CONFIG_KEYBOARD_IMX_SC_PWRKEY=y | 185 | CONFIG_MOUSE_PS2=m |
360 | CONFIG_KEYBOARD_CROS_EC=y | 186 | CONFIG_MOUSE_PS2_ELANTECH=y |
361 | CONFIG_INPUT_TOUCHSCREEN=y | 187 | CONFIG_INPUT_TOUCHSCREEN=y |
362 | CONFIG_TOUCHSCREEN_ATMEL_MXT=m | 188 | CONFIG_TOUCHSCREEN_ADS7846=y |
363 | CONFIG_TOUCHSCREEN_GOODIX=m | 189 | CONFIG_TOUCHSCREEN_AD7879=y |
364 | CONFIG_TOUCHSCREEN_EDT_FT5X06=m | 190 | CONFIG_TOUCHSCREEN_AD7879_I2C=y |
365 | CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_I2C=m | 191 | CONFIG_TOUCHSCREEN_ATMEL_MXT=y |
192 | CONFIG_TOUCHSCREEN_DA9052=y | ||
193 | CONFIG_TOUCHSCREEN_EGALAX=y | ||
194 | CONFIG_TOUCHSCREEN_ELAN_TS=y | ||
195 | CONFIG_TOUCHSCREEN_GOODIX=y | ||
196 | CONFIG_TOUCHSCREEN_ILI210X=y | ||
197 | CONFIG_TOUCHSCREEN_MAX11801=y | ||
198 | CONFIG_TOUCHSCREEN_IMX6UL_TSC=y | ||
199 | CONFIG_TOUCHSCREEN_EDT_FT5X06=y | ||
200 | CONFIG_TOUCHSCREEN_MC13783=y | ||
201 | CONFIG_TOUCHSCREEN_TSC2004=y | ||
202 | CONFIG_TOUCHSCREEN_TSC2007=y | ||
203 | CONFIG_TOUCHSCREEN_STMPE=y | ||
204 | CONFIG_TOUCHSCREEN_SX8654=y | ||
205 | CONFIG_TOUCHSCREEN_COLIBRI_VF50=y | ||
206 | CONFIG_TOUCHSCREEN_FTS=y | ||
366 | CONFIG_INPUT_MISC=y | 207 | CONFIG_INPUT_MISC=y |
367 | CONFIG_INPUT_PWM_VIBRA=m | 208 | CONFIG_INPUT_MMA8450=y |
368 | # CONFIG_SERIO_SERPORT is not set | 209 | CONFIG_SERIO_SERPORT=m |
369 | CONFIG_SERIO_AMBAKMI=y | 210 | # CONFIG_LEGACY_PTYS is not set |
370 | CONFIG_LEGACY_PTY_COUNT=16 | ||
371 | CONFIG_SERIAL_8250=y | ||
372 | CONFIG_SERIAL_8250_CONSOLE=y | ||
373 | CONFIG_SERIAL_8250_EXTENDED=y | ||
374 | CONFIG_SERIAL_8250_SHARE_IRQ=y | ||
375 | CONFIG_SERIAL_8250_DW=y | ||
376 | CONFIG_SERIAL_OF_PLATFORM=y | ||
377 | CONFIG_SERIAL_AMBA_PL011=y | ||
378 | CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||
379 | CONFIG_SERIAL_IMX=y | 211 | CONFIG_SERIAL_IMX=y |
380 | CONFIG_SERIAL_IMX_CONSOLE=y | 212 | CONFIG_SERIAL_IMX_CONSOLE=y |
381 | CONFIG_SERIAL_XILINX_PS_UART=y | ||
382 | CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y | ||
383 | CONFIG_SERIAL_FSL_LPUART=y | 213 | CONFIG_SERIAL_FSL_LPUART=y |
384 | CONFIG_SERIAL_FSL_LPUART_CONSOLE=y | 214 | CONFIG_SERIAL_FSL_LPUART_CONSOLE=y |
385 | CONFIG_SERIAL_FSL_LINFLEXUART=y | ||
386 | CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y | ||
387 | CONFIG_SERIAL_DEV_BUS=y | 215 | CONFIG_SERIAL_DEV_BUS=y |
388 | CONFIG_VIRTIO_CONSOLE=y | 216 | # CONFIG_I2C_COMPAT is not set |
389 | CONFIG_IPMI_HANDLER=m | ||
390 | CONFIG_IPMI_DEVICE_INTERFACE=m | ||
391 | CONFIG_IPMI_SI=m | ||
392 | CONFIG_TCG_TPM=y | ||
393 | CONFIG_TCG_TIS_I2C_INFINEON=y | ||
394 | CONFIG_I2C_CHARDEV=y | 217 | CONFIG_I2C_CHARDEV=y |
395 | CONFIG_I2C_MUX=y | 218 | CONFIG_I2C_MUX=y |
396 | CONFIG_I2C_MUX_PCA954x=y | 219 | CONFIG_I2C_MUX_GPIO=y |
397 | CONFIG_I2C_DESIGNWARE_PLATFORM=y | 220 | # CONFIG_I2C_HELPER_AUTO is not set |
398 | CONFIG_I2C_GPIO=m | 221 | CONFIG_I2C_ALGOPCF=m |
222 | CONFIG_I2C_ALGOPCA=m | ||
223 | CONFIG_I2C_GPIO=y | ||
399 | CONFIG_I2C_IMX=y | 224 | CONFIG_I2C_IMX=y |
400 | CONFIG_I2C_IMX_LPI2C=y | 225 | CONFIG_I2C_IMX_LPI2C=y |
401 | CONFIG_I2C_RK3X=y | ||
402 | CONFIG_I2C_RPBUS=y | ||
403 | CONFIG_I2C_CROS_EC_TUNNEL=y | ||
404 | CONFIG_XEN_I2C_BACKEND=y | ||
405 | CONFIG_I3C=y | ||
406 | CONFIG_SVC_I3C_MASTER=y | ||
407 | CONFIG_SPI=y | 226 | CONFIG_SPI=y |
408 | CONFIG_SPI_CADENCE_QUADSPI=y | ||
409 | CONFIG_SPI_DESIGNWARE=m | ||
410 | CONFIG_SPI_DW_DMA=y | ||
411 | CONFIG_SPI_DW_MMIO=m | ||
412 | CONFIG_SPI_FSL_LPSPI=y | 227 | CONFIG_SPI_FSL_LPSPI=y |
413 | CONFIG_SPI_FSL_QUADSPI=y | 228 | CONFIG_SPI_FSL_QUADSPI=y |
414 | CONFIG_SPI_NXP_FLEXSPI=y | 229 | CONFIG_SPI_GPIO=y |
415 | CONFIG_SPI_IMX=y | 230 | CONFIG_SPI_IMX=y |
416 | CONFIG_SPI_FSL_DSPI=y | ||
417 | CONFIG_SPI_PL022=y | ||
418 | CONFIG_SPI_ROCKCHIP=y | ||
419 | CONFIG_SPI_SPIDEV=y | 231 | CONFIG_SPI_SPIDEV=y |
420 | CONFIG_SPI_SLAVE=y | 232 | CONFIG_SPI_SLAVE=y |
421 | CONFIG_SPI_SLAVE_TIME=y | 233 | CONFIG_SPI_SLAVE_TIME=y |
422 | CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y | 234 | CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y |
423 | CONFIG_SPMI=y | 235 | CONFIG_GPIO_SYSFS=y |
424 | CONFIG_PINCTRL_SINGLE=y | 236 | CONFIG_GPIO_MXC=y |
425 | CONFIG_PINCTRL_MAX77620=y | 237 | CONFIG_GPIO_SIOX=m |
426 | CONFIG_PINCTRL_IMX8MM=y | ||
427 | CONFIG_PINCTRL_IMX8MN=y | ||
428 | CONFIG_PINCTRL_IMX8MP=y | ||
429 | CONFIG_PINCTRL_IMX8MQ=y | ||
430 | CONFIG_PINCTRL_IMX8QM=y | ||
431 | CONFIG_PINCTRL_IMX8QXP=y | ||
432 | CONFIG_PINCTRL_IMX8DXL=y | ||
433 | CONFIG_PINCTRL_IMX8ULP=y | ||
434 | CONFIG_PINCTRL_S32V234=y | ||
435 | CONFIG_GPIO_ALTERA=m | ||
436 | CONFIG_GPIO_DWAPB=y | ||
437 | CONFIG_GPIO_MB86S7X=y | ||
438 | CONFIG_GPIO_MPC8XXX=y | ||
439 | CONFIG_GPIO_PL061=y | ||
440 | CONFIG_GPIO_IMX_RPMSG=y | 238 | CONFIG_GPIO_IMX_RPMSG=y |
441 | CONFIG_GPIO_WCD934X=m | ||
442 | CONFIG_GPIO_XGENE=y | ||
443 | CONFIG_GPIO_MAX732X=y | 239 | CONFIG_GPIO_MAX732X=y |
444 | CONFIG_GPIO_PCA953X=y | 240 | CONFIG_GPIO_PCA953X=y |
445 | CONFIG_GPIO_PCA953X_IRQ=y | 241 | CONFIG_GPIO_PCF857X=y |
446 | CONFIG_GPIO_BD9571MWV=m | 242 | CONFIG_GPIO_STMPE=y |
447 | CONFIG_GPIO_MAX77620=y | 243 | CONFIG_GPIO_74X164=y |
448 | CONFIG_GPIO_SL28CPLD=m | 244 | CONFIG_POWER_RESET=y |
449 | CONFIG_POWER_RESET_BRCMSTB=y | ||
450 | CONFIG_POWER_RESET_XGENE=y | ||
451 | CONFIG_POWER_RESET_SYSCON=y | 245 | CONFIG_POWER_RESET_SYSCON=y |
452 | CONFIG_SYSCON_REBOOT_MODE=y | 246 | CONFIG_POWER_RESET_SYSCON_POWEROFF=y |
453 | CONFIG_BATTERY_SBS=m | 247 | CONFIG_POWER_SUPPLY=y |
454 | CONFIG_BATTERY_BQ27XXX=y | 248 | CONFIG_SABRESD_MAX8903=y |
455 | CONFIG_BATTERY_MAX17042=m | 249 | CONFIG_RN5T618_POWER=m |
456 | CONFIG_CHARGER_BQ25890=m | 250 | CONFIG_SENSORS_MC13783_ADC=y |
457 | CONFIG_CHARGER_BQ25980=m | 251 | CONFIG_SENSORS_GPIO_FAN=y |
458 | CONFIG_SENSORS_ARM_SCMI=y | 252 | CONFIG_SENSORS_IIO_HWMON=y |
459 | CONFIG_SENSORS_ARM_SCPI=y | 253 | CONFIG_SENSORS_MAX17135=y |
460 | CONFIG_SENSORS_FP9931=y | 254 | CONFIG_THERMAL=y |
461 | CONFIG_SENSORS_LM90=m | 255 | CONFIG_THERMAL_STATISTICS=y |
462 | CONFIG_SENSORS_PWM_FAN=m | ||
463 | CONFIG_SENSORS_SL28CPLD=m | ||
464 | CONFIG_SENSORS_INA2XX=m | ||
465 | CONFIG_SENSORS_INA3221=m | ||
466 | CONFIG_THERMAL_WRITABLE_TRIPS=y | 256 | CONFIG_THERMAL_WRITABLE_TRIPS=y |
467 | CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y | ||
468 | CONFIG_CPU_THERMAL=y | 257 | CONFIG_CPU_THERMAL=y |
469 | CONFIG_THERMAL_EMULATION=y | 258 | CONFIG_IMX_THERMAL=y |
470 | CONFIG_IMX_SC_THERMAL=y | ||
471 | CONFIG_IMX8MM_THERMAL=y | ||
472 | CONFIG_DEVICE_THERMAL=y | 259 | CONFIG_DEVICE_THERMAL=y |
473 | CONFIG_QORIQ_THERMAL=y | ||
474 | CONFIG_WATCHDOG=y | 260 | CONFIG_WATCHDOG=y |
475 | CONFIG_SL28CPLD_WATCHDOG=m | 261 | CONFIG_DA9063_WATCHDOG=m |
476 | CONFIG_ARM_SP805_WATCHDOG=y | 262 | CONFIG_DA9062_WATCHDOG=y |
477 | CONFIG_ARM_SBSA_WATCHDOG=y | 263 | CONFIG_RN5T618_WATCHDOG=y |
478 | CONFIG_DW_WATCHDOG=y | ||
479 | CONFIG_IMX2_WDT=y | 264 | CONFIG_IMX2_WDT=y |
480 | CONFIG_IMX_SC_WDT=y | ||
481 | CONFIG_IMX7ULP_WDT=y | 265 | CONFIG_IMX7ULP_WDT=y |
482 | CONFIG_ARM_SMC_WATCHDOG=y | 266 | CONFIG_MFD_DA9052_I2C=y |
483 | CONFIG_XEN_WDT=y | 267 | CONFIG_MFD_DA9062=y |
484 | CONFIG_MFD_BD9571MWV=y | 268 | CONFIG_MFD_DA9063=y |
485 | CONFIG_MFD_AXP20X_I2C=y | 269 | CONFIG_MFD_MC13XXX_SPI=y |
486 | CONFIG_MFD_IMX_MIX=y | 270 | CONFIG_MFD_MC13XXX_I2C=y |
487 | CONFIG_MFD_HI6421_PMIC=y | 271 | CONFIG_MFD_MAX17135=y |
488 | CONFIG_MFD_FP9931=y | 272 | CONFIG_MFD_RN5T618=y |
489 | CONFIG_MFD_MAX77620=y | 273 | CONFIG_MFD_SI476X_CORE=y |
490 | CONFIG_MFD_MT6397=y | 274 | CONFIG_MFD_STMPE=y |
491 | CONFIG_MFD_RK808=y | 275 | CONFIG_REGULATOR=y |
492 | CONFIG_MFD_SEC_CORE=y | ||
493 | CONFIG_MFD_SL28CPLD=y | ||
494 | CONFIG_MFD_ROHM_BD718XX=y | ||
495 | CONFIG_MFD_WCD934X=m | ||
496 | CONFIG_REGULATOR_FIXED_VOLTAGE=y | 276 | CONFIG_REGULATOR_FIXED_VOLTAGE=y |
497 | CONFIG_REGULATOR_AXP20X=y | 277 | CONFIG_REGULATOR_ANATOP=y |
498 | CONFIG_REGULATOR_BD718XX=y | 278 | CONFIG_REGULATOR_DA9052=y |
499 | CONFIG_REGULATOR_BD9571MWV=y | 279 | CONFIG_REGULATOR_DA9062=y |
500 | CONFIG_REGULATOR_FAN53555=y | 280 | CONFIG_REGULATOR_DA9063=y |
501 | CONFIG_REGULATOR_GPIO=y | 281 | CONFIG_REGULATOR_GPIO=y |
502 | CONFIG_REGULATOR_HI6421V530=y | 282 | CONFIG_REGULATOR_LTC3676=y |
503 | CONFIG_REGULATOR_MAX77620=y | 283 | CONFIG_REGULATOR_MAX17135=y |
504 | CONFIG_REGULATOR_MAX8973=y | 284 | CONFIG_REGULATOR_MC13783=y |
505 | CONFIG_REGULATOR_FP9931=y | 285 | CONFIG_REGULATOR_MC13892=y |
506 | CONFIG_REGULATOR_MP8859=y | 286 | CONFIG_REGULATOR_PF1550_RPMSG=y |
507 | CONFIG_REGULATOR_MT6358=y | ||
508 | CONFIG_REGULATOR_MT6397=y | ||
509 | CONFIG_REGULATOR_PCA9450=y | ||
510 | CONFIG_REGULATOR_PF8X00=y | ||
511 | CONFIG_REGULATOR_PFUZE100=y | 287 | CONFIG_REGULATOR_PFUZE100=y |
512 | CONFIG_REGULATOR_PWM=y | 288 | CONFIG_REGULATOR_RN5T618=y |
513 | CONFIG_REGULATOR_QCOM_SPMI=y | 289 | CONFIG_RC_CORE=y |
514 | CONFIG_REGULATOR_RK808=y | ||
515 | CONFIG_REGULATOR_S2MPS11=y | ||
516 | CONFIG_REGULATOR_TPS65132=m | ||
517 | CONFIG_REGULATOR_VCTRL=m | ||
518 | CONFIG_RC_CORE=m | ||
519 | CONFIG_RC_DECODERS=y | ||
520 | CONFIG_IR_NEC_DECODER=m | ||
521 | CONFIG_IR_RC5_DECODER=m | ||
522 | CONFIG_IR_RC6_DECODER=m | ||
523 | CONFIG_IR_JVC_DECODER=m | ||
524 | CONFIG_IR_SONY_DECODER=m | ||
525 | CONFIG_IR_SANYO_DECODER=m | ||
526 | CONFIG_IR_SHARP_DECODER=m | ||
527 | CONFIG_IR_MCE_KBD_DECODER=m | ||
528 | CONFIG_IR_XMP_DECODER=m | ||
529 | CONFIG_IR_IMON_DECODER=m | ||
530 | CONFIG_IR_RCMM_DECODER=m | ||
531 | CONFIG_RC_DEVICES=y | 290 | CONFIG_RC_DEVICES=y |
532 | CONFIG_IR_GPIO_CIR=m | 291 | CONFIG_IR_GPIO_CIR=y |
533 | CONFIG_MEDIA_SUPPORT=y | 292 | CONFIG_MEDIA_SUPPORT=y |
534 | CONFIG_MEDIA_CAMERA_SUPPORT=y | ||
535 | CONFIG_MEDIA_ANALOG_TV_SUPPORT=y | ||
536 | CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y | ||
537 | CONFIG_MEDIA_SDR_SUPPORT=y | ||
538 | CONFIG_MEDIA_PLATFORM_SUPPORT=y | ||
539 | # CONFIG_DVB_NET is not set | ||
540 | CONFIG_MEDIA_USB_SUPPORT=y | 293 | CONFIG_MEDIA_USB_SUPPORT=y |
541 | CONFIG_USB_VIDEO_CLASS=m | 294 | CONFIG_USB_VIDEO_CLASS=m |
295 | CONFIG_RADIO_SI476X=y | ||
542 | CONFIG_V4L_PLATFORM_DRIVERS=y | 296 | CONFIG_V4L_PLATFORM_DRIVERS=y |
543 | CONFIG_VIDEO_MXC_CAPTURE=y | 297 | CONFIG_VIDEO_MUX=y |
544 | CONFIG_VIDEO_MX8_CAPTURE=y | 298 | CONFIG_VIDEO_MXC_CAPTURE=m |
545 | CONFIG_VIDEO_MXC_CSI_CAMERA=y | 299 | CONFIG_VIDEO_MXC_OUTPUT=y |
546 | CONFIG_MXC_MIPI_CSI=y | 300 | CONFIG_VIDEO_MXC_CSI_CAMERA=m |
547 | CONFIG_MXC_CAMERA_OV5640_MIPI_V2=y | 301 | CONFIG_MXC_VADC=m |
302 | CONFIG_MXC_MIPI_CSI=m | ||
303 | CONFIG_MXC_CAMERA_OV5640=m | ||
304 | CONFIG_MXC_CAMERA_OV5640_V2=m | ||
305 | CONFIG_MXC_CAMERA_OV5640_MIPI=m | ||
306 | CONFIG_MXC_CAMERA_OV5640_MIPI_V2=m | ||
307 | CONFIG_MXC_TVIN_ADV7180=m | ||
308 | CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m | ||
309 | CONFIG_VIDEO_MXC_IPU_OUTPUT=y | ||
310 | CONFIG_VIDEO_MXC_PXP_V4L2=y | ||
548 | CONFIG_V4L_MEM2MEM_DRIVERS=y | 311 | CONFIG_V4L_MEM2MEM_DRIVERS=y |
549 | CONFIG_VIDEO_IMX8_JPEG=m | 312 | CONFIG_VIDEO_CODA=m |
550 | CONFIG_SDR_PLATFORM_DRIVERS=y | 313 | CONFIG_VIDEO_IMX_PXP=y |
551 | CONFIG_VIDEO_IMX219=m | 314 | CONFIG_VIDEO_ADV7180=m |
552 | CONFIG_VIDEO_OV5640=y | 315 | CONFIG_VIDEO_OV2680=m |
553 | CONFIG_VIDEO_OV5645=m | 316 | CONFIG_VIDEO_OV5645=m |
554 | CONFIG_IMX_DPU_CORE=y | ||
555 | CONFIG_IMX_LCDIF_CORE=y | ||
556 | CONFIG_IMX_LCDIFV3_CORE=y | ||
557 | CONFIG_DRM=y | 317 | CONFIG_DRM=y |
558 | CONFIG_DRM_I2C_NXP_TDA998X=m | 318 | CONFIG_DRM_PANEL_LVDS=y |
559 | CONFIG_DRM_MALI_DISPLAY=m | ||
560 | CONFIG_DRM_NOUVEAU=m | ||
561 | CONFIG_DRM_RCAR_DW_HDMI=m | ||
562 | CONFIG_DRM_RCAR_LVDS=m | ||
563 | CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m | ||
564 | CONFIG_DRM_PANEL_LVDS=m | ||
565 | CONFIG_DRM_PANEL_SIMPLE=y | 319 | CONFIG_DRM_PANEL_SIMPLE=y |
566 | CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m | ||
567 | CONFIG_DRM_PANEL_RAYDIUM_RM67191=y | ||
568 | CONFIG_DRM_PANEL_RAYDIUM_RM68200=y | ||
569 | CONFIG_DRM_PANEL_ROCKTECK_HIMAX8394F=y | ||
570 | CONFIG_DRM_PANEL_SEIKO_43WVF1G=y | 320 | CONFIG_DRM_PANEL_SEIKO_43WVF1G=y |
571 | CONFIG_DRM_PANEL_SITRONIX_ST7703=m | 321 | CONFIG_DRM_TI_TFP410=y |
572 | CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m | ||
573 | CONFIG_DRM_PANEL_WKS_101WX001=y | ||
574 | CONFIG_DRM_DISPLAY_CONNECTOR=m | ||
575 | CONFIG_DRM_LONTIUM_LT8912B=m | ||
576 | CONFIG_DRM_LONTIUM_LT9611=m | ||
577 | CONFIG_DRM_LONTIUM_LT9611UXC=m | ||
578 | CONFIG_DRM_FSL_IMX_LVDS_BRIDGE=y | ||
579 | CONFIG_DRM_NWL_MIPI_DSI=y | ||
580 | CONFIG_DRM_NXP_SEIKO_43WVFIG=y | ||
581 | CONFIG_DRM_PARADE_PS8640=m | ||
582 | CONFIG_DRM_SII902X=m | ||
583 | CONFIG_DRM_SIMPLE_BRIDGE=m | ||
584 | CONFIG_DRM_THINE_THC63LVD1024=m | ||
585 | CONFIG_DRM_TI_SN65DSI86=m | ||
586 | CONFIG_DRM_I2C_ADV7511=y | ||
587 | CONFIG_DRM_I2C_ADV7511_AUDIO=y | ||
588 | CONFIG_DRM_CDNS_HDCP=y | ||
589 | CONFIG_DRM_CDNS_HDMI_CEC=y | ||
590 | CONFIG_DRM_DW_HDMI_AHB_AUDIO=m | ||
591 | CONFIG_DRM_DW_HDMI_I2S_AUDIO=m | ||
592 | CONFIG_DRM_DW_HDMI_GP_AUDIO=y | ||
593 | CONFIG_DRM_DW_HDMI_CEC=m | ||
594 | CONFIG_DRM_ITE_IT6263=y | ||
595 | CONFIG_DRM_ITE_IT6161=y | ||
596 | CONFIG_DRM_IMX=y | ||
597 | CONFIG_DRM_IMX_LCDIF_MUX_DISPLAY=y | ||
598 | CONFIG_DRM_IMX_PARALLEL_DISPLAY=y | ||
599 | CONFIG_DRM_IMX_TVE=y | ||
600 | CONFIG_DRM_IMX_LDB=y | ||
601 | CONFIG_DRM_IMX8QM_LDB=y | ||
602 | CONFIG_DRM_IMX8QXP_LDB=y | ||
603 | CONFIG_DRM_IMX8MP_LDB=y | ||
604 | CONFIG_DRM_IMX_HDMI=y | ||
605 | CONFIG_DRM_IMX_SEC_DSIM=y | ||
606 | CONFIG_DRM_IMX_DCNANO=y | ||
607 | CONFIG_DRM_IMX_DCSS=y | ||
608 | CONFIG_DRM_IMX_CDNS_MHDP=y | ||
609 | CONFIG_DRM_ETNAVIV=m | ||
610 | CONFIG_DRM_HISI_HIBMC=m | ||
611 | CONFIG_DRM_HISI_KIRIN=m | ||
612 | CONFIG_DRM_MXSFB=y | ||
613 | CONFIG_DRM_PL111=m | ||
614 | CONFIG_DRM_LIMA=m | ||
615 | CONFIG_DRM_PANFROST=m | ||
616 | CONFIG_FB=y | 322 | CONFIG_FB=y |
617 | CONFIG_FB_ARMCLCD=y | 323 | CONFIG_FB_MXS=y |
618 | CONFIG_FB_EFI=y | 324 | CONFIG_FB_MXC_SYNC_PANEL=y |
325 | CONFIG_FB_MXC_OVERLAY=y | ||
326 | CONFIG_FB_MXC_MIPI_DSI_NORTHWEST=y | ||
327 | CONFIG_FB_MXC_ADV7535=y | ||
328 | CONFIG_FB_MXC_TRULY_PANEL_TFT3P5581E=y | ||
329 | CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y | ||
330 | CONFIG_FB_MXC_RK_PANEL_RK055AHD042=y | ||
331 | CONFIG_FB_MXC_RK_PANEL_RK055IQH042=y | ||
332 | CONFIG_FB_MXC_MIPI_DSI_SAMSUNG=y | ||
333 | CONFIG_FB_MXC_MIPI_DSI=y | ||
334 | CONFIG_FB_MXC_LDB=y | ||
335 | CONFIG_FB_MXC_EINK_PANEL=y | ||
619 | CONFIG_FB_MXC_EINK_V2_PANEL=y | 336 | CONFIG_FB_MXC_EINK_V2_PANEL=y |
337 | CONFIG_FB_MXC_HDMI=y | ||
338 | CONFIG_FB_MXS_SII902X=y | ||
339 | CONFIG_FB_MXC_DCIC=y | ||
340 | CONFIG_LCD_CLASS_DEVICE=y | ||
341 | CONFIG_LCD_L4F00242T03=y | ||
342 | CONFIG_LCD_PLATFORM=y | ||
620 | CONFIG_BACKLIGHT_PWM=y | 343 | CONFIG_BACKLIGHT_PWM=y |
621 | CONFIG_BACKLIGHT_LP855X=m | 344 | CONFIG_BACKLIGHT_GPIO=y |
345 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
622 | CONFIG_LOGO=y | 346 | CONFIG_LOGO=y |
623 | # CONFIG_LOGO_LINUX_MONO is not set | ||
624 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
625 | CONFIG_SOUND=y | 347 | CONFIG_SOUND=y |
626 | CONFIG_SND=y | 348 | CONFIG_SND=y |
627 | CONFIG_SND_ALOOP=m | ||
628 | CONFIG_SND_USB_AUDIO=m | 349 | CONFIG_SND_USB_AUDIO=m |
629 | CONFIG_SND_SOC=y | 350 | CONFIG_SND_SOC=y |
630 | CONFIG_SND_SOC_FSL_ASRC=m | 351 | CONFIG_SND_SOC_FSL_ASRC=y |
631 | CONFIG_SND_SOC_FSL_MQS=m | 352 | CONFIG_SND_SOC_FSL_MQS=y |
632 | CONFIG_SND_SOC_FSL_MICFIL=m | 353 | CONFIG_SND_SOC_FSL_RPMSG=y |
633 | CONFIG_SND_SOC_FSL_EASRC=m | 354 | CONFIG_SND_IMX_SOC=y |
634 | CONFIG_SND_SOC_FSL_XCVR=m | 355 | CONFIG_SND_SOC_EUKREA_TLV320=y |
635 | CONFIG_SND_SOC_FSL_ESAI_CLIENT=y | 356 | CONFIG_SND_SOC_IMX_ES8328=y |
636 | CONFIG_SND_SOC_FSL_RPMSG=m | 357 | CONFIG_SND_SOC_IMX_SGTL5000=y |
637 | CONFIG_SND_IMX_SOC=m | 358 | CONFIG_SND_SOC_IMX_SPDIF=y |
638 | CONFIG_SND_SOC_IMX_SGTL5000=m | 359 | CONFIG_SND_SOC_FSL_ASOC_CARD=y |
639 | CONFIG_SND_SOC_IMX_SPDIF=m | 360 | CONFIG_SND_SOC_IMX_HDMI=y |
640 | CONFIG_SND_SOC_FSL_ASOC_CARD=m | 361 | CONFIG_SND_SOC_IMX6QDL_HDMI=y |
641 | CONFIG_SND_SOC_IMX_AUDMIX=m | 362 | CONFIG_SND_SOC_AC97_CODEC=y |
642 | CONFIG_SND_SOC_IMX_HDMI=m | ||
643 | CONFIG_SND_SOC_IMX_CARD=m | ||
644 | CONFIG_SND_SOC_IMX_PDM_MIC=m | ||
645 | CONFIG_SND_SOC_IMX_PCM512X=m | ||
646 | CONFIG_SND_SOC_SOF_TOPLEVEL=y | ||
647 | CONFIG_SND_SOC_SOF_OF=m | ||
648 | CONFIG_SND_SOC_SOF_COMPRESS=y | ||
649 | CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y | ||
650 | CONFIG_SND_SOC_SOF_IMX8=m | ||
651 | CONFIG_SND_SOC_SOF_IMX8M=m | ||
652 | CONFIG_SND_SOC_SOF_IMX8ULP=m | ||
653 | CONFIG_SND_SOC_AK4613=m | ||
654 | CONFIG_SND_SOC_BT_SCO=y | ||
655 | CONFIG_SND_SOC_CROS_EC_CODEC=m | ||
656 | CONFIG_SND_SOC_CS42XX8_I2C=y | 363 | CONFIG_SND_SOC_CS42XX8_I2C=y |
657 | CONFIG_SND_SOC_DMIC=m | 364 | CONFIG_SND_SOC_WM8960=y |
658 | CONFIG_SND_SOC_ES7134=m | 365 | CONFIG_SND_SOC_WM8962=y |
659 | CONFIG_SND_SOC_ES7241=m | 366 | CONFIG_SND_SOC_RPMSG_WM8960=y |
660 | CONFIG_SND_SOC_GTM601=m | ||
661 | CONFIG_SND_SOC_MAX98357A=m | ||
662 | CONFIG_SND_SOC_MAX98927=m | ||
663 | CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m | ||
664 | CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m | ||
665 | CONFIG_SND_SOC_PCM3168A_I2C=m | ||
666 | CONFIG_SND_SOC_RT5659=m | ||
667 | CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m | ||
668 | CONFIG_SND_SOC_SIMPLE_MUX=m | ||
669 | CONFIG_SND_SOC_SPDIF=m | ||
670 | CONFIG_SND_SOC_TAS571X=m | ||
671 | CONFIG_SND_SOC_WCD934X=m | ||
672 | CONFIG_SND_SOC_WM8524=y | ||
673 | CONFIG_SND_SOC_WM8904=m | ||
674 | CONFIG_SND_SOC_WM8960=m | ||
675 | CONFIG_SND_SOC_WM8962=m | ||
676 | CONFIG_SND_SOC_WSA881X=m | ||
677 | CONFIG_SND_SOC_RPMSG_WM8960=m | ||
678 | CONFIG_SND_SOC_RPMSG_AK4497=m | ||
679 | CONFIG_SND_SOC_LPASS_WSA_MACRO=m | ||
680 | CONFIG_SND_SOC_LPASS_VA_MACRO=m | ||
681 | CONFIG_SND_SIMPLE_CARD=y | 367 | CONFIG_SND_SIMPLE_CARD=y |
682 | CONFIG_SND_AUDIO_GRAPH_CARD=y | 368 | CONFIG_HID_MULTITOUCH=y |
683 | CONFIG_HID_MULTITOUCH=m | ||
684 | CONFIG_I2C_HID_ACPI=m | ||
685 | CONFIG_I2C_HID_OF=m | ||
686 | CONFIG_USB_CONN_GPIO=y | ||
687 | CONFIG_USB=y | 369 | CONFIG_USB=y |
688 | CONFIG_USB_OTG=y | 370 | CONFIG_USB_ANNOUNCE_NEW_DEVICES=y |
689 | CONFIG_USB_XHCI_HCD=y | ||
690 | CONFIG_USB_XHCI_PCI_RENESAS=m | ||
691 | CONFIG_USB_EHCI_HCD=y | 371 | CONFIG_USB_EHCI_HCD=y |
692 | CONFIG_USB_EHCI_HCD_PLATFORM=y | ||
693 | CONFIG_USB_OHCI_HCD=y | ||
694 | CONFIG_USB_OHCI_HCD_PLATFORM=y | ||
695 | CONFIG_USB_HCD_TEST_MODE=y | 372 | CONFIG_USB_HCD_TEST_MODE=y |
696 | CONFIG_USB_ACM=m | 373 | CONFIG_USB_ACM=m |
697 | CONFIG_USB_STORAGE=y | 374 | CONFIG_USB_STORAGE=y |
698 | CONFIG_USB_UAS=y | ||
699 | CONFIG_USB_CDNS_SUPPORT=y | ||
700 | CONFIG_USB_CDNS3=y | ||
701 | CONFIG_USB_CDNS3_GADGET=y | ||
702 | CONFIG_USB_CDNS3_HOST=y | ||
703 | CONFIG_USB_MUSB_HDRC=y | ||
704 | CONFIG_USB_DWC3=y | ||
705 | CONFIG_USB_DWC2=y | ||
706 | CONFIG_USB_CHIPIDEA=y | 375 | CONFIG_USB_CHIPIDEA=y |
707 | CONFIG_USB_CHIPIDEA_UDC=y | 376 | CONFIG_USB_CHIPIDEA_UDC=y |
708 | CONFIG_USB_CHIPIDEA_HOST=y | 377 | CONFIG_USB_CHIPIDEA_HOST=y |
709 | CONFIG_USB_ISP1760=y | 378 | CONFIG_USB_SERIAL=m |
710 | CONFIG_USB_SERIAL=y | ||
711 | CONFIG_USB_SERIAL_CONSOLE=y | ||
712 | CONFIG_USB_SERIAL_GENERIC=y | 379 | CONFIG_USB_SERIAL_GENERIC=y |
713 | CONFIG_USB_SERIAL_SIMPLE=y | 380 | CONFIG_USB_SERIAL_FTDI_SIO=m |
714 | CONFIG_USB_SERIAL_CP210X=m | ||
715 | CONFIG_USB_SERIAL_FTDI_SIO=y | ||
716 | CONFIG_USB_SERIAL_OPTION=m | 381 | CONFIG_USB_SERIAL_OPTION=m |
717 | CONFIG_USB_TEST=m | 382 | CONFIG_USB_TEST=m |
718 | CONFIG_USB_EHSET_TEST_FIXTURE=y | 383 | CONFIG_USB_EHSET_TEST_FIXTURE=m |
719 | CONFIG_USB_HSIC_USB3503=y | ||
720 | CONFIG_NOP_USB_XCEIV=y | 384 | CONFIG_NOP_USB_XCEIV=y |
721 | CONFIG_USB_MXS_PHY=y | 385 | CONFIG_USB_MXS_PHY=y |
722 | CONFIG_USB_ULPI=y | ||
723 | CONFIG_USB_GADGET=y | 386 | CONFIG_USB_GADGET=y |
724 | CONFIG_USB_SNP_UDC_PLAT=y | ||
725 | CONFIG_USB_BDC_UDC=y | ||
726 | CONFIG_USB_CONFIGFS=y | 387 | CONFIG_USB_CONFIGFS=y |
727 | CONFIG_USB_CONFIGFS_SERIAL=y | 388 | CONFIG_USB_CONFIGFS_SERIAL=y |
728 | CONFIG_USB_CONFIGFS_ACM=y | 389 | CONFIG_USB_CONFIGFS_ACM=y |
@@ -736,253 +397,131 @@ CONFIG_USB_CONFIGFS_MASS_STORAGE=y | |||
736 | CONFIG_USB_CONFIGFS_F_LB_SS=y | 397 | CONFIG_USB_CONFIGFS_F_LB_SS=y |
737 | CONFIG_USB_CONFIGFS_F_FS=y | 398 | CONFIG_USB_CONFIGFS_F_FS=y |
738 | CONFIG_USB_CONFIGFS_F_UAC1=y | 399 | CONFIG_USB_CONFIGFS_F_UAC1=y |
739 | CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y | ||
740 | CONFIG_USB_CONFIGFS_F_UAC2=y | 400 | CONFIG_USB_CONFIGFS_F_UAC2=y |
741 | CONFIG_USB_CONFIGFS_F_MIDI=y | 401 | CONFIG_USB_CONFIGFS_F_MIDI=y |
742 | CONFIG_USB_CONFIGFS_F_HID=y | 402 | CONFIG_USB_CONFIGFS_F_HID=y |
743 | CONFIG_USB_CONFIGFS_F_UVC=y | 403 | CONFIG_USB_CONFIGFS_F_UVC=y |
404 | CONFIG_USB_CONFIGFS_F_PRINTER=y | ||
744 | CONFIG_USB_ZERO=m | 405 | CONFIG_USB_ZERO=m |
745 | CONFIG_USB_AUDIO=m | 406 | CONFIG_USB_AUDIO=m |
746 | CONFIG_USB_ETH=m | 407 | CONFIG_USB_ETH=m |
408 | CONFIG_USB_G_NCM=m | ||
409 | CONFIG_USB_GADGETFS=m | ||
410 | CONFIG_USB_FUNCTIONFS=m | ||
747 | CONFIG_USB_MASS_STORAGE=m | 411 | CONFIG_USB_MASS_STORAGE=m |
748 | CONFIG_USB_G_SERIAL=m | 412 | CONFIG_USB_G_SERIAL=m |
749 | CONFIG_TYPEC=y | ||
750 | CONFIG_TYPEC_TCPM=y | ||
751 | CONFIG_TYPEC_TCPCI=y | ||
752 | CONFIG_TYPEC_FUSB302=m | ||
753 | CONFIG_TYPEC_TPS6598X=m | ||
754 | CONFIG_TYPEC_HD3SS3220=m | ||
755 | CONFIG_TYPEC_SWITCH_GPIO=y | ||
756 | CONFIG_MMC=y | 413 | CONFIG_MMC=y |
757 | CONFIG_MMC_BLOCK_MINORS=32 | ||
758 | CONFIG_MMC_ARMMMCI=y | ||
759 | CONFIG_MMC_SDHCI=y | 414 | CONFIG_MMC_SDHCI=y |
760 | CONFIG_MMC_SDHCI_ACPI=y | ||
761 | CONFIG_MMC_SDHCI_PLTFM=y | 415 | CONFIG_MMC_SDHCI_PLTFM=y |
762 | CONFIG_MMC_SDHCI_OF_ARASAN=y | ||
763 | CONFIG_MMC_SDHCI_OF_ESDHC=y | ||
764 | CONFIG_MMC_SDHCI_CADENCE=y | ||
765 | CONFIG_MMC_SDHCI_ESDHC_IMX=y | 416 | CONFIG_MMC_SDHCI_ESDHC_IMX=y |
766 | CONFIG_MMC_SDHCI_F_SDH30=y | ||
767 | CONFIG_MMC_SPI=y | ||
768 | CONFIG_MMC_DW=y | ||
769 | CONFIG_MMC_DW_EXYNOS=y | ||
770 | CONFIG_MMC_DW_HI3798CV200=y | ||
771 | CONFIG_MMC_DW_K3=y | ||
772 | CONFIG_MMC_MTK=y | ||
773 | CONFIG_MMC_SDHCI_XENON=y | ||
774 | CONFIG_MMC_SDHCI_AM654=y | ||
775 | CONFIG_NEW_LEDS=y | 417 | CONFIG_NEW_LEDS=y |
776 | CONFIG_LEDS_CLASS=y | 418 | CONFIG_LEDS_CLASS=y |
777 | CONFIG_LEDS_LM3692X=m | ||
778 | CONFIG_LEDS_PCA9532=m | ||
779 | CONFIG_LEDS_GPIO=y | 419 | CONFIG_LEDS_GPIO=y |
780 | CONFIG_LEDS_PWM=y | 420 | CONFIG_LEDS_PWM=y |
781 | CONFIG_LEDS_SYSCON=y | 421 | CONFIG_LEDS_TRIGGERS=y |
782 | CONFIG_LEDS_TRIGGER_TIMER=y | 422 | CONFIG_LEDS_TRIGGER_TIMER=y |
783 | CONFIG_LEDS_TRIGGER_DISK=y | 423 | CONFIG_LEDS_TRIGGER_ONESHOT=y |
784 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y | 424 | CONFIG_LEDS_TRIGGER_HEARTBEAT=y |
785 | CONFIG_LEDS_TRIGGER_CPU=y | 425 | CONFIG_LEDS_TRIGGER_BACKLIGHT=y |
426 | CONFIG_LEDS_TRIGGER_GPIO=y | ||
786 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y | 427 | CONFIG_LEDS_TRIGGER_DEFAULT_ON=y |
787 | CONFIG_LEDS_TRIGGER_PANIC=y | ||
788 | CONFIG_EDAC=y | ||
789 | CONFIG_EDAC_GHES=y | ||
790 | CONFIG_EDAC_LAYERSCAPE=m | ||
791 | CONFIG_EDAC_SYNOPSYS=y | ||
792 | CONFIG_RTC_CLASS=y | 428 | CONFIG_RTC_CLASS=y |
793 | CONFIG_RTC_DRV_DS1307=m | 429 | CONFIG_RTC_INTF_DEV_UIE_EMUL=y |
794 | CONFIG_RTC_DRV_HYM8563=m | 430 | CONFIG_RTC_DRV_DS1307=y |
795 | CONFIG_RTC_DRV_MAX77686=y | 431 | CONFIG_RTC_DRV_ISL1208=y |
796 | CONFIG_RTC_DRV_RK808=m | 432 | CONFIG_RTC_DRV_PCF8523=y |
797 | CONFIG_RTC_DRV_PCF85363=m | 433 | CONFIG_RTC_DRV_PCF8563=y |
798 | CONFIG_RTC_DRV_M41T80=m | 434 | CONFIG_RTC_DRV_M41T80=y |
799 | CONFIG_RTC_DRV_RX8581=m | 435 | CONFIG_RTC_DRV_RC5T619=y |
800 | CONFIG_RTC_DRV_RV3028=m | 436 | CONFIG_RTC_DRV_DA9063=y |
801 | CONFIG_RTC_DRV_RV8803=m | 437 | CONFIG_RTC_DRV_MC13XXX=y |
802 | CONFIG_RTC_DRV_S5M=y | 438 | CONFIG_RTC_DRV_MXC=y |
803 | CONFIG_RTC_DRV_DS3232=y | 439 | CONFIG_RTC_DRV_MXC_V2=y |
804 | CONFIG_RTC_DRV_PCF2127=m | ||
805 | CONFIG_RTC_DRV_EFI=y | ||
806 | CONFIG_RTC_DRV_CROS_EC=y | ||
807 | CONFIG_RTC_DRV_FSL_FTM_ALARM=m | ||
808 | CONFIG_RTC_DRV_PL031=y | ||
809 | CONFIG_RTC_DRV_SNVS=y | 440 | CONFIG_RTC_DRV_SNVS=y |
810 | CONFIG_RTC_DRV_IMX_SC=y | ||
811 | CONFIG_RTC_DRV_IMX_RPMSG=y | 441 | CONFIG_RTC_DRV_IMX_RPMSG=y |
812 | CONFIG_DMADEVICES=y | 442 | CONFIG_DMADEVICES=y |
813 | CONFIG_BCM_SBA_RAID=m | ||
814 | CONFIG_FSL_EDMA=y | 443 | CONFIG_FSL_EDMA=y |
815 | CONFIG_FSL_QDMA=m | ||
816 | CONFIG_FSL_EDMA_V3=y | ||
817 | CONFIG_IMX_SDMA=y | 444 | CONFIG_IMX_SDMA=y |
818 | CONFIG_MV_XOR_V2=y | ||
819 | CONFIG_MXS_DMA=y | 445 | CONFIG_MXS_DMA=y |
446 | CONFIG_MXC_PXP_V2=y | ||
820 | CONFIG_MXC_PXP_V3=y | 447 | CONFIG_MXC_PXP_V3=y |
821 | CONFIG_PL330_DMA=y | 448 | CONFIG_DMATEST=m |
822 | CONFIG_QCOM_HIDMA_MGMT=y | ||
823 | CONFIG_QCOM_HIDMA=y | ||
824 | CONFIG_FSL_DPAA2_QDMA=m | ||
825 | CONFIG_DMATEST=y | ||
826 | CONFIG_DMABUF_HEAPS=y | ||
827 | CONFIG_DMABUF_HEAPS_SYSTEM=y | ||
828 | CONFIG_DMABUF_HEAPS_CMA=y | ||
829 | CONFIG_DMABUF_HEAPS_DSP=y | ||
830 | CONFIG_UIO_PCI_GENERIC=y | ||
831 | CONFIG_UIO_IVSHMEM=y | ||
832 | CONFIG_VFIO=y | ||
833 | CONFIG_VFIO_PCI=y | ||
834 | CONFIG_VFIO_FSL_MC=y | ||
835 | CONFIG_VIRTIO_PCI=y | ||
836 | CONFIG_VIRTIO_BALLOON=y | ||
837 | CONFIG_VIRTIO_MMIO=y | ||
838 | CONFIG_VIRTIO_IVSHMEM=y | ||
839 | CONFIG_XEN_GNTDEV=y | ||
840 | CONFIG_XEN_GRANT_DEV_ALLOC=y | ||
841 | CONFIG_STAGING=y | 449 | CONFIG_STAGING=y |
842 | CONFIG_STAGING_MEDIA=y | 450 | CONFIG_STAGING_MEDIA=y |
843 | CONFIG_VIDEO_HANTRO=m | ||
844 | CONFIG_VIDEO_IMX_CAPTURE=y | ||
845 | CONFIG_IMX8_MEDIA_DEVICE=m | ||
846 | CONFIG_MHDP_HDMIRX=y | ||
847 | CONFIG_MHDP_HDMIRX_CEC=y | ||
848 | CONFIG_FSL_DPAA2=y | ||
849 | CONFIG_FSL_PPFE=y | ||
850 | CONFIG_FSL_PPFE_UTIL_DISABLED=y | ||
851 | CONFIG_CHROME_PLATFORMS=y | ||
852 | CONFIG_CROS_EC=y | ||
853 | CONFIG_CROS_EC_I2C=y | ||
854 | CONFIG_CROS_EC_SPI=y | ||
855 | CONFIG_CROS_EC_CHARDEV=m | ||
856 | CONFIG_CLK_VEXPRESS_OSC=y | ||
857 | CONFIG_COMMON_CLK_RK808=y | ||
858 | CONFIG_COMMON_CLK_SCMI=y | ||
859 | CONFIG_COMMON_CLK_SCPI=y | ||
860 | CONFIG_COMMON_CLK_CS2000_CP=y | ||
861 | CONFIG_COMMON_CLK_FSL_SAI=y | ||
862 | CONFIG_COMMON_CLK_S2MPS11=y | ||
863 | CONFIG_COMMON_CLK_XGENE=y | ||
864 | CONFIG_COMMON_CLK_PWM=y | 451 | CONFIG_COMMON_CLK_PWM=y |
865 | CONFIG_COMMON_CLK_VC5=y | ||
866 | CONFIG_CLK_IMX8MM=y | ||
867 | CONFIG_CLK_IMX8MN=y | ||
868 | CONFIG_CLK_IMX8MP=y | ||
869 | CONFIG_CLK_IMX8MQ=y | ||
870 | CONFIG_CLK_IMX8QXP=y | ||
871 | CONFIG_CLK_IMX8ULP=y | ||
872 | CONFIG_HWSPINLOCK=y | ||
873 | CONFIG_ARM_MHU=y | ||
874 | CONFIG_IMX_MBOX=y | ||
875 | CONFIG_PLATFORM_MHU=y | ||
876 | CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y | ||
877 | CONFIG_ARM_SMMU=y | ||
878 | CONFIG_ARM_SMMU_V3=y | ||
879 | CONFIG_REMOTEPROC=y | 452 | CONFIG_REMOTEPROC=y |
880 | CONFIG_IMX_REMOTEPROC=y | 453 | CONFIG_IMX_REMOTEPROC=y |
881 | CONFIG_IMX_DSP_REMOTEPROC=m | ||
882 | CONFIG_RPMSG_CHAR=m | ||
883 | CONFIG_RPMSG_QCOM_GLINK_RPM=y | ||
884 | CONFIG_SOUNDWIRE=m | ||
885 | CONFIG_SOUNDWIRE_QCOM=m | ||
886 | CONFIG_SOC_BRCMSTB=y | ||
887 | CONFIG_FSL_DPAA=y | ||
888 | CONFIG_FSL_MC_DPIO=y | ||
889 | CONFIG_FSL_RCPM=y | ||
890 | CONFIG_FSL_QIXIS=y | ||
891 | CONFIG_SOC_TI=y | ||
892 | CONFIG_ARM_IMX_BUS_DEVFREQ=m | ||
893 | CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m | ||
894 | CONFIG_EXTCON_PTN5150=m | ||
895 | CONFIG_EXTCON_USB_GPIO=y | 454 | CONFIG_EXTCON_USB_GPIO=y |
896 | CONFIG_EXTCON_USBC_CROS_EC=y | ||
897 | CONFIG_IIO=y | 455 | CONFIG_IIO=y |
898 | CONFIG_FXLS8962AF_I2C=m | 456 | CONFIG_MMA8452=y |
899 | CONFIG_IMX8QXP_ADC=y | 457 | CONFIG_IMX7D_ADC=y |
900 | CONFIG_MAX9611=m | 458 | CONFIG_RN5T618_ADC=y |
901 | CONFIG_QCOM_SPMI_VADC=m | 459 | CONFIG_VF610_ADC=y |
902 | CONFIG_QCOM_SPMI_ADC5=m | ||
903 | CONFIG_IIO_CROS_EC_SENSORS_CORE=m | ||
904 | CONFIG_IIO_CROS_EC_SENSORS=m | ||
905 | CONFIG_FXAS21002C=y | 460 | CONFIG_FXAS21002C=y |
906 | CONFIG_FXOS8700_I2C=y | 461 | CONFIG_FXOS8700_I2C=y |
907 | CONFIG_RPMSG_IIO_PEDOMETER=m | 462 | CONFIG_RPMSG_IIO_PEDOMETER=m |
908 | CONFIG_IIO_ST_LSM6DSX=y | ||
909 | CONFIG_IIO_CROS_EC_LIGHT_PROX=m | ||
910 | CONFIG_SENSORS_ISL29018=y | 463 | CONFIG_SENSORS_ISL29018=y |
911 | CONFIG_VCNL4000=m | 464 | CONFIG_MAG3110=y |
912 | CONFIG_IIO_ST_MAGN_3AXIS=m | ||
913 | CONFIG_IIO_CROS_EC_BARO=m | ||
914 | CONFIG_MPL3115=y | 465 | CONFIG_MPL3115=y |
915 | CONFIG_PWM=y | 466 | CONFIG_PWM=y |
916 | CONFIG_PWM_CROS_EC=m | 467 | CONFIG_PWM_FSL_FTM=y |
917 | CONFIG_PWM_FSL_FTM=m | ||
918 | CONFIG_PWM_IMX27=y | 468 | CONFIG_PWM_IMX27=y |
919 | CONFIG_PWM_RPCHIP=y | 469 | CONFIG_PWM_IMX_TPM=y |
920 | CONFIG_PWM_SL28CPLD=m | ||
921 | CONFIG_SL28CPLD_INTC=y | ||
922 | CONFIG_RESET_IMX7=y | ||
923 | CONFIG_RESET_IMX8ULP_SIM=y | ||
924 | CONFIG_PHY_XGENE=y | ||
925 | CONFIG_PHY_MIXEL_LVDS=y | 470 | CONFIG_PHY_MIXEL_LVDS=y |
926 | CONFIG_PHY_MIXEL_LVDS_COMBO=y | 471 | CONFIG_PHY_MIXEL_LVDS_COMBO=y |
927 | CONFIG_PHY_CADENCE_SALVO=y | ||
928 | CONFIG_PHY_FSL_IMX8MP_LVDS=y | ||
929 | CONFIG_PHY_MIXEL_MIPI_DPHY=y | ||
930 | CONFIG_PHY_SAMSUNG_HDMI_PHY=y | ||
931 | CONFIG_PHY_QCOM_USB_HS=y | ||
932 | CONFIG_PHY_SAMSUNG_USB2=y | ||
933 | CONFIG_ARM_SMMU_V3_PMU=m | ||
934 | CONFIG_FSL_IMX8_DDR_PMU=y | ||
935 | CONFIG_HISI_PMU=y | ||
936 | CONFIG_NVMEM_IMX_OCOTP=y | 472 | CONFIG_NVMEM_IMX_OCOTP=y |
937 | CONFIG_NVMEM_IMX_OCOTP_SCU=y | 473 | CONFIG_NVMEM_SNVS_LPGPR=y |
938 | CONFIG_NVMEM_RMEM=m | ||
939 | CONFIG_FPGA=y | ||
940 | CONFIG_FPGA_BRIDGE=m | ||
941 | CONFIG_ALTERA_FREEZE_BRIDGE=m | ||
942 | CONFIG_FPGA_REGION=m | ||
943 | CONFIG_OF_FPGA_REGION=m | ||
944 | CONFIG_TEE=y | 474 | CONFIG_TEE=y |
945 | CONFIG_OPTEE=y | 475 | CONFIG_OPTEE=y |
946 | CONFIG_MUX_MMIO=y | 476 | CONFIG_MUX_MMIO=y |
947 | CONFIG_SLIM_QCOM_CTRL=m | 477 | CONFIG_SIOX=m |
948 | CONFIG_INTERCONNECT=y | 478 | CONFIG_SIOX_BUS_GPIO=m |
949 | CONFIG_INTERCONNECT_IMX=m | ||
950 | CONFIG_INTERCONNECT_IMX8MQ=m | ||
951 | CONFIG_MXC_SIM=y | 479 | CONFIG_MXC_SIM=y |
952 | CONFIG_MXC_EMVSIM=y | 480 | CONFIG_MXC_IPU=y |
481 | CONFIG_MXC_SIMv2=y | ||
482 | CONFIG_MXC_MLB150=y | ||
483 | CONFIG_MXC_IPU_V3_PRE=y | ||
484 | CONFIG_MXC_HDMI_CEC=y | ||
485 | CONFIG_MXC_MIPI_CSI2=y | ||
953 | CONFIG_EXT2_FS=y | 486 | CONFIG_EXT2_FS=y |
487 | CONFIG_EXT2_FS_XATTR=y | ||
488 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
489 | CONFIG_EXT2_FS_SECURITY=y | ||
954 | CONFIG_EXT3_FS=y | 490 | CONFIG_EXT3_FS=y |
955 | CONFIG_EXT4_FS_POSIX_ACL=y | 491 | CONFIG_EXT3_FS_POSIX_ACL=y |
956 | CONFIG_BTRFS_FS=m | 492 | CONFIG_EXT3_FS_SECURITY=y |
957 | CONFIG_BTRFS_FS_POSIX_ACL=y | ||
958 | CONFIG_FANOTIFY=y | ||
959 | CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y | ||
960 | CONFIG_QUOTA=y | 493 | CONFIG_QUOTA=y |
494 | CONFIG_QUOTA_NETLINK_INTERFACE=y | ||
495 | # CONFIG_PRINT_QUOTA_WARNING is not set | ||
961 | CONFIG_AUTOFS4_FS=y | 496 | CONFIG_AUTOFS4_FS=y |
962 | CONFIG_FUSE_FS=m | 497 | CONFIG_FUSE_FS=y |
963 | CONFIG_CUSE=m | 498 | CONFIG_OVERLAY_FS=y |
964 | CONFIG_OVERLAY_FS=m | 499 | CONFIG_ISO9660_FS=m |
500 | CONFIG_JOLIET=y | ||
501 | CONFIG_ZISOFS=y | ||
502 | CONFIG_UDF_FS=m | ||
503 | CONFIG_MSDOS_FS=m | ||
965 | CONFIG_VFAT_FS=y | 504 | CONFIG_VFAT_FS=y |
505 | CONFIG_TMPFS=y | ||
966 | CONFIG_TMPFS_POSIX_ACL=y | 506 | CONFIG_TMPFS_POSIX_ACL=y |
967 | CONFIG_HUGETLBFS=y | ||
968 | CONFIG_EFIVAR_FS=y | ||
969 | CONFIG_JFFS2_FS=y | 507 | CONFIG_JFFS2_FS=y |
970 | CONFIG_UBIFS_FS=y | 508 | CONFIG_UBIFS_FS=y |
971 | CONFIG_SQUASHFS=y | ||
972 | CONFIG_SQUASHFS_XZ=y | ||
973 | CONFIG_NFS_FS=y | 509 | CONFIG_NFS_FS=y |
510 | CONFIG_NFS_V3_ACL=y | ||
974 | CONFIG_NFS_V4=y | 511 | CONFIG_NFS_V4=y |
975 | CONFIG_NFS_V4_1=y | 512 | CONFIG_NFS_V4_1=y |
976 | CONFIG_NFS_V4_2=y | 513 | CONFIG_NFS_V4_2=y |
977 | CONFIG_ROOT_NFS=y | 514 | CONFIG_ROOT_NFS=y |
978 | CONFIG_9P_FS=y | 515 | CONFIG_NLS_DEFAULT="cp437" |
979 | CONFIG_NLS_CODEPAGE_437=y | 516 | CONFIG_NLS_CODEPAGE_437=y |
517 | CONFIG_NLS_ASCII=y | ||
980 | CONFIG_NLS_ISO8859_1=y | 518 | CONFIG_NLS_ISO8859_1=y |
981 | CONFIG_SECURITY=y | 519 | CONFIG_NLS_ISO8859_15=m |
520 | CONFIG_NLS_UTF8=y | ||
521 | CONFIG_SECURITYFS=y | ||
982 | CONFIG_CRYPTO_USER=y | 522 | CONFIG_CRYPTO_USER=y |
983 | CONFIG_CRYPTO_TEST=m | 523 | CONFIG_CRYPTO_TEST=m |
984 | CONFIG_CRYPTO_CHACHA20POLY1305=m | 524 | CONFIG_CRYPTO_ECHAINIV=m |
985 | CONFIG_CRYPTO_ECHAINIV=y | ||
986 | CONFIG_CRYPTO_TLS=m | 525 | CONFIG_CRYPTO_TLS=m |
987 | CONFIG_CRYPTO_CFB=m | 526 | CONFIG_CRYPTO_CFB=m |
988 | CONFIG_CRYPTO_CTS=m | 527 | CONFIG_CRYPTO_CTS=m |
@@ -991,9 +530,14 @@ CONFIG_CRYPTO_OFB=m | |||
991 | CONFIG_CRYPTO_PCBC=m | 530 | CONFIG_CRYPTO_PCBC=m |
992 | CONFIG_CRYPTO_XCBC=m | 531 | CONFIG_CRYPTO_XCBC=m |
993 | CONFIG_CRYPTO_VMAC=m | 532 | CONFIG_CRYPTO_VMAC=m |
533 | CONFIG_CRYPTO_XXHASH=m | ||
534 | CONFIG_CRYPTO_BLAKE2B=m | ||
994 | CONFIG_CRYPTO_BLAKE2S=m | 535 | CONFIG_CRYPTO_BLAKE2S=m |
995 | CONFIG_CRYPTO_MD4=m | 536 | CONFIG_CRYPTO_MD4=m |
537 | CONFIG_CRYPTO_MD5=m | ||
996 | CONFIG_CRYPTO_RMD160=m | 538 | CONFIG_CRYPTO_RMD160=m |
539 | CONFIG_CRYPTO_SHA3=m | ||
540 | CONFIG_CRYPTO_SM3=m | ||
997 | CONFIG_CRYPTO_STREEBOG=m | 541 | CONFIG_CRYPTO_STREEBOG=m |
998 | CONFIG_CRYPTO_WP512=m | 542 | CONFIG_CRYPTO_WP512=m |
999 | CONFIG_CRYPTO_ANUBIS=m | 543 | CONFIG_CRYPTO_ANUBIS=m |
@@ -1002,49 +546,42 @@ CONFIG_CRYPTO_BLOWFISH=m | |||
1002 | CONFIG_CRYPTO_CAMELLIA=m | 546 | CONFIG_CRYPTO_CAMELLIA=m |
1003 | CONFIG_CRYPTO_CAST5=m | 547 | CONFIG_CRYPTO_CAST5=m |
1004 | CONFIG_CRYPTO_CAST6=m | 548 | CONFIG_CRYPTO_CAST6=m |
549 | CONFIG_CRYPTO_DES=m | ||
1005 | CONFIG_CRYPTO_FCRYPT=m | 550 | CONFIG_CRYPTO_FCRYPT=m |
1006 | CONFIG_CRYPTO_KHAZAD=m | 551 | CONFIG_CRYPTO_KHAZAD=m |
1007 | CONFIG_CRYPTO_SEED=m | 552 | CONFIG_CRYPTO_SEED=m |
1008 | CONFIG_CRYPTO_SERPENT=m | 553 | CONFIG_CRYPTO_SERPENT=m |
554 | CONFIG_CRYPTO_SM4=m | ||
1009 | CONFIG_CRYPTO_TEA=m | 555 | CONFIG_CRYPTO_TEA=m |
1010 | CONFIG_CRYPTO_TWOFISH=m | 556 | CONFIG_CRYPTO_TWOFISH=m |
1011 | CONFIG_CRYPTO_ANSI_CPRNG=y | 557 | CONFIG_CRYPTO_ANSI_CPRNG=m |
1012 | CONFIG_CRYPTO_USER_API_HASH=m | ||
1013 | CONFIG_CRYPTO_USER_API_SKCIPHER=m | ||
1014 | CONFIG_CRYPTO_USER_API_RNG=m | 558 | CONFIG_CRYPTO_USER_API_RNG=m |
1015 | CONFIG_CRYPTO_USER_API_AEAD=m | ||
1016 | CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m | 559 | CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=m |
1017 | CONFIG_CRYPTO_DEV_FSL_CAAM=m | 560 | CONFIG_CRYPTO_DEV_FSL_CAAM=m |
1018 | CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m | 561 | CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=m |
1019 | CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m | 562 | CONFIG_CRYPTO_DEV_SAHARA=y |
1020 | CONFIG_CRYPTO_DEV_CCREE=m | 563 | CONFIG_CRYPTO_DEV_MXS_DCP=y |
1021 | CONFIG_CRYPTO_DEV_HISI_SEC2=m | ||
1022 | CONFIG_CRYPTO_DEV_HISI_ZIP=m | ||
1023 | CONFIG_CRYPTO_DEV_HISI_HPRE=m | ||
1024 | CONFIG_CRYPTO_DEV_HISI_TRNG=m | ||
1025 | CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m | ||
1026 | CONFIG_INDIRECT_PIO=y | ||
1027 | CONFIG_CRC_CCITT=m | 564 | CONFIG_CRC_CCITT=m |
1028 | CONFIG_CRC8=y | 565 | CONFIG_CRC_T10DIF=y |
1029 | CONFIG_CMA_SIZE_MBYTES=32 | 566 | CONFIG_CRC7=m |
567 | CONFIG_LIBCRC32C=m | ||
568 | CONFIG_DMA_CMA=y | ||
569 | CONFIG_FONTS=y | ||
570 | CONFIG_FONT_8x8=y | ||
571 | CONFIG_FONT_8x16=y | ||
1030 | CONFIG_PRINTK_TIME=y | 572 | CONFIG_PRINTK_TIME=y |
1031 | CONFIG_DEBUG_INFO=y | 573 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1032 | CONFIG_DEBUG_INFO_REDUCED=y | ||
1033 | CONFIG_MAGIC_SYSRQ=y | 574 | CONFIG_MAGIC_SYSRQ=y |
1034 | CONFIG_DEBUG_FS=y | 575 | CONFIG_DEBUG_FS=y |
1035 | CONFIG_DEBUG_KERNEL=y | ||
1036 | # CONFIG_SCHED_DEBUG is not set | 576 | # CONFIG_SCHED_DEBUG is not set |
1037 | # CONFIG_DEBUG_PREEMPT is not set | 577 | # CONFIG_DEBUG_PREEMPT is not set |
1038 | # CONFIG_FTRACE is not set | 578 | # CONFIG_FTRACE is not set |
1039 | CONFIG_CORESIGHT=y | 579 | |
1040 | CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y | 580 | # enable AF_ALG |
1041 | CONFIG_CORESIGHT_SOURCE_ETM4X=y | 581 | CONFIG_CRYPTO_USER_API_HASH=m |
1042 | CONFIG_MEMTEST=y | 582 | CONFIG_CRYPTO_USER_API_SKCIPHER=m |
583 | CONFIG_CRYPTO_USER_API_AEAD=m | ||
584 | |||
585 | # enable KTLS | ||
1043 | CONFIG_TLS=y | 586 | CONFIG_TLS=y |
1044 | CONFIG_TLS_DEVICE=y | 587 | CONFIG_TLS_DEVICE=y |
1045 | |||
1046 | # enable Trusted Keys based on CAAM | ||
1047 | CONFIG_TRUSTED_KEYS=m | ||
1048 | CONFIG_TRUSTED_KEYS_TPM=n | ||
1049 | CONFIG_TRUSTED_KEYS_TEE=n | ||
1050 | CONFIG_TRUSTED_KEYS_CAAM=y | ||
diff --git a/recipes-kernel/linux/linux-fslc-imx_5.15.bb b/recipes-kernel/linux/linux-fslc-imx_5.15.bb index 19626ccf..2db57df4 100644 --- a/recipes-kernel/linux/linux-fslc-imx_5.15.bb +++ b/recipes-kernel/linux/linux-fslc-imx_5.15.bb | |||
@@ -38,7 +38,7 @@ Latest stable Kernel patchlevel is applied and maintained by Community." | |||
38 | # ------------------------------------------------------------------------------ | 38 | # ------------------------------------------------------------------------------ |
39 | # 3. Critical patches (SHA(s)) | 39 | # 3. Critical patches (SHA(s)) |
40 | # ------------------------------------------------------------------------------ | 40 | # ------------------------------------------------------------------------------ |
41 | # fec_uio: fix implicit declaration | 41 | # beacf1c5267a fec_uio: fix implicit declaration |
42 | # e8093f50522f cert host tools: Stop complaining about deprecated OpenSSL functions | 42 | # e8093f50522f cert host tools: Stop complaining about deprecated OpenSSL functions |
43 | # 49c2d3b7964d gpio: fix enabling GPIO_VF610 | 43 | # 49c2d3b7964d gpio: fix enabling GPIO_VF610 |
44 | # c04a396fcbf7 ARM: mach-imx: conditionally disable some functions from busfreq-imx | 44 | # c04a396fcbf7 ARM: mach-imx: conditionally disable some functions from busfreq-imx |
@@ -58,14 +58,14 @@ LICENSE = "GPL-2.0-only" | |||
58 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 58 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
59 | 59 | ||
60 | KBRANCH = "5.15-2.0.x-imx" | 60 | KBRANCH = "5.15-2.0.x-imx" |
61 | SRCREV = "d818413e4d7901cb8a00a631a389326e2c93ae41" | 61 | SRCREV = "845d53f13aac7d712b931a21df53bc8ccb22b31b" |
62 | 62 | ||
63 | # PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition | 63 | # PV is defined in the base in linux-imx.inc file and uses the LINUX_VERSION definition |
64 | # required by kernel-yocto.bbclass. | 64 | # required by kernel-yocto.bbclass. |
65 | # | 65 | # |
66 | # LINUX_VERSION define should match to the kernel version referenced by SRC_URI and | 66 | # LINUX_VERSION define should match to the kernel version referenced by SRC_URI and |
67 | # should be updated once patchlevel is merged. | 67 | # should be updated once patchlevel is merged. |
68 | LINUX_VERSION = "5.15.60" | 68 | LINUX_VERSION = "5.15.67" |
69 | 69 | ||
70 | # Local version indicates the branch name in the NXP kernel tree where patches are collected from. | 70 | # Local version indicates the branch name in the NXP kernel tree where patches are collected from. |
71 | LOCALVERSION = "-5.15.60-2.0.0" | 71 | LOCALVERSION = "-5.15.60-2.0.0" |
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch new file mode 100644 index 00000000..19057147 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch | |||
@@ -0,0 +1,48 @@ | |||
1 | From 071fd005ad6572767d7441c97549b1c904719944 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 12 Sep 2022 20:29:25 -0700 | ||
4 | Subject: [PATCH] gstallocatorphymem.c: Typecast result of gst_phymem_get_phy | ||
5 | to guintptr | ||
6 | |||
7 | This fixes a warning/error found with clang-15 | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | gst-libs/gst/allocators/gstallocatorphymem.c | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | --- a/gst-libs/gst/allocators/gstallocatorphymem.c | ||
16 | +++ b/gst-libs/gst/allocators/gstallocatorphymem.c | ||
17 | @@ -225,7 +225,7 @@ static guintptr | ||
18 | gst_allocator_phymem_get_phys_addr (GstPhysMemoryAllocator * allocator, | ||
19 | GstMemory * mem) | ||
20 | { | ||
21 | - return gst_phymem_get_phy (mem); | ||
22 | + return (guintptr)gst_phymem_get_phy (mem); | ||
23 | } | ||
24 | |||
25 | static void | ||
26 | --- a/gst-libs/gst/gl/gstglphymemory.c | ||
27 | +++ b/gst-libs/gst/gl/gstglphymemory.c | ||
28 | @@ -337,7 +337,7 @@ gst_gl_physical_memory_setup_buffer (Gst | ||
29 | GST_VIDEO_INFO_HEIGHT (info), | ||
30 | viv_fmt, | ||
31 | memblk->vaddr, | ||
32 | - memblk->paddr, | ||
33 | + (guint)memblk->paddr, | ||
34 | FALSE | ||
35 | }; | ||
36 | |||
37 | --- a/gst/subparse/gstssaparse.c | ||
38 | +++ b/gst/subparse/gstssaparse.c | ||
39 | @@ -24,7 +24,9 @@ | ||
40 | #include "config.h" | ||
41 | #endif | ||
42 | |||
43 | +#include <ctype.h> /* isspace() */ | ||
44 | #include <stdlib.h> /* atoi() */ | ||
45 | +#include <stdio.h> /* sscanf() */ | ||
46 | #include <string.h> | ||
47 | |||
48 | #include "gstssaparse.h" | ||
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb index 3fce3a58..3cbd2179 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb | |||
@@ -17,6 +17,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba | |||
17 | file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ | 17 | file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ |
18 | file://0003-viv-fb-Make-sure-config.h-is-included.patch \ | 18 | file://0003-viv-fb-Make-sure-config.h-is-included.patch \ |
19 | file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ | 19 | file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ |
20 | file://0001-gstallocatorphymem.c-Typecast-result-of-gst_phymem_g.patch \ | ||
20 | " | 21 | " |
21 | SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204" | 22 | SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204" |
22 | 23 | ||
@@ -136,6 +137,10 @@ PACKAGECONFIG[viv-fb] = ",,virtual/libgles2" | |||
136 | 137 | ||
137 | EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" | 138 | EXTRA_OEMESON += "-Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}"" |
138 | 139 | ||
140 | # links with imx-gpu libs which are pre-built for glibc | ||
141 | # gcompat will address it during runtime | ||
142 | LDFLAGS:append:imxgpu:libc-musl = " -Wl,--allow-shlib-undefined" | ||
143 | |||
139 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" | 144 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" |
140 | 145 | ||
141 | ########### End of i.MX overrides ######### | 146 | ########### End of i.MX overrides ######### |
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb index 3d557207..957d6ddf 100644 --- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb +++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb | |||
@@ -16,3 +16,7 @@ INSANE_SKIP:${PN} = "already-stripped" | |||
16 | FILES:${PN} += "${datadir}/imx-mm" | 16 | FILES:${PN} += "${datadir}/imx-mm" |
17 | 17 | ||
18 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" | 18 | COMPATIBLE_MACHINE = "(mx8-nxp-bsp)" |
19 | |||
20 | INSANE_SKIP:append:libc-musl = " file-rdeps" | ||
21 | |||
22 | RDEPENDS:${PN}:append:libc-musl = " gcompat" | ||