--- /dev/null
+From 5c49563ef49a502a6b8fae44f8778e109d32c2d9 Mon Sep 17 00:00:00 2001
+From: Robert Mader <robert.mader@collabora.com>
+Date: Mon, 2 Mar 2026 13:11:05 +0100
+Subject: [PATCH] gl-shaders: Remove asserts relying on shader compiler
+ behavior
+
+yuv_coefficients and yuv_offsets should get optimized away by shader
+compilers as the related code paths can never be reached. This seems to
+work well on Mesa but not necessarily with other drivers.
+
+While on it, assert that the uniforms *are* present, unless the
+yuv-to-rgb conversion is handled by the driver.
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/5c49563ef49a502a6b8fae44f8778e109d32c2d9]
+Signed-off-by: Robert Mader <robert.mader@collabora.com>
+---
+ libweston/renderer-gl/gl-shaders.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c
+index 98041882..18eeedf6 100644
+--- a/libweston/renderer-gl/gl-shaders.c
++++ b/libweston/renderer-gl/gl-shaders.c
+@@ -762,8 +762,18 @@ gl_shader_load_config_representation(struct weston_compositor *compositor,
+
+ if (sconf->yuv_coefficients == WESTON_COLOR_MATRIX_COEF_UNSET ||
+ sconf->yuv_coefficients == WESTON_COLOR_MATRIX_COEF_IDENTITY) {
+- assert(shader->yuv_coefficients_uniform == -1);
+- assert(shader->yuv_offsets_uniform == -1);
++ /*
++ * In this case the yuv_coefficients and yuv_offsets uniforms
++ * should never be used and thus get optimized away by the
++ * shader compiler. Unfortunately on some drivers this is not
++ * the case, so we can't assert on it.
++ */
++ return;
++ }
++
++ if (shader->yuv_coefficients_uniform == -1 ||
++ shader->yuv_offsets_uniform == -1) {
++ assert(shader->key.variant == SHADER_VARIANT_EXTERNAL);
+ return;
+ }
+
+--
+2.34.1
+