Update to 19.0.0~rc6
This commit is contained in:
parent
1e37af6af6
commit
efe4f93dbb
@ -1,64 +0,0 @@
|
|||||||
From 99914164455a589756186085b9b66d23f1318ee2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Date: Tue, 20 Nov 2018 18:06:38 +0100
|
|
||||||
Subject: [PATCH] wayland/egl: Ensure EGL surface is resized on DRI
|
|
||||||
update_buffers()
|
|
||||||
|
|
||||||
Fullscreening and unfullscreening a totem window while playing a video
|
|
||||||
sometimes results in the video subsurface not changing size along. This
|
|
||||||
is also reproducible with epiphany.
|
|
||||||
|
|
||||||
If a surface gets resized while we have an active back buffer for it, the
|
|
||||||
resized dimensions won't get neither immediately applied on the resize
|
|
||||||
callback, nor correctly synchronized on update_buffers(), as the
|
|
||||||
(now stale) surface size and currently attached buffer size still do match.
|
|
||||||
|
|
||||||
There's actually 2 things to synchronize here, first the surface query
|
|
||||||
size might not be updated yet to the wl_egl_window's (i.e. resize_callback
|
|
||||||
happened while there is a back buffer), and second the wayland buffers
|
|
||||||
would need dropping if new surface size differs with the currently attached
|
|
||||||
buffer. These are done in separate steps now.
|
|
||||||
|
|
||||||
v2: Added the 'Fixes' tag
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1650929
|
|
||||||
|
|
||||||
Fixes: a9fb331ea7d ("wayland/egl: update surface size on window resize")
|
|
||||||
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
|
|
||||||
Tested-by: Bastien Nocera <hadess@hadess.net>
|
|
||||||
---
|
|
||||||
src/egl/drivers/dri2/platform_wayland.c | 11 +++++++----
|
|
||||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
|
|
||||||
index c3ca1b6f7bc..3025e34ba63 100644
|
|
||||||
--- a/src/egl/drivers/dri2/platform_wayland.c
|
|
||||||
+++ b/src/egl/drivers/dri2/platform_wayland.c
|
|
||||||
@@ -637,10 +637,8 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
|
|
||||||
struct dri2_egl_display *dri2_dpy =
|
|
||||||
dri2_egl_display(dri2_surf->base.Resource.Display);
|
|
||||||
|
|
||||||
- if (dri2_surf->base.Width != dri2_surf->wl_win->attached_width ||
|
|
||||||
- dri2_surf->base.Height != dri2_surf->wl_win->attached_height) {
|
|
||||||
-
|
|
||||||
- dri2_wl_release_buffers(dri2_surf);
|
|
||||||
+ if (dri2_surf->base.Width != dri2_surf->wl_win->width ||
|
|
||||||
+ dri2_surf->base.Height != dri2_surf->wl_win->height) {
|
|
||||||
|
|
||||||
dri2_surf->base.Width = dri2_surf->wl_win->width;
|
|
||||||
dri2_surf->base.Height = dri2_surf->wl_win->height;
|
|
||||||
@@ -648,6 +646,11 @@ update_buffers(struct dri2_egl_surface *dri2_surf)
|
|
||||||
dri2_surf->dy = dri2_surf->wl_win->dy;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (dri2_surf->base.Width != dri2_surf->wl_win->attached_width ||
|
|
||||||
+ dri2_surf->base.Height != dri2_surf->wl_win->attached_height) {
|
|
||||||
+ dri2_wl_release_buffers(dri2_surf);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (get_back_bo(dri2_surf) < 0) {
|
|
||||||
_eglError(EGL_BAD_ALLOC, "failed to allocate color buffer");
|
|
||||||
return -1;
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
2
Makefile
2
Makefile
@ -1,4 +1,4 @@
|
|||||||
VERSION ?= 19.0.0-rc5
|
VERSION ?= 19.0.0-rc6
|
||||||
SANITIZE ?= 1
|
SANITIZE ?= 1
|
||||||
|
|
||||||
DIRNAME = mesa-${VERSION}
|
DIRNAME = mesa-${VERSION}
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
%global ver 19.0.0-rc5
|
%global ver 19.0.0-rc6
|
||||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -70,10 +70,6 @@ Patch3: 0003-evergreen-big-endian.patch
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1560481
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1560481
|
||||||
Patch7: 0001-gallium-Disable-rgb10-configs-by-default.patch
|
Patch7: 0001-gallium-Disable-rgb10-configs-by-default.patch
|
||||||
|
|
||||||
# https://lists.freedesktop.org/archives/mesa-dev/2018-November/210797.html
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1650929
|
|
||||||
Patch10: 0001-wayland-egl-Ensure-EGL-surface-is-resized-on-DRI-upd.patch
|
|
||||||
|
|
||||||
BuildRequires: meson >= 0.45
|
BuildRequires: meson >= 0.45
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -637,6 +633,9 @@ popd
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 27 2019 Pete Walter <pwalter@fedoraproject.org> - 19.0.0~rc6-1
|
||||||
|
- Update to 19.0.0~rc6
|
||||||
|
|
||||||
* Wed Feb 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 19.0.0~rc5-1
|
* Wed Feb 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 19.0.0~rc5-1
|
||||||
- Update to 19.0.0~rc5
|
- Update to 19.0.0~rc5
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (mesa-19.0.0-rc5.tar.xz) = 7196a5f4b60a8d6935c55b93ba4bdbcbe5bb7226fe12df68e0594d56a51720d15b67235d41059f483da7c0e04332f2d20b3f8ffb92a15a3d06181b01b961e6fe
|
SHA512 (mesa-19.0.0-rc6.tar.xz) = 5788a8c4315f1f7bdc28069930688726577a0fe1febfb366c060e96d73d906004ef777f597139c03e23f641d98727d0efeccf31793024ae1bb3870b0b9ebc984
|
||||||
|
Loading…
Reference in New Issue
Block a user