Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1 @@
REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"

View File

@@ -0,0 +1,30 @@
From cad7eb0f0487aea64c4460bd6ad95b5c9537d35a Mon Sep 17 00:00:00 2001
From: Jiyu Yang <jiyu.yang@nxp.com>
Date: Thu, 11 Apr 2024 16:30:50 +0800
Subject: [PATCH] egl: clear backgrounds black
if 50% translucency used, the application render result can vary
depending on the format chosen, such as R10G10B10A2 or RGB24.
Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/demos/-/merge_requests/174]
Signed-off-by: Jiyu Yang <jiyu.yang@nxp.com>
---
src/egl/opengles2/es2gears.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/egl/opengles2/es2gears.c b/src/egl/opengles2/es2gears.c
index db67f3a9..4e81afe7 100644
--- a/src/egl/opengles2/es2gears.c
+++ b/src/egl/opengles2/es2gears.c
@@ -515,7 +515,7 @@ gears_draw(void)
GLfloat transform[16];
identity(transform);
- glClearColor(0.0, 0.0, 0.0, 0.0);
+ glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* Translate and rotate the view */
--
2.34.1

View File

@@ -0,0 +1,355 @@
From 757649a766f90e745f24df1d191caeef15c71399 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Tue, 4 Jun 2013 09:28:51 -0300
Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i
Vivante libGL does not provide the glWindowPos2iARB symbol, but
glWindowPos2i. Use this instead.
Upstream-Status: Inappropriate [embedded specific]
Reported-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
src/demos/copypix.c | 4 ++--
src/demos/engine.c | 2 +-
src/demos/fogcoord.c | 4 ++--
src/glsl/shadow_sampler.c | 2 +-
src/tests/auxbuffer.c | 2 +-
src/tests/copypixrate.c | 2 +-
src/tests/drawbuffers.c | 2 +-
src/tests/drawbuffers2.c | 2 +-
src/tests/fbotest1.c | 2 +-
src/tests/fbotest2.c | 4 ++--
src/tests/fbotest3.c | 2 +-
src/tests/readrate.c | 10 +++++-----
src/tests/viewmemory.c | 2 +-
src/trivial/clear-fbo-scissor.c | 2 +-
src/trivial/clear-fbo-tex.c | 2 +-
src/trivial/clear-fbo.c | 2 +-
src/trivial/readpixels.c | 2 +-
src/trivial/tri-fbo.c | 2 +-
src/xdemos/glxsnoop.c | 2 +-
src/xdemos/wincopy.c | 4 ++--
20 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/src/demos/copypix.c b/src/demos/copypix.c
index 286c5a9..041b567 100644
--- a/src/demos/copypix.c
+++ b/src/demos/copypix.c
@@ -54,7 +54,7 @@ static void Display( void )
glClear( GL_COLOR_BUFFER_BIT );
/* draw original image */
- glWindowPos2iARB(dx, dy);
+ glWindowPos2i(dx, dy);
glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
if (Scissor)
@@ -71,7 +71,7 @@ static void Display( void )
/* draw copy */
glPixelZoom(Xzoom, Yzoom);
- glWindowPos2iARB(Xpos, Ypos);
+ glWindowPos2i(Xpos, Ypos);
glCopyPixels(dx, dy, ImgWidth, ImgHeight, GL_COLOR);
glPixelZoom(1, 1);
diff --git a/src/demos/engine.c b/src/demos/engine.c
index 928fcbb..beace4c 100644
--- a/src/demos/engine.c
+++ b/src/demos/engine.c
@@ -971,7 +971,7 @@ Draw(void)
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glColor3f(1, 1 , 1);
- glWindowPos2iARB(10, 10);
+ glWindowPos2i(10, 10);
PrintString(s);
if (lit)
glEnable(GL_LIGHTING);
diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c
index 567eec0..e833009 100644
--- a/src/demos/fogcoord.c
+++ b/src/demos/fogcoord.c
@@ -68,14 +68,14 @@ PrintInfo(void)
sprintf(s, "Mode(m): %s Start(s/S): %g End(e/E): %g Density(d/D): %g",
ModeStr, fogStart, fogEnd, fogDensity);
- glWindowPos2iARB(5, 20);
+ glWindowPos2i(5, 20);
PrintString(s);
sprintf(s, "Arrays(a): %s glFogCoord(c): %s EyeZ(z/z): %g",
(Arrays ? "Yes" : "No"),
(fogCoord ? "Yes" : "No"),
camz);
- glWindowPos2iARB(5, 5);
+ glWindowPos2i(5, 5);
PrintString(s);
}
diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c
index b830030..eb82d8b 100644
--- a/src/glsl/shadow_sampler.c
+++ b/src/glsl/shadow_sampler.c
@@ -85,7 +85,7 @@ Redisplay(void)
glPopMatrix();
glUseProgram(0);
- glWindowPos2iARB(80, 20);
+ glWindowPos2i(80, 20);
PrintString("white black white black");
{
diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c
index 5fa399a..0cd5f47 100644
--- a/src/tests/auxbuffer.c
+++ b/src/tests/auxbuffer.c
@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win)
/* Copy aux buffer image to back color buffer */
glReadBuffer(GL_AUX0);
glDrawBuffer(GL_BACK);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDisable(GL_DEPTH_TEST);
glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR);
glEnable(GL_DEPTH_TEST);
diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c
index 2f64e0a..df1f9b0 100644
--- a/src/tests/copypixrate.c
+++ b/src/tests/copypixrate.c
@@ -91,7 +91,7 @@ BlitOne(void)
else
#endif
{
- glWindowPos2iARB(x, y);
+ glWindowPos2i(x, y);
glCopyPixels(0, 0, ImgWidth, ImgHeight, GL_COLOR);
}
}
diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c
index fa2f8a7..cd5033f 100644
--- a/src/tests/drawbuffers.c
+++ b/src/tests/drawbuffers.c
@@ -88,7 +88,7 @@ Display(void)
glUseProgram(0);
glDisable(GL_DEPTH_TEST);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c
index 5bcf0b2..84d444b 100644
--- a/src/tests/drawbuffers2.c
+++ b/src/tests/drawbuffers2.c
@@ -112,7 +112,7 @@ Display(void)
glUseProgram(0);
glDisable(GL_DEPTH_TEST);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c
index 161903c..5930a6d 100644
--- a/src/tests/fbotest1.c
+++ b/src/tests/fbotest1.c
@@ -61,7 +61,7 @@ Display( void )
/* draw to window */
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c
index 6ef7f12..11c867e 100644
--- a/src/tests/fbotest2.c
+++ b/src/tests/fbotest2.c
@@ -72,7 +72,7 @@ Display( void )
glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glCopyPixels(0, 0, Width, Height, GL_COLOR);
}
else if (blitPix) {
@@ -95,7 +95,7 @@ Display( void )
/* draw to window */
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c
index 19f684d..e6d7710 100644
--- a/src/tests/fbotest3.c
+++ b/src/tests/fbotest3.c
@@ -79,7 +79,7 @@ Display( void )
/* draw to window */
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/tests/readrate.c b/src/tests/readrate.c
index 3859cf4..81eb8a3 100644
--- a/src/tests/readrate.c
+++ b/src/tests/readrate.c
@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo)
glEnd();
#if DRAW
- glWindowPos2iARB(0,0);
+ glWindowPos2i(0,0);
glDrawPixels(width, height,
fmt->Format, fmt->Type, Buffer);
glFinish();
@@ -137,21 +137,21 @@ Draw(void)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glWindowPos2iARB(10, y);
+ glWindowPos2i(10, y);
sprintf(str, "ReadPixels size: %d x %d", width, height);
PrintString(str);
y -= 14;
- glWindowPos2iARB(10, y);
+ glWindowPos2i(10, y);
PrintString("Press up/down/left/right to change image size.");
y -= 14;
- glWindowPos2iARB(10, y);
+ glWindowPos2i(10, y);
PrintString("Press 'b' to run benchmark test.");
y -= 14;
if (Benchmark) {
- glWindowPos2iARB(10, y);
+ glWindowPos2i(10, y);
PrintString("Testing...");
}
diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c
index 16044b9..3584c33 100644
--- a/src/tests/viewmemory.c
+++ b/src/tests/viewmemory.c
@@ -95,7 +95,7 @@ Draw(void)
glDisable(GL_TEXTURE_2D);
glColor3f(0, 1, 0);
- glWindowPos2iARB(10, 10);
+ glWindowPos2i(10, 10);
PrintString(s);
glutSwapBuffers();
diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c
index a30935c..5c15200 100644
--- a/src/trivial/clear-fbo-scissor.c
+++ b/src/trivial/clear-fbo-scissor.c
@@ -182,7 +182,7 @@ Draw(void)
/* draw to window */
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c
index de84f98..f0fbdf6 100644
--- a/src/trivial/clear-fbo-tex.c
+++ b/src/trivial/clear-fbo-tex.c
@@ -140,7 +140,7 @@ static void Draw( void )
glClearColor(0.8, 0.8, 0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
- glWindowPos2iARB(30, 30);
+ glWindowPos2i(30, 30);
glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c
index 10d830b..3fee3e3 100644
--- a/src/trivial/clear-fbo.c
+++ b/src/trivial/clear-fbo.c
@@ -116,7 +116,7 @@ Draw(void)
glClearColor(0.8, 0.8, 0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
- glWindowPos2iARB(30, 30);
+ glWindowPos2i(30, 30);
glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
free(buffer);
diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c
index ccce4ed..74e0546 100644
--- a/src/trivial/readpixels.c
+++ b/src/trivial/readpixels.c
@@ -71,7 +71,7 @@ static void Draw(void)
printf("Pixel(0,0) = %f, %f, %f, %f\n",
image[0], image[1], image[2], image[3]);
/* draw to right half of window */
- glWindowPos2iARB(Width, 0);
+ glWindowPos2i(Width, 0);
glPixelZoom(Zoom, Zoom);
glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image);
free(image);
diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c
index d5800b2..dd1f21a 100644
--- a/src/trivial/tri-fbo.c
+++ b/src/trivial/tri-fbo.c
@@ -119,7 +119,7 @@ static void Draw( void )
glClearColor(0.8, 0.8, 0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
- glWindowPos2iARB(30, 30);
+ glWindowPos2i(30, 30);
glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c
index 2215cfd..13d2b2d 100644
--- a/src/xdemos/glxsnoop.c
+++ b/src/xdemos/glxsnoop.c
@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin )
}
glXMakeCurrent(dpy, dstWin, Context);
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glDrawBuffer(GL_FRONT);
glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, image);
glFlush();
diff --git a/src/xdemos/wincopy.c b/src/xdemos/wincopy.c
index f670983..d010085 100644
--- a/src/xdemos/wincopy.c
+++ b/src/xdemos/wincopy.c
@@ -156,11 +156,11 @@ Redraw(void)
glClear(GL_COLOR_BUFFER_BIT);
if (TestClipping) {
- glWindowPos2iARB(-2, -2);
+ glWindowPos2i(-2, -2);
glCopyPixels(-2, -2, Width[0] + 4, Height[0] + 4, GL_COLOR);
}
else {
- glWindowPos2iARB(0, 0);
+ glWindowPos2i(0, 0);
glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR);
}
--
1.8.1

View File

@@ -0,0 +1,18 @@
mesa-demos: Add extension header to fix build break now that gl1 is removed
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff --git a/src/egl/opengles1/clear.c b/src/egl/opengles1/clear.c
index 9fe1b5291e1905fd6fe572063ed707d59ce45a81..ca9954a21b5f475709dbdef07f90b900962fcbc7 100644
--- a/src/egl/opengles1/clear.c
+++ b/src/egl/opengles1/clear.c
@@ -34,7 +34,7 @@
#include <stdio.h>
#include <EGL/egl.h>
#include <GLES/gl.h>
-
+#include <GLES/glext.h>
#include "eglut.h"
typedef void (GL_APIENTRY *type_ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

View File

@@ -0,0 +1,24 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:imxgpu = " \
file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch \
file://fix-clear-build-break.patch \
file://0001-egl-clear-backgrounds-black.patch"
REQUIRED_DISTRO_FEATURES:remove:imxgpu = "x11"
PACKAGECONFIG:remove = " \
${PACKAGECONFIG_REMOVE_IF_2D_ONLY} \
${PACKAGECONFIG_REMOVE_IF_GPU}"
PACKAGECONFIG_REMOVE_IF_2D_ONLY = ""
PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu2d = "gles1 gles2"
PACKAGECONFIG_REMOVE_IF_2D_ONLY:imxgpu3d = ""
PACKAGECONFIG_REMOVE_IF_GPU = ""
PACKAGECONFIG_REMOVE_IF_GPU:imxgpu = "x11"
PACKAGECONFIG:append = " \
${PACKAGECONFIG_APPEND_IF_GPU}"
PACKAGECONFIG_APPEND_IF_GPU = ""
PACKAGECONFIG_APPEND_IF_GPU:imxgpu = "glu"
PACKAGECONFIG[glu] = ",,libglu"

View File

@@ -0,0 +1,3 @@
[Manager]
DefaultEnvironment=MESA_GL_VERSION_OVERRIDE=2.1 ETNA_MESA_DEBUG=nir

View File

@@ -0,0 +1,2 @@
export MESA_GL_VERSION_OVERRIDE=2.1
export ETNA_MESA_DEBUG=nir

View File

@@ -0,0 +1,31 @@
SUMMARY = "Mesa environment variables for etnaviv on xserver"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PACKAGE_ARCH = "${MACHINE_ARCH}"
SRC_URI = "\
file://mesa-etnaviv.conf \
file://mesa-etnaviv.sh \
"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install:use-mainline-bsp() {
# MESA global envirronment variables
# systemd
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -D -m 644 ${WORKDIR}/mesa-etnaviv.conf \
${D}${sysconfdir}/systemd/system.conf.d/mesa-etnaviv.conf
fi
# sysvinit
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
install -D -m 644 ${WORKDIR}/mesa-etnaviv.sh \
${D}${sysconfdir}/profile.d/mesa-etnaviv.sh
fi
}
ALLOW_EMPTY:${PN} = "1"

View File

@@ -0,0 +1,8 @@
DEPENDS:append:imxgpu = " virtual/egl"
do_install:append:imxgpu() {
# imx-gpu-viv and mali-imx both provide /usr/include/KHR, so drop the mesa-gl one
rm -rf ${D}${includedir}/KHR
}
COMPATIBLE_MACHINE:imxgpu = "(imxgpu)"

View File

@@ -0,0 +1,47 @@
From 612c3dc98d5d050b9cfee16ec77ca3c8358caa0d Mon Sep 17 00:00:00 2001
From: Wujian Sun <wujian.sun_1@nxp.com>
Date: Mon, 29 Apr 2024 17:29:16 +0800
Subject: [PATCH] MGS-7599 cso: fix virgl driver assert issue
A workaround that remove PIPE_MAX_SAMPLERS and
PIPE_MAX_CONSTANT_BUFFERS assert.
Upstream-Status: Inappropriate [i.MX-specific]
Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
---
src/gallium/auxiliary/cso_cache/cso_context.c | 2 --
src/gallium/drivers/virgl/virgl_screen.c | 2 +-
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/cso_cache/cso_context.c b/src/gallium/auxiliary/cso_cache/cso_context.c
index 3e86def31c5..ffc6d22da9c 100644
--- a/src/gallium/auxiliary/cso_cache/cso_context.c
+++ b/src/gallium/auxiliary/cso_cache/cso_context.c
@@ -403,10 +403,8 @@ cso_unbind_context(struct cso_context *ctx)
PIPE_SHADER_CAP_MAX_CONST_BUFFERS);
int maximg = scr->get_shader_param(scr, sh,
PIPE_SHADER_CAP_MAX_SHADER_IMAGES);
- assert(maxsam <= PIPE_MAX_SAMPLERS);
assert(maxview <= PIPE_MAX_SHADER_SAMPLER_VIEWS);
assert(maxssbo <= PIPE_MAX_SHADER_BUFFERS);
- assert(maxcb <= PIPE_MAX_CONSTANT_BUFFERS);
assert(maximg <= PIPE_MAX_SHADER_IMAGES);
if (maxsam > 0) {
ctx->base.pipe->bind_sampler_states(ctx->base.pipe, sh, 0, maxsam, zeros);
diff --git a/src/gallium/drivers/virgl/virgl_screen.c b/src/gallium/drivers/virgl/virgl_screen.c
index 389a1935cc3..7c7f8ba576b 100644
--- a/src/gallium/drivers/virgl/virgl_screen.c
+++ b/src/gallium/drivers/virgl/virgl_screen.c
@@ -435,7 +435,7 @@ virgl_get_shader_param(struct pipe_screen *screen,
return 1;
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
return MIN2(vscreen->caps.caps.v2.max_shader_sampler_views,
- PIPE_MAX_SHADER_SAMPLER_VIEWS);
+ PIPE_MAX_SAMPLERS);
case PIPE_SHADER_CAP_INTEGERS:
return vscreen->caps.caps.v1.glsl_level >= 130;
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
--
2.17.1

View File

@@ -0,0 +1,33 @@
From 188d7b01037e5a0249e63c2600cf15a288a9ff3f Mon Sep 17 00:00:00 2001
From: Wujian Sun <wujian.sun_1@nxp.com>
Date: Fri, 19 Apr 2024 18:38:17 +0800
Subject: [PATCH] MGS-7673 egl/dri2: fix video showing wrong frame
Softpipe driver doesn't support EGL_EXT_image_dma_buf_import_modifiers
extension.
Should not report the extension.
Upstream-Status: Pending
Signed-off-by: Wujian Sun <wujian.sun_1@nxp.com>
---
src/egl/drivers/dri2/egl_dri2.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 992f0e3d46d..6ee209d4b47 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -942,7 +942,8 @@ dri2_setup_screen(_EGLDisplay *disp)
#ifdef HAVE_LIBDRM
if (dri2_dpy->image->base.version >= 8 &&
- dri2_dpy->image->createImageFromDmaBufs) {
+ dri2_dpy->image->createImageFromDmaBufs &&
+ strcmp("softpipe", pscreen->get_name(pscreen))) {
disp->Extensions.EXT_image_dma_buf_import = EGL_TRUE;
disp->Extensions.EXT_image_dma_buf_import_modifiers = EGL_TRUE;
}
--
2.17.1

View File

@@ -0,0 +1,50 @@
PROVIDES:remove:imxgpu = "virtual/egl"
PROVIDES:remove:imxgpu3d = "virtual/libgl virtual/libgles1 virtual/libgles2"
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI:append:mx93-nxp-bsp = " file://0001-MGS-7673-egl-dri2-fix-video-showing-wrong-frame.patch"
SRC_URI:append:imx-nxp-bsp = " file://0001-MGS-7599-cso-fix-virgl-driver-assert-issue.patch"
PACKAGECONFIG:remove:imxgpu = "egl gbm"
PACKAGECONFIG:remove:imxgpu3d = "gles"
# FIXME: mesa should support 'x11-no-tls' option
python () {
overrides = d.getVar("OVERRIDES").split(":")
if "imxgpu2d" not in overrides:
return
x11flag = d.getVarFlag("PACKAGECONFIG", "x11", False)
d.setVarFlag("PACKAGECONFIG", "x11", x11flag.replace("--enable-glx-tls", "--enable-glx"))
}
# Enable Etnaviv and Freedreno support
PACKAGECONFIG:append:use-mainline-bsp = " gallium etnaviv kmsro freedreno"
# For NXP BSP, GPU drivers don't support dri
PACKAGECONFIG:remove:imxgpu:use-nxp-bsp = "dri"
# mainline/etnaviv:
RRECOMMENDS:${PN}-megadriver:append:use-mainline-bsp = " libdrm-etnaviv mesa-etnaviv-env"
BACKEND = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
'fb', d), d)}"
# FIXME: Dirty hack to allow use of Vivante GPU libGL binary
do_install:append:imxgpu3d () {
rm -f ${D}${libdir}/libGL.* \
${D}${includedir}/GL/gl.h \
${D}${includedir}/GL/glcorearb.h \
${D}${includedir}/GL/glext.h \
${D}${includedir}/GL/glx.h \
${D}${includedir}/GL/glxext.h
if [ "${BACKEND}" = "x11" ]; then
rm -f ${D}${libdir}/pkgconfig/gl.pc
fi
}
do_install:append:imxgpu () {
rm -rf ${D}${includedir}/KHR
}