Update to 3.32.0

This commit is contained in:
Florian Müllner 2019-03-12 00:32:56 +01:00
parent 58c091a426
commit aa89d428b4
5 changed files with 8 additions and 405 deletions

1
.gitignore vendored
View File

@ -150,3 +150,4 @@ mutter-2.31.5.tar.bz2
/mutter-3.31.90.tar.xz
/mutter-3.31.91.tar.xz
/mutter-3.31.92.tar.xz
/mutter-3.32.0.tar.xz

View File

@ -1,41 +0,0 @@
From 4f72099023bc5bb142a782a1924797729329cc9a Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@posteo.de>
Date: Wed, 6 Mar 2019 16:57:09 +0100
Subject: [PATCH] Revert "cogl: Pick glReadPixels format by target, not source"
This reverts commit 981b045459350d141fdfd16355cf2f4cd0aebc0f.
Fixes https://gitlab.gnome.org/GNOME/mutter/issues/418
---
cogl/cogl/driver/gl/cogl-framebuffer-gl.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
index c2bf92882..84c2f314a 100644
--- a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
+++ b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
@@ -4,7 +4,6 @@
* A Low Level GPU Graphics and Utilities API
*
* Copyright (C) 2007,2008,2009,2012 Intel Corporation.
- * Copyright (C) 2018 DisplayLink (UK) Ltd.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -1274,12 +1273,9 @@ _cogl_framebuffer_gl_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
if (!cogl_is_offscreen (framebuffer))
y = framebuffer_height - y - height;
- /* Use target format ANY, because GL texture_swizzle extension cannot
- * ever apply for glReadPixels.
- */
required_format = ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
+ framebuffer->internal_format,
format,
- COGL_PIXEL_FORMAT_ANY,
&gl_intformat,
&gl_format,
&gl_type);
--
2.18.1

352
486.patch
View File

@ -1,352 +0,0 @@
From d83a325f98c8a6fa346a924192e65cf7a3c87c81 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Thu, 7 Mar 2019 22:56:35 +0100
Subject: [PATCH 1/2] Revert "Revert "cogl: Pick glReadPixels format by target,
not source""
This reverts commit 4f72099023bc5bb142a782a1924797729329cc9a.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/486
---
cogl/cogl/driver/gl/cogl-framebuffer-gl.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
index 84c2f314a..c2bf92882 100644
--- a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
+++ b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
@@ -4,6 +4,7 @@
* A Low Level GPU Graphics and Utilities API
*
* Copyright (C) 2007,2008,2009,2012 Intel Corporation.
+ * Copyright (C) 2018 DisplayLink (UK) Ltd.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
@@ -1273,9 +1274,12 @@ _cogl_framebuffer_gl_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
if (!cogl_is_offscreen (framebuffer))
y = framebuffer_height - y - height;
+ /* Use target format ANY, because GL texture_swizzle extension cannot
+ * ever apply for glReadPixels.
+ */
required_format = ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
- framebuffer->internal_format,
format,
+ COGL_PIXEL_FORMAT_ANY,
&gl_intformat,
&gl_format,
&gl_type);
--
2.18.1
From 8c5c033d5b728ecfb5136c549bfbea9da4e10b02 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Thu, 7 Mar 2019 21:35:54 +0100
Subject: [PATCH 2/2] cogl: Revert swizzling for BGRA buffers
As it was originally reported on
https://bugzilla.gnome.org/show_bug.cgi?id=779234#c0, the hottest path was
convert_ubyte() in mesa. Reverting this shows no trace of those hot paths,
nor any higher than usual CPU activity.
As the improvements at the time were real, I can only conclude that pixel
conversion was happening somewhere further the pipeline, and swizzling just
helped indirectly. That got eventually fixed, so swizzling just stayed to
cause grief. And lots it caused.
Time to bin this, it seems.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/486
---
cogl/cogl/cogl-driver.h | 7 ----
cogl/cogl/cogl-texture-driver.h | 1 -
cogl/cogl/cogl-texture.c | 1 -
cogl/cogl/driver/gl/cogl-framebuffer-gl.c | 11 +++---
cogl/cogl/driver/gl/cogl-texture-2d-gl.c | 11 +++---
cogl/cogl/driver/gl/gl/cogl-driver-gl.c | 37 +++----------------
.../driver/gl/gl/cogl-texture-driver-gl.c | 24 +++---------
cogl/cogl/driver/gl/gles/cogl-driver-gles.c | 26 +++----------
.../driver/gl/gles/cogl-texture-driver-gles.c | 1 -
cogl/cogl/driver/nop/cogl-driver-nop.c | 1 -
10 files changed, 26 insertions(+), 94 deletions(-)
diff --git a/cogl/cogl/cogl-driver.h b/cogl/cogl/cogl-driver.h
index 0e2d8ca79..86682d8a7 100644
--- a/cogl/cogl/cogl-driver.h
+++ b/cogl/cogl/cogl-driver.h
@@ -55,13 +55,6 @@ struct _CoglDriverVtable
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype);
- CoglPixelFormat
- (* pixel_format_to_gl_with_target) (CoglContext *context,
- CoglPixelFormat format,
- CoglPixelFormat target_format,
- GLenum *out_glintformat,
- GLenum *out_glformat,
- GLenum *out_gltype);
gboolean
(* update_features) (CoglContext *context,
diff --git a/cogl/cogl/cogl-texture-driver.h b/cogl/cogl/cogl-texture-driver.h
index ee98c22ed..f77c54880 100644
--- a/cogl/cogl/cogl-texture-driver.h
+++ b/cogl/cogl/cogl-texture-driver.h
@@ -198,7 +198,6 @@ struct _CoglTextureDriver
CoglPixelFormat
(* find_best_gl_get_data_format) (CoglContext *context,
CoglPixelFormat format,
- CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type);
};
diff --git a/cogl/cogl/cogl-texture.c b/cogl/cogl/cogl-texture.c
index 52165ab65..695b9bea4 100644
--- a/cogl/cogl/cogl-texture.c
+++ b/cogl/cogl/cogl-texture.c
@@ -787,7 +787,6 @@ cogl_texture_get_data (CoglTexture *texture,
closest_format =
ctx->texture_driver->find_best_gl_get_data_format (ctx,
- texture_format,
format,
&closest_gl_format,
&closest_gl_type);
diff --git a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
index c2bf92882..a29a0d234 100644
--- a/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
+++ b/cogl/cogl/driver/gl/cogl-framebuffer-gl.c
@@ -1277,12 +1277,11 @@ _cogl_framebuffer_gl_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
/* Use target format ANY, because GL texture_swizzle extension cannot
* ever apply for glReadPixels.
*/
- required_format = ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
- format,
- COGL_PIXEL_FORMAT_ANY,
- &gl_intformat,
- &gl_format,
- &gl_type);
+ required_format = ctx->driver_vtable->pixel_format_to_gl (ctx,
+ format,
+ &gl_intformat,
+ &gl_format,
+ &gl_type);
/* NB: All offscreen rendering is done upside down so there is no need
* to flip in this case... */
diff --git a/cogl/cogl/driver/gl/cogl-texture-2d-gl.c b/cogl/cogl/driver/gl/cogl-texture-2d-gl.c
index 6692c9403..e36c3523e 100644
--- a/cogl/cogl/driver/gl/cogl-texture-2d-gl.c
+++ b/cogl/cogl/driver/gl/cogl-texture-2d-gl.c
@@ -781,12 +781,11 @@ _cogl_texture_2d_gl_copy_from_bitmap (CoglTexture2D *tex_2d,
upload_format = cogl_bitmap_get_format (upload_bmp);
- ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
- upload_format,
- _cogl_texture_get_format (tex),
- NULL, /* internal gl format */
- &gl_format,
- &gl_type);
+ ctx->driver_vtable->pixel_format_to_gl (ctx,
+ upload_format,
+ NULL, /* internal gl format */
+ &gl_format,
+ &gl_type);
/* If this touches the first pixel then we'll update our copy */
if (dst_x == 0 && dst_y == 0 &&
diff --git a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
index 84252e169..4d46844d5 100644
--- a/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
+++ b/cogl/cogl/driver/gl/gl/cogl-driver-gl.c
@@ -94,12 +94,11 @@ _cogl_driver_pixel_format_from_gl_internal (CoglContext *context,
}
static CoglPixelFormat
-_cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
- CoglPixelFormat format,
- CoglPixelFormat target_format,
- GLenum *out_glintformat,
- GLenum *out_glformat,
- GLenum *out_gltype)
+_cogl_driver_pixel_format_to_gl (CoglContext *context,
+ CoglPixelFormat format,
+ GLenum *out_glintformat,
+ GLenum *out_glformat,
+ GLenum *out_gltype)
{
CoglPixelFormat required_format;
GLenum glintformat = 0;
@@ -173,16 +172,7 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
case COGL_PIXEL_FORMAT_BGRA_8888:
case COGL_PIXEL_FORMAT_BGRA_8888_PRE:
glintformat = GL_RGBA;
- /* If the driver has texture_swizzle, pretend internal
- * and buffer format are the same here, the pixels
- * will be flipped through this extension.
- */
- if (target_format == format &&
- _cogl_has_private_feature
- (context, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
- glformat = GL_RGBA;
- else
- glformat = GL_BGRA;
+ glformat = GL_BGRA;
gltype = GL_UNSIGNED_BYTE;
break;
@@ -297,20 +287,6 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
return required_format;
}
-static CoglPixelFormat
-_cogl_driver_pixel_format_to_gl (CoglContext *context,
- CoglPixelFormat format,
- GLenum *out_glintformat,
- GLenum *out_glformat,
- GLenum *out_gltype)
-{
- return _cogl_driver_pixel_format_to_gl_with_target (context,
- format, format,
- out_glintformat,
- out_glformat,
- out_gltype);
-}
-
static gboolean
_cogl_get_gl_version (CoglContext *ctx,
int *major_out,
@@ -685,7 +661,6 @@ _cogl_driver_gl =
{
_cogl_driver_pixel_format_from_gl_internal,
_cogl_driver_pixel_format_to_gl,
- _cogl_driver_pixel_format_to_gl_with_target,
_cogl_driver_update_features,
_cogl_offscreen_gl_allocate,
_cogl_offscreen_gl_free,
diff --git a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
index 96d6a6da3..fbb55def5 100644
--- a/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
+++ b/cogl/cogl/driver/gl/gl/cogl-texture-driver-gl.c
@@ -112,18 +112,6 @@ _cogl_texture_driver_gen (CoglContext *ctx,
red_swizzle) );
}
- /* If swizzle extension is available, prefer it to flip bgra buffers to rgba */
- if ((internal_format == COGL_PIXEL_FORMAT_BGRA_8888 ||
- internal_format == COGL_PIXEL_FORMAT_BGRA_8888_PRE) &&
- _cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
- {
- static const GLint bgra_swizzle[] = { GL_BLUE, GL_GREEN, GL_RED, GL_ALPHA };
-
- GE( ctx, glTexParameteriv (gl_target,
- GL_TEXTURE_SWIZZLE_RGBA,
- bgra_swizzle) );
- }
-
return tex;
}
@@ -531,16 +519,14 @@ static CoglPixelFormat
_cogl_texture_driver_find_best_gl_get_data_format
(CoglContext *context,
CoglPixelFormat format,
- CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type)
{
- return context->driver_vtable->pixel_format_to_gl_with_target (context,
- format,
- target_format,
- NULL, /* don't need */
- closest_gl_format,
- closest_gl_type);
+ return context->driver_vtable->pixel_format_to_gl (context,
+ format,
+ NULL, /* don't need */
+ closest_gl_format,
+ closest_gl_type);
}
const CoglTextureDriver
diff --git a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
index 2e75345b1..6f2cf6e59 100644
--- a/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
+++ b/cogl/cogl/driver/gl/gles/cogl-driver-gles.c
@@ -65,12 +65,11 @@ _cogl_driver_pixel_format_from_gl_internal (CoglContext *context,
}
static CoglPixelFormat
-_cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
- CoglPixelFormat format,
- CoglPixelFormat target_format,
- GLenum *out_glintformat,
- GLenum *out_glformat,
- GLenum *out_gltype)
+_cogl_driver_pixel_format_to_gl (CoglContext *context,
+ CoglPixelFormat format,
+ GLenum *out_glintformat,
+ GLenum *out_glformat,
+ GLenum *out_gltype)
{
CoglPixelFormat required_format;
GLenum glintformat;
@@ -218,20 +217,6 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
return required_format;
}
-static CoglPixelFormat
-_cogl_driver_pixel_format_to_gl (CoglContext *context,
- CoglPixelFormat format,
- GLenum *out_glintformat,
- GLenum *out_glformat,
- GLenum *out_gltype)
-{
- return _cogl_driver_pixel_format_to_gl_with_target (context,
- format, format,
- out_glintformat,
- out_glformat,
- out_gltype);
-}
-
static gboolean
_cogl_get_gl_version (CoglContext *ctx,
int *major_out,
@@ -449,7 +434,6 @@ _cogl_driver_gles =
{
_cogl_driver_pixel_format_from_gl_internal,
_cogl_driver_pixel_format_to_gl,
- _cogl_driver_pixel_format_to_gl_with_target,
_cogl_driver_update_features,
_cogl_offscreen_gl_allocate,
_cogl_offscreen_gl_free,
diff --git a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c
index 9ecfd2b4c..17f529e32 100644
--- a/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c
+++ b/cogl/cogl/driver/gl/gles/cogl-texture-driver-gles.c
@@ -613,7 +613,6 @@ static CoglPixelFormat
_cogl_texture_driver_find_best_gl_get_data_format
(CoglContext *context,
CoglPixelFormat format,
- CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type)
{
diff --git a/cogl/cogl/driver/nop/cogl-driver-nop.c b/cogl/cogl/driver/nop/cogl-driver-nop.c
index bedad2b13..b41a2bcc5 100644
--- a/cogl/cogl/driver/nop/cogl-driver-nop.c
+++ b/cogl/cogl/driver/nop/cogl-driver-nop.c
@@ -59,7 +59,6 @@ _cogl_driver_nop =
{
NULL, /* pixel_format_from_gl_internal */
NULL, /* pixel_format_to_gl */
- NULL, /* pixel_format_to_gl_with_target */
_cogl_driver_update_features,
_cogl_offscreen_nop_allocate,
_cogl_offscreen_nop_free,
--
2.18.1

View File

@ -7,26 +7,18 @@
%global mutter_api_version 4
Name: mutter
Version: 3.31.92
Release: 3%{?dist}
Version: 3.32.0
Release: 1%{?dist}
Summary: Window and compositing manager based on Clutter
License: GPLv2+
#VCS: git:git://git.gnome.org/mutter
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/%{name}/3.31/%{name}-%{version}.tar.xz
Source0: http://download.gnome.org/sources/%{name}/3.32/%{name}-%{version}.tar.xz
# Work-around for OpenJDK's compliance test
Patch0: 0001-window-actor-Special-case-shaped-Java-windows.patch
# Fix inverted colours
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/479
# https://gitlab.gnome.org/GNOME/mutter/issues/418
Patch1: 479.patch
# https://gitlab.gnome.org/GNOME/mutter/merge_requests/486
# https://bugzilla.redhat.com/show_bug.cgi?id=1686649
Patch2: 486.patch
BuildRequires: chrpath
BuildRequires: pango-devel
BuildRequires: startup-notification-devel
@ -168,6 +160,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
%{_datadir}/mutter-%{mutter_api_version}/tests
%changelog
* Tue Mar 12 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.0-1
- Update to 3.32.0
* Fri Mar 08 2019 Kalev Lember <klember@redhat.com> - 3.31.92-3
- Backport more inverted colour fixes (#1686649)

View File

@ -1 +1 @@
SHA512 (mutter-3.31.92.tar.xz) = 0e9e41c0546a0905105bb6615d0f840eb031285a3281240f446453513a0fb802207e920bd66a6211cbeeb232d53e61ffc042fea1b36a31e1352274891076a37f
SHA512 (mutter-3.32.0.tar.xz) = 7f26e7f752a5cedbe066b05b34eec8c4086aee1a7cbd787fad3e9b9c3a440fc8a74ada2440717a115bb69bb0781184f01e55bbbdfaa20f58d060ce6102895de1