Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gstreamer-plugins-vaapi for
openSUSE:Factory checked in at 2021-02-15 23:14:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-vaapi"
Mon Feb 15 23:14:53 2021 rev:42 rq:871207 version:1.18.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/gstreamer-plugins-vaapi/gstreamer-plugins-vaapi.changes
2021-01-21 21:54:24.241771362 +0100
+++
/work/SRC/openSUSE:Factory/.gstreamer-plugins-vaapi.new.28504/gstreamer-plugins-vaapi.changes
2021-02-15 23:16:58.523456305 +0100
@@ -1,0 +2,11 @@
+Thu Jan 21 21:41:35 UTC 2021 - Bj??rn Lie <[email protected]>
+
+- Add gst-vaapi-glx-iterate-over-FBConfig.patch: glx: Iterate over
+ FBConfig and select 8 bit color size. Texture upload mechanism
+ used by gstreamer-vaapi relies on 8 bpc. In latest mesa versions
+ the first fbconfig might not be 8 bit, so iterate over it to find
+ the correct config with supported values. This also adds 8 bit
+ alpha size to the framebuffer configuration which is required to
+ get it working properly.
+
+-------------------------------------------------------------------
New:
----
gst-vaapi-glx-iterate-over-FBConfig.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-vaapi.spec ++++++
--- /var/tmp/diff_new_pack.m786cx/_old 2021-02-15 23:16:59.079457135 +0100
+++ /var/tmp/diff_new_pack.m786cx/_new 2021-02-15 23:16:59.079457135 +0100
@@ -26,6 +26,8 @@
Group: Productivity/Multimedia/Other
URL: https://gstreamer.freedesktop.org
Source0: %{url}/src/gstreamer-vaapi/gstreamer-vaapi-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM gst-vaapi-glx-iterate-over-FBConfig.patch -- glx: Iterate
over FBConfig and select 8 bit color size
+Patch0: gst-vaapi-glx-iterate-over-FBConfig.patch
BuildRequires: Mesa-devel
BuildRequires: Mesa-libGLESv3-devel
@@ -87,7 +89,6 @@
%install
%meson_install
-find %{buildroot} -type f -name "*.la" -delete -print
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
++++++ gst-vaapi-glx-iterate-over-FBConfig.patch ++++++
>From 0b5c0a36a6fd923f0b2bb11580fd355fb13ce021 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= <[email protected]>
Date: Wed, 20 Jan 2021 10:42:09 +0100
Subject: [PATCH] glx: Iterate over FBConfig and select 8 bit color size
Texture upload mechanism used by gstreamer-vaapi relies on 8 bpc.
In latest mesa versions the first fbconfig might not be 8 bit, so iterate
over it to find the correct config with supported values.
This also adds 8 bit alpha size to the framebuffer configuration which is
required to get it working properly.
Part-of:
<https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/411>
---
gst-libs/gst/vaapi/gstvaapiutils_glx.c | 40 ++++++++++++++++++++++++--
1 file changed, 38 insertions(+), 2 deletions(-)
diff --git a/gst-libs/gst/vaapi/gstvaapiutils_glx.c
b/gst-libs/gst/vaapi/gstvaapiutils_glx.c
index ccd7832b..f73106c2 100644
--- a/gst-libs/gst/vaapi/gstvaapiutils_glx.c
+++ b/gst-libs/gst/vaapi/gstvaapiutils_glx.c
@@ -301,9 +301,17 @@ gl_create_context (Display * dpy, int screen,
GLContextState * parent)
GLX_RED_SIZE, 8,
GLX_GREEN_SIZE, 8,
GLX_BLUE_SIZE, 8,
+ GLX_ALPHA_SIZE, 8,
None
};
+ const GLint rgba_colors[4] = {
+ GLX_RED_SIZE,
+ GLX_GREEN_SIZE,
+ GLX_BLUE_SIZE,
+ GLX_ALPHA_SIZE
+ };
+
cs = malloc (sizeof (*cs));
if (!cs)
goto error;
@@ -333,11 +341,38 @@ gl_create_context (Display * dpy, int screen,
GLContextState * parent)
if (!fbconfigs)
goto error;
- /* Find out a GLXFBConfig compatible with the parent context */
+ /* Find out a 8 bit GLXFBConfig compatible with the parent context */
for (n = 0; n < n_fbconfigs; n++) {
+ gboolean sizes_correct = FALSE;
+ int cn;
+
status = glXGetFBConfigAttrib (parent->display,
fbconfigs[n], GLX_FBCONFIG_ID, &val);
- if (status == Success && val == fbconfig_id)
+ if (status != Success)
+ goto error;
+ if (val != fbconfig_id)
+ continue;
+
+ /* Iterate over RGBA sizes in fbconfig */
+ for (cn = 0; cn < 4; cn++) {
+ int size = 0;
+
+ status = glXGetFBConfigAttrib (parent->display,
+ fbconfigs[n], rgba_colors[cn], &size);
+ if (status != Success)
+ goto error;
+
+ /* Last check is for alpha
+ * and alpha is optional */
+ if (cn == 3) {
+ if (size == 0 || size == 8) {
+ sizes_correct = TRUE;
+ break;
+ }
+ } else if (size != 8)
+ break;
+ }
+ if (sizes_correct)
break;
}
if (n == n_fbconfigs)
@@ -809,6 +844,7 @@ gl_create_pixmap_object (Display * dpy, guint width, guint
height)
GLX_RED_SIZE, 8,
GLX_GREEN_SIZE, 8,
GLX_BLUE_SIZE, 8,
+ GLX_ALPHA_SIZE, 8,
GL_NONE,
};
--
GitLab