Another fix
This commit is contained in:
parent
f17f73a21a
commit
49f9f8988a
@ -0,0 +1,51 @@
|
|||||||
|
From a2dfe2562fa9a455518d4c10c334f9ed7d92f96b Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Owen W. Taylor" <otaylor@fishsoup.net>
|
||||||
|
Date: Wed, 4 Dec 2013 23:54:27 -0500
|
||||||
|
Subject: [PATCH] ClutterStageCogl: Ignore a clip the size of the stage
|
||||||
|
|
||||||
|
If the clip region includes the entire stage, ignore it - we aren't
|
||||||
|
actually clipped.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=719901
|
||||||
|
---
|
||||||
|
clutter/cogl/clutter-stage-cogl.c | 14 ++++++++++++--
|
||||||
|
1 file changed, 12 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clutter/cogl/clutter-stage-cogl.c b/clutter/cogl/clutter-stage-cogl.c
|
||||||
|
index 3aa02bd..86546b1 100644
|
||||||
|
--- a/clutter/cogl/clutter-stage-cogl.c
|
||||||
|
+++ b/clutter/cogl/clutter-stage-cogl.c
|
||||||
|
@@ -398,6 +398,8 @@ static void
|
||||||
|
clutter_stage_cogl_redraw (ClutterStageWindow *stage_window)
|
||||||
|
{
|
||||||
|
ClutterStageCogl *stage_cogl = CLUTTER_STAGE_COGL (stage_window);
|
||||||
|
+ cairo_rectangle_int_t geom;
|
||||||
|
+ gboolean have_clip;
|
||||||
|
gboolean may_use_clipped_redraw;
|
||||||
|
gboolean use_clipped_redraw;
|
||||||
|
gboolean can_blit_sub_buffer;
|
||||||
|
@@ -435,11 +437,19 @@ clutter_stage_cogl_redraw (ClutterStageWindow *stage_window)
|
||||||
|
|
||||||
|
has_buffer_age = cogl_clutter_winsys_has_feature (COGL_WINSYS_FEATURE_BUFFER_AGE);
|
||||||
|
|
||||||
|
+ _clutter_stage_window_get_geometry (stage_window, &geom);
|
||||||
|
+
|
||||||
|
+ /* NB: a zero width redraw clip == full stage redraw */
|
||||||
|
+ have_clip = (stage_cogl->bounding_redraw_clip.width != 0 &&
|
||||||
|
+ !(stage_cogl->bounding_redraw_clip.x == 0 &&
|
||||||
|
+ stage_cogl->bounding_redraw_clip.y == 0 &&
|
||||||
|
+ stage_cogl->bounding_redraw_clip.width == geom.width &&
|
||||||
|
+ stage_cogl->bounding_redraw_clip.height == geom.height));
|
||||||
|
+
|
||||||
|
may_use_clipped_redraw = FALSE;
|
||||||
|
if (_clutter_stage_window_can_clip_redraws (stage_window) &&
|
||||||
|
can_blit_sub_buffer &&
|
||||||
|
- /* NB: a zero width redraw clip == full stage redraw */
|
||||||
|
- stage_cogl->bounding_redraw_clip.width != 0 &&
|
||||||
|
+ have_clip &&
|
||||||
|
/* some drivers struggle to get going and produce some junk
|
||||||
|
* frames when starting up... */
|
||||||
|
stage_cogl->frame_count > 3)
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
@ -17,6 +17,7 @@ Patch0: clutter-1.16.0-fix-evdev-touchpad.patch
|
|||||||
# upstream fixes, to avoid excessive redraws
|
# upstream fixes, to avoid excessive redraws
|
||||||
Patch1: 0001-Bind-constraints-Don-t-force-redraws-on-source-relay.patch
|
Patch1: 0001-Bind-constraints-Don-t-force-redraws-on-source-relay.patch
|
||||||
Patch2: 0002-Don-t-queue-redraws-when-reallocating-actor-that-hav.patch
|
Patch2: 0002-Don-t-queue-redraws-when-reallocating-actor-that-hav.patch
|
||||||
|
Patch3: 0001-ClutterStageCogl-Ignore-a-clip-the-size-of-the-stage.patch
|
||||||
|
|
||||||
BuildRequires: glib2-devel mesa-libGL-devel pkgconfig pango-devel
|
BuildRequires: glib2-devel mesa-libGL-devel pkgconfig pango-devel
|
||||||
BuildRequires: cairo-gobject-devel gdk-pixbuf2-devel atk-devel
|
BuildRequires: cairo-gobject-devel gdk-pixbuf2-devel atk-devel
|
||||||
@ -86,6 +87,7 @@ This package contains documentation for clutter.
|
|||||||
%patch0 -p1 -b .touch
|
%patch0 -p1 -b .touch
|
||||||
%patch1 -p1 -b .redraws1
|
%patch1 -p1 -b .redraws1
|
||||||
%patch2 -p1 -b .redraws2
|
%patch2 -p1 -b .redraws2
|
||||||
|
%patch3 -p1 -b .redraws3
|
||||||
|
|
||||||
%build
|
%build
|
||||||
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
||||||
@ -137,6 +139,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
|
|||||||
%{_datadir}/gtk-doc/html/cally
|
%{_datadir}/gtk-doc/html/cally
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Dec 9 2013 Matthias Clasen <mclasen@redhat.com> - 1.16.2-3
|
||||||
|
- A followup fix to the previous changes
|
||||||
|
|
||||||
* Tue Nov 26 2013 Matthias Clasen <mclasen@redhat.com> - 1.16.2-2
|
* Tue Nov 26 2013 Matthias Clasen <mclasen@redhat.com> - 1.16.2-2
|
||||||
- Avoid excessive redraws when windows are moved in gnome-shell
|
- Avoid excessive redraws when windows are moved in gnome-shell
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user