wayland: update recipes to STM version v22.11.23
Signed-off-by: Mike Engel <Mike.Engel@digi.com> https://onedigi.atlassian.net/browse/DEL-8235
This commit is contained in:
parent
54f3aebd2c
commit
d510c9ab72
|
|
@ -1,6 +1,6 @@
|
|||
From: Christophe Priouzeau <christophe.priouzeau@st.com>
|
||||
Date: Thu, 19 Mar 2020 12:15:19 +0100
|
||||
Subject: [PATCH] Allow to get hdmi output with several outputs
|
||||
Subject: [PATCH 1/4] Allow to get hdmi output with several outputs
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
|
@ -15,7 +15,7 @@ Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
|
|||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/compositor/main.c b/compositor/main.c
|
||||
index 322f2ff57b28..055eed3bf7c2 100644
|
||||
index 322f2ff..055eed3 100644
|
||||
--- a/compositor/main.c
|
||||
+++ b/compositor/main.c
|
||||
@@ -2246,8 +2246,14 @@ drm_process_layoutput(struct wet_compositor *wet, struct wet_layoutput *lo)
|
||||
|
|
|
|||
|
|
@ -1,191 +0,0 @@
|
|||
From: Pierre-Yves MORDRET <pierre-yves.mordret@st.som>
|
||||
Date: Mon, 23 May 2022 14:27:13 +0200
|
||||
Subject: [PATCH] Remove useless code from new Fragment Shader
|
||||
|
||||
Generic Weston 10.0 consumes more GPU than before (8.0).
|
||||
The compilation doesn't get rid from unreachable code.
|
||||
Since not used and not optimized during compilation
|
||||
state, we simply remove the code.
|
||||
|
||||
Change-Id: I37880d5fcb8487c77e084b289db8d2fb945c21ab
|
||||
Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.som>
|
||||
---
|
||||
libweston/renderer-gl/fragment.glsl | 110 ++--------------------------
|
||||
libweston/renderer-gl/gl-shaders.c | 5 --
|
||||
2 files changed, 5 insertions(+), 110 deletions(-)
|
||||
|
||||
diff --git a/libweston/renderer-gl/fragment.glsl b/libweston/renderer-gl/fragment.glsl
|
||||
index cfadb8859567..f735ab3a0a44 100644
|
||||
--- a/libweston/renderer-gl/fragment.glsl
|
||||
+++ b/libweston/renderer-gl/fragment.glsl
|
||||
@@ -42,33 +42,17 @@
|
||||
#define SHADER_VARIANT_SOLID 7
|
||||
#define SHADER_VARIANT_EXTERNAL 8
|
||||
|
||||
-/* enum gl_shader_color_curve */
|
||||
-#define SHADER_COLOR_CURVE_IDENTITY 0
|
||||
-#define SHADER_COLOR_CURVE_LUT_3x1D 1
|
||||
-
|
||||
#if DEF_VARIANT == SHADER_VARIANT_EXTERNAL
|
||||
#extension GL_OES_EGL_image_external : require
|
||||
#endif
|
||||
|
||||
-#ifdef GL_FRAGMENT_PRECISION_HIGH
|
||||
-#define HIGHPRECISION highp
|
||||
-#else
|
||||
-#define HIGHPRECISION mediump
|
||||
-#endif
|
||||
-
|
||||
-precision HIGHPRECISION float;
|
||||
+precision mediump float;
|
||||
|
||||
/*
|
||||
* These undeclared identifiers will be #defined by a runtime generated code
|
||||
* snippet.
|
||||
*/
|
||||
compile_const int c_variant = DEF_VARIANT;
|
||||
-compile_const bool c_input_is_premult = DEF_INPUT_IS_PREMULT;
|
||||
-compile_const bool c_green_tint = DEF_GREEN_TINT;
|
||||
-compile_const int c_color_pre_curve = DEF_COLOR_PRE_CURVE;
|
||||
-
|
||||
-compile_const bool c_need_color_pipeline =
|
||||
- c_color_pre_curve != SHADER_COLOR_CURVE_IDENTITY;
|
||||
|
||||
vec4
|
||||
yuva2rgba(vec4 yuva)
|
||||
@@ -94,6 +78,7 @@ yuva2rgba(vec4 yuva)
|
||||
color_out.g = Y - 0.39176229 * su - 0.81296764 * sv;
|
||||
color_out.b = Y + 2.01723214 * su;
|
||||
|
||||
+ color_out.rgb *= yuva.w;
|
||||
color_out.a = yuva.w;
|
||||
|
||||
return color_out;
|
||||
@@ -110,8 +95,6 @@ uniform sampler2D tex1;
|
||||
uniform sampler2D tex2;
|
||||
uniform float alpha;
|
||||
uniform vec4 unicolor;
|
||||
-uniform HIGHPRECISION sampler2D color_pre_curve_lut_2d;
|
||||
-uniform HIGHPRECISION vec2 color_pre_curve_lut_scale_offset;
|
||||
|
||||
vec4
|
||||
sample_input_texture()
|
||||
@@ -157,99 +140,16 @@ sample_input_texture()
|
||||
return yuva2rgba(yuva);
|
||||
}
|
||||
|
||||
-/*
|
||||
- * Texture coordinates go from 0.0 to 1.0 corresponding to texture edges.
|
||||
- * When we do LUT look-ups with linear filtering, the correct range to sample
|
||||
- * from is not from edge to edge, but center of first texel to center of last
|
||||
- * texel. This follows because with LUTs, you have the exact end points given,
|
||||
- * you never extrapolate but only interpolate.
|
||||
- * The scale and offset are precomputed to achieve this mapping.
|
||||
- */
|
||||
-float
|
||||
-lut_texcoord(float x, vec2 scale_offset)
|
||||
-{
|
||||
- return x * scale_offset.s + scale_offset.t;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
- * Sample a 1D LUT which is a single row of a 2D texture. The 2D texture has
|
||||
- * four rows so that the centers of texels have precise y-coordinates.
|
||||
- */
|
||||
-float
|
||||
-sample_color_pre_curve_lut_2d(float x, compile_const int row)
|
||||
-{
|
||||
- float tx = lut_texcoord(x, color_pre_curve_lut_scale_offset);
|
||||
-
|
||||
- return texture2D(color_pre_curve_lut_2d,
|
||||
- vec2(tx, (float(row) + 0.5) / 4.0)).x;
|
||||
-}
|
||||
-
|
||||
-vec3
|
||||
-color_pre_curve(vec3 color)
|
||||
-{
|
||||
- vec3 ret;
|
||||
-
|
||||
- if (c_color_pre_curve == SHADER_COLOR_CURVE_IDENTITY) {
|
||||
- return color;
|
||||
- } else if (c_color_pre_curve == SHADER_COLOR_CURVE_LUT_3x1D) {
|
||||
- ret.r = sample_color_pre_curve_lut_2d(color.r, 0);
|
||||
- ret.g = sample_color_pre_curve_lut_2d(color.g, 1);
|
||||
- ret.b = sample_color_pre_curve_lut_2d(color.b, 2);
|
||||
- return ret;
|
||||
- } else {
|
||||
- /* Never reached, bad c_color_pre_curve. */
|
||||
- return vec3(1.0, 0.3, 1.0);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-vec4
|
||||
-color_pipeline(vec4 color)
|
||||
-{
|
||||
- color.rgb = color_pre_curve(color.rgb);
|
||||
-
|
||||
- return color;
|
||||
-}
|
||||
-
|
||||
void
|
||||
main()
|
||||
{
|
||||
vec4 color;
|
||||
|
||||
- /* Electrical (non-linear) RGBA values, may be premult or not */
|
||||
+ /* Electrical (non-linear) RGBA values, pre-multiplied */
|
||||
color = sample_input_texture();
|
||||
|
||||
- if (c_need_color_pipeline) {
|
||||
- /* Ensure straight alpha */
|
||||
- if (c_input_is_premult) {
|
||||
- if (color.a == 0.0)
|
||||
- color.rgb = vec3(0, 0, 0);
|
||||
- else
|
||||
- color.rgb *= 1.0 / color.a;
|
||||
- }
|
||||
-
|
||||
- color = color_pipeline(color);
|
||||
-
|
||||
- /* View alpha (opacity) */
|
||||
- color.a *= alpha;
|
||||
-
|
||||
- /* pre-multiply for blending */
|
||||
- color.rgb *= color.a;
|
||||
- } else {
|
||||
- /* Fast path for disabled color management */
|
||||
-
|
||||
- if (c_input_is_premult) {
|
||||
- /* View alpha (opacity) */
|
||||
- color *= alpha;
|
||||
- } else {
|
||||
- /* View alpha (opacity) */
|
||||
- color.a *= alpha;
|
||||
- /* pre-multiply for blending */
|
||||
- color.rgb *= color.a;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (c_green_tint)
|
||||
- color = vec4(0.0, 0.3, 0.0, 0.2) + color * 0.8;
|
||||
+ /* View alpha (opacity) */
|
||||
+ color *= alpha;
|
||||
|
||||
gl_FragColor = color;
|
||||
}
|
||||
diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c
|
||||
index 97f288c07c9e..c8e3d297e29c 100644
|
||||
--- a/libweston/renderer-gl/gl-shaders.c
|
||||
+++ b/libweston/renderer-gl/gl-shaders.c
|
||||
@@ -263,11 +263,6 @@ gl_shader_create(struct gl_renderer *gr,
|
||||
shader->alpha_uniform = glGetUniformLocation(shader->program, "alpha");
|
||||
shader->color_uniform = glGetUniformLocation(shader->program,
|
||||
"unicolor");
|
||||
- shader->color_pre_curve_lut_2d_uniform =
|
||||
- glGetUniformLocation(shader->program, "color_pre_curve_lut_2d");
|
||||
- shader->color_pre_curve_lut_scale_offset_uniform =
|
||||
- glGetUniformLocation(shader->program, "color_pre_curve_lut_scale_offset");
|
||||
-
|
||||
free(conf);
|
||||
|
||||
wl_list_insert(&gr->shader_list, &shader->link);
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
From: Christophe Priouzeau <christophe.priouzeau@st.com>
|
||||
Date: Thu, 19 Mar 2020 12:20:32 +0100
|
||||
Subject: [PATCH] Force to close all output
|
||||
Subject: [PATCH 2/4] Force to close all output
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
|
@ -14,7 +14,7 @@ Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
|
|||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/compositor/main.c b/compositor/main.c
|
||||
index 055eed3bf7c2..ac366a01f8e6 100644
|
||||
index 055eed3..ac366a0 100644
|
||||
--- a/compositor/main.c
|
||||
+++ b/compositor/main.c
|
||||
@@ -2322,7 +2322,11 @@ drm_heads_changed(struct wl_listener *listener, void *arg)
|
||||
|
|
|
|||
|
|
@ -1,45 +0,0 @@
|
|||
From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
Date: Tue, 26 Apr 2022 09:59:10 +0200
|
||||
Subject: [PATCH] Disable gles3
|
||||
|
||||
Signed-off-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
---
|
||||
libweston/renderer-gl/gl-renderer.c | 6 ++++++
|
||||
.../renderer-gl/gl-shader-config-color-transformation.c | 5 +++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
|
||||
index a5f5eae44f83..2f7941f942eb 100644
|
||||
--- a/libweston/renderer-gl/gl-renderer.c
|
||||
+++ b/libweston/renderer-gl/gl-renderer.c
|
||||
@@ -29,7 +29,13 @@
|
||||
|
||||
#include <GLES2/gl2.h>
|
||||
#include <GLES2/gl2ext.h>
|
||||
+#if 0
|
||||
#include <GLES3/gl3.h>
|
||||
+#else
|
||||
+#define GL_RGBA16F 0x881A
|
||||
+#define GL_RGB10_A2 0x8059
|
||||
+#define GL_HALF_FLOAT 0x140B
|
||||
+#endif
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
diff --git a/libweston/renderer-gl/gl-shader-config-color-transformation.c b/libweston/renderer-gl/gl-shader-config-color-transformation.c
|
||||
index 21a4565393fe..d5f249169219 100644
|
||||
--- a/libweston/renderer-gl/gl-shader-config-color-transformation.c
|
||||
+++ b/libweston/renderer-gl/gl-shader-config-color-transformation.c
|
||||
@@ -25,7 +25,12 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
+#if 0
|
||||
#include <GLES3/gl3.h>
|
||||
+#else
|
||||
+#include <GLES2/gl2.h>
|
||||
+#define GL_R32F 0x822E
|
||||
+#endif
|
||||
#include <GLES2/gl2ext.h>
|
||||
|
||||
#include <assert.h>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
Date: Thu, 25 Aug 2022 09:34:23 +0200
|
||||
Subject: [PATCH 4/4] Disable request to EGL_DRM_RENDER_NODE_FILE_EXT
|
||||
|
||||
Depending on GPU userland implementationn the reqest of EGL_DRM_RENDER_NODE_FILE_EXT
|
||||
return /dev/dri/renderD128 but this interface are not always present.
|
||||
|
||||
Signed-off-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
---
|
||||
libweston/renderer-gl/egl-glue.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libweston/renderer-gl/egl-glue.c b/libweston/renderer-gl/egl-glue.c
|
||||
index 013172a..46063c5 100644
|
||||
--- a/libweston/renderer-gl/egl-glue.c
|
||||
+++ b/libweston/renderer-gl/egl-glue.c
|
||||
@@ -480,9 +480,9 @@ gl_renderer_set_egl_device(struct gl_renderer *gr)
|
||||
gl_renderer_log_extensions("EGL device extensions", extensions);
|
||||
|
||||
/* Try to query the render node using EGL_DRM_RENDER_NODE_FILE_EXT */
|
||||
- if (weston_check_egl_extension(extensions, "EGL_EXT_device_drm_render_node"))
|
||||
- gr->drm_device = gr->query_device_string(gr->egl_device,
|
||||
- EGL_DRM_RENDER_NODE_FILE_EXT);
|
||||
+/* if (weston_check_egl_extension(extensions, "EGL_EXT_device_drm_render_node"))*/
|
||||
+/* gr->drm_device = gr->query_device_string(gr->egl_device,*/
|
||||
+/* EGL_DRM_RENDER_NODE_FILE_EXT);*/
|
||||
|
||||
/* The extension is not supported by the Mesa version of the system or
|
||||
* the query failed. Fallback to EGL_DRM_DEVICE_FILE_EXT */
|
||||
--
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
From: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
Date: Fri, 6 May 2022 11:41:10 +0200
|
||||
Subject: [PATCH] Revert gl-renderer: Add EGL_IMAGE_PRESERVED_KHR to our
|
||||
attributes
|
||||
|
||||
Signed-off-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
|
||||
---
|
||||
libweston/renderer-gl/gl-renderer.c | 10 +++-------
|
||||
1 file changed, 3 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
|
||||
index 2f7941f942eb..2ab707c5650d 100644
|
||||
--- a/libweston/renderer-gl/gl-renderer.c
|
||||
+++ b/libweston/renderer-gl/gl-renderer.c
|
||||
@@ -2152,7 +2152,7 @@ gl_renderer_attach_egl(struct weston_surface *es, struct weston_buffer *buffer,
|
||||
struct weston_compositor *ec = es->compositor;
|
||||
struct gl_renderer *gr = get_renderer(ec);
|
||||
struct gl_surface_state *gs = get_surface_state(es);
|
||||
- EGLint attribs[5];
|
||||
+ EGLint attribs[3];
|
||||
GLenum target;
|
||||
int i, num_planes;
|
||||
|
||||
@@ -2205,9 +2205,7 @@ gl_renderer_attach_egl(struct weston_surface *es, struct weston_buffer *buffer,
|
||||
for (i = 0; i < num_planes; i++) {
|
||||
attribs[0] = EGL_WAYLAND_PLANE_WL;
|
||||
attribs[1] = i;
|
||||
- attribs[2] = EGL_IMAGE_PRESERVED_KHR;
|
||||
- attribs[3] = EGL_TRUE;
|
||||
- attribs[4] = EGL_NONE;
|
||||
+ attribs[2] = EGL_NONE;
|
||||
|
||||
gs->images[i] = egl_image_create(gr,
|
||||
EGL_WAYLAND_BUFFER_WL,
|
||||
@@ -2242,7 +2240,7 @@ import_simple_dmabuf(struct gl_renderer *gr,
|
||||
struct dmabuf_attributes *attributes)
|
||||
{
|
||||
struct egl_image *image;
|
||||
- EGLint attribs[52];
|
||||
+ EGLint attribs[50];
|
||||
int atti = 0;
|
||||
bool has_modifier;
|
||||
|
||||
@@ -2260,8 +2258,6 @@ import_simple_dmabuf(struct gl_renderer *gr,
|
||||
attribs[atti++] = attributes->height;
|
||||
attribs[atti++] = EGL_LINUX_DRM_FOURCC_EXT;
|
||||
attribs[atti++] = attributes->format;
|
||||
- attribs[atti++] = EGL_IMAGE_PRESERVED_KHR;
|
||||
- attribs[atti++] = EGL_TRUE;
|
||||
|
||||
if (attributes->modifier[0] != DRM_FORMAT_MOD_INVALID) {
|
||||
if (!gr->has_dmabuf_import_modifiers)
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From: Erik Kurzinger <ekurzinger@nvidia.com>
|
||||
Date: Fri, 12 Aug 2022 08:22:26 -0700
|
||||
Subject: [PATCH] clients/simple-egl: call eglSwapInterval after eglMakeCurrent
|
||||
|
||||
If weston-simple-egl is run with the "-b" flag, it will attempt to set
|
||||
the swap interval to 0 during create_surface. However, at that point, it
|
||||
will not have made its EGLContext current yet, causing the
|
||||
eglSwapInterval call to have no effect. To fix this, wait until the
|
||||
EGLContext has been made current in init_gl before updating the swap
|
||||
interval.
|
||||
|
||||
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
|
||||
---
|
||||
clients/simple-egl.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/clients/simple-egl.c b/clients/simple-egl.c
|
||||
index 2c7059c0..79d296a9 100644
|
||||
--- a/clients/simple-egl.c
|
||||
+++ b/clients/simple-egl.c
|
||||
@@ -276,6 +276,9 @@ init_gl(struct window *window)
|
||||
window->egl_surface, window->display->egl.ctx);
|
||||
assert(ret == EGL_TRUE);
|
||||
|
||||
+ if (!window->frame_sync)
|
||||
+ eglSwapInterval(window->display->egl.dpy, 0);
|
||||
+
|
||||
frag = create_shader(window, frag_shader_text, GL_FRAGMENT_SHADER);
|
||||
vert = create_shader(window, vert_shader_text, GL_VERTEX_SHADER);
|
||||
|
||||
@@ -399,9 +402,6 @@ create_surface(struct window *window)
|
||||
|
||||
window->wait_for_configure = true;
|
||||
wl_surface_commit(window->surface);
|
||||
-
|
||||
- if (!window->frame_sync)
|
||||
- eglSwapInterval(display->egl.dpy, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -3,10 +3,10 @@ FILESEXTRAPATHS:prepend:stm32mpcommon := "${THISDIR}/${PN}:"
|
|||
SRC_URI:append:stm32mpcommon = " \
|
||||
file://0001-Allow-to-get-hdmi-output-with-several-outputs.patch \
|
||||
file://0002-Force-to-close-all-output.patch \
|
||||
file://0003-Disable-gles3.patch \
|
||||
file://0004-Revert-gl-renderer-Add-EGL_IMAGE_PRESERVED_KHR-to-ou.patch \
|
||||
file://0001-Remove-useless-code-from-new-Fragment-Shader.patch \
|
||||
file://0004-Disable-request-to-EGL_DRM_RENDER_NODE_FILE_EXT.patch \
|
||||
file://0005-clients-simple-egl-call-eglSwapInterval-after-eglMak.patch \
|
||||
"
|
||||
|
||||
SIMPLECLIENTS="egl,touch,dmabuf-v4l,dmabuf-egl"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
|
||||
|
|
|
|||
Loading…
Reference in New Issue