diff options
author | LuoYi | 2021-11-06 14:26:50 +0800 |
---|---|---|
committer | LuoYi | 2021-11-06 14:26:50 +0800 |
commit | 7218870add342087c12eba80304f3dee4f1d8261 (patch) | |
tree | 9a18f86f84f9b843a16341ae6050dc57f40da3bd | |
parent | fae2cfbdbfdd1492564fae146437fbd4eda41206 (diff) | |
download | aur-7218870add342087c12eba80304f3dee4f1d8261.tar.gz |
Set linear filter to MetaClipEffect
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 4 | ||||
-rw-r--r-- | meta_clip_effect.c | 22 | ||||
-rw-r--r-- | shell_blur_effect_40.5.patch | 8 |
4 files changed, 31 insertions, 9 deletions
@@ -46,12 +46,12 @@ pkgbase = mutter-rounded source = mutter_setting::https://gitlab.gnome.org/lluo/mutter-rounded-setting/uploads/8f8e3f8d39f31e602c2d09884a6c5dd1/main.js sha256sums = SKIP sha256sums = 0c2fc381c7529d012d3d8a4368941db7b60ce6128005008b5ddfb4da16dc2b83 - sha256sums = 579f8b6164beba2b7ee273bb6843f1681f697d59362d1d97a414cc484ef9b458 - sha256sums = c47f3a998e5b8dbb53951be450a5f561f91ad8803a653dab2bcee69b1400e6d4 + sha256sums = 895f35f5e8a458c71b4312061cf7d2b0108a3c6df4b0324ab342c5a3576ee09a + sha256sums = 622ec46c9a1e8e675adbc3d852467e46c8d3101caa0260bf63b4c1a1b87a24a1 sha256sums = 2ec553a260497f0ac0180512201c9819b10159a15fcbc6d5007932d8e2a44844 sha256sums = a02e991156dc3b4418899b73a2e65187a43990851fb235ea128ed7650c839a3b sha256sums = 8fb024306843153b28db2f5347775ef7e8add1dd846345148a572ad5336e168b sha256sums = d58056b5028e1cf02a029036792f52e3429bd5f71a9403b5be93d95a7ba8252a - sha256sums = 0182ba6d60c1bcc13d959b018662ea0bc1cc2347e6648fd455212fa3221dfd79 + sha256sums = c0eff82301060044d231f0b674025e5a00d1152e515e08d16fd18363da5187e5 pkgname = mutter-rounded @@ -46,8 +46,8 @@ source=("$_mutter_src" "$_setting_src") sha256sums=('SKIP' '0c2fc381c7529d012d3d8a4368941db7b60ce6128005008b5ddfb4da16dc2b83' - '579f8b6164beba2b7ee273bb6843f1681f697d59362d1d97a414cc484ef9b458' - 'c47f3a998e5b8dbb53951be450a5f561f91ad8803a653dab2bcee69b1400e6d4' + '895f35f5e8a458c71b4312061cf7d2b0108a3c6df4b0324ab342c5a3576ee09a' + '622ec46c9a1e8e675adbc3d852467e46c8d3101caa0260bf63b4c1a1b87a24a1' '2ec553a260497f0ac0180512201c9819b10159a15fcbc6d5007932d8e2a44844' 'a02e991156dc3b4418899b73a2e65187a43990851fb235ea128ed7650c839a3b' '8fb024306843153b28db2f5347775ef7e8add1dd846345148a572ad5336e168b' diff --git a/meta_clip_effect.c b/meta_clip_effect.c index 5759d2f81d43..408eefde9dd1 100644 --- a/meta_clip_effect.c +++ b/meta_clip_effect.c @@ -35,6 +35,26 @@ meta_clip_effect_set_actor(ClutterActorMeta *meta, priv->actor = clutter_actor_meta_get_actor(meta); } +static gboolean +meta_clip_effect_pre_paint (ClutterEffect *effect, + ClutterPaintNode *node, + ClutterPaintContext *paint_context) +{ + gboolean res = + CLUTTER_EFFECT_CLASS (meta_clip_effect_parent_class)->pre_paint(effect, node, paint_context); + MetaClipEffect *clip_effect = META_CLIP_EFFECT (effect); + MetaClipEffectPrivate *priv = + meta_clip_effect_get_instance_private(META_CLIP_EFFECT(clip_effect)); + + // seems CutterOffscreenEffect will set COGL_PIPELINE_FILTER_NEAREST + // as layer filter, force set linear filter before paint now + cogl_pipeline_set_layer_filters (priv->pipeline, + 0, + COGL_PIPELINE_FILTER_LINEAR, + COGL_PIPELINE_FILTER_LINEAR); + return res; +} + static void meta_clip_effect_dispose(GObject *gobject) { @@ -54,10 +74,12 @@ static void meta_clip_effect_class_init(MetaClipEffectClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + ClutterEffectClass *effect_class = CLUTTER_EFFECT_CLASS (klass); ClutterOffscreenEffectClass *offscreen_class = CLUTTER_OFFSCREEN_EFFECT_CLASS (klass); ClutterActorMetaClass *meta_class = CLUTTER_ACTOR_META_CLASS(klass); meta_class->set_actor = meta_clip_effect_set_actor; + effect_class->pre_paint = meta_clip_effect_pre_paint; offscreen_class->create_pipeline = meta_clip_effect_class_create_pipeline; gobject_class->dispose = meta_clip_effect_dispose; } diff --git a/shell_blur_effect_40.5.patch b/shell_blur_effect_40.5.patch index 2189ab285210..685c26a00bd7 100644 --- a/shell_blur_effect_40.5.patch +++ b/shell_blur_effect_40.5.patch @@ -1,6 +1,6 @@ diff -Narup a/src/shell-blur-effect.c b/src/shell-blur-effect.c ---- a/src/shell-blur-effect.c 2021-10-28 21:09:19.663157558 +0800 -+++ b/src/shell-blur-effect.c 2021-10-28 21:09:19.663157558 +0800 +--- a/src/shell-blur-effect.c 2021-11-06 14:09:18.864228559 +0800 ++++ b/src/shell-blur-effect.c 2021-11-06 14:09:18.864228559 +0800 @@ -22,6 +22,9 @@ #include "shell-enum-types.h" @@ -426,8 +426,8 @@ diff -Narup a/src/shell-blur-effect.c b/src/shell-blur-effect.c + clutter_effect_queue_repaint (CLUTTER_EFFECT (self)); +} diff -Narup a/src/shell-blur-effect.h b/src/shell-blur-effect.h ---- a/src/shell-blur-effect.h 2021-10-28 21:09:19.663157558 +0800 -+++ b/src/shell-blur-effect.h 2021-10-28 21:09:19.663157558 +0800 +--- a/src/shell-blur-effect.h 2021-11-06 14:09:18.864228559 +0800 ++++ b/src/shell-blur-effect.h 2021-11-06 14:09:18.864228559 +0800 @@ -20,6 +20,10 @@ #pragma once |