gnome-shell/src
Georges Basile Stavracas Neto 248eb7419e Introduce ShellBlurEffect
This is a moderately fast two-pass gaussian blur implementation.
It downscales the framebuffer dynamically before applying the
gaussian shader, which cuts down rendering time quite considerably.

The blur shader takes 2 uniforms as input: the blur radius; and
whether to blur vertically or horizontally.

The blur radius is treated as an integer in C land to simplify
calculations. The vertical parameter is treated as an integer by
the shader simply due to Cogl not having proper boolean support
in snippets.

At last, brightness is also added to avoid needing to use an extra
effect to achieve that. Brightness is applied in a different pipeline
than blur, so we can control it more tightly.

ShellBlurEffect also implements a "background" mode, where the contents
beneath the actor are blurred, but not the actor itself. This mode is
performance-heavy.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1848

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/864
2020-01-08 15:59:15 -03:00
..
calendar-server calendar-server: Use correct timezone for all-day events 2019-11-28 01:42:50 +01:00
hotplug-sniffer cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:45:25 +01:00
st st/password-entry: Initialize :show-peek-icon property 2019-12-21 04:12:03 +01:00
tray Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
data-to-c.pl build: Fix the path of perl for data-to-c.pl 2015-05-22 19:03:44 +08:00
gnome-shell-extension-prefs.c build: Don't modify typelib search path in tools 2018-08-14 17:28:03 +00:00
gnome-shell-extension-tool.in shell-extension-tool: Fix typo 2019-08-27 12:16:27 +03:00
gnome-shell-perf-tool.in perf-tool: Fix default value for --extra-filter 2018-04-29 16:15:16 +00:00
gnome-shell-plugin.c locatePointer: Add implementation in gnome-shell 2019-06-05 08:15:10 +00:00
gnome-shell-portal-helper.c build: Don't modify typelib search path in tools 2018-08-14 17:28:03 +00:00
gtkactionmuxer.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 22:37:37 +00:00
gtkactionmuxer.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobservable.c Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobservable.h Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobserver.c Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobserver.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
main.c main, util: Notify systemd once we are fully initialised 2019-10-04 15:40:05 +00:00
meson.build Introduce ShellBlurEffect 2020-01-08 15:59:15 -03:00
org.gtk.Application.xml Generate GDBus proxy object for org.gtk.Application 2014-11-27 10:59:55 +00:00
run-js-test.c tests: Don't initialize Clutter 2019-08-27 15:30:51 +03:00
shell-action-modes.h Drop MESSAGE_TRAY action mode 2015-02-26 01:41:18 +01:00
shell-app-private.h shell: Use MetaStartupNotification 2018-11-23 13:58:35 +01:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c shell/app-system: Monitor for icon theme changes 2019-08-08 15:22:44 +00:00
shell-app-system.h shell-app-system: Cache GAppInfos around 2019-01-26 22:55:31 +01:00
shell-app-usage.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:45:25 +01:00
shell-app-usage.h app-usage: Remove crufty old "context"s idea 2018-11-17 12:08:33 +00:00
shell-app.c shell-app: Add discrete GPU support for NVidia drivers 2019-12-13 00:44:28 +01:00
shell-app.h app: Remove :menu property 2019-02-06 18:29:15 +01:00
shell-blur-effect.c Introduce ShellBlurEffect 2020-01-08 15:59:15 -03:00
shell-blur-effect.h Introduce ShellBlurEffect 2020-01-08 15:59:15 -03:00
shell-embedded-window-private.h shell-embedded-window: Remove hacks for old and fixed Clutter bug 2012-07-13 17:28:50 -04:00
shell-embedded-window.c shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-embedded-window.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-global-private.h locatePointer: Add implementation in gnome-shell 2019-06-05 08:15:10 +00:00
shell-global.c shell: Prime the GPUs property cache for switcheroo-control 2019-12-13 00:44:28 +01:00
shell-global.h shell: Add API to access switcheroo-control D-Bus proxy 2019-12-13 00:44:28 +01:00
shell-glsl-effect.c Use paint and pick context to get framebuffer 2019-12-03 19:07:15 +00:00
shell-glsl-effect.h shell: Actually make GLSLEffect an effect 2019-07-29 17:51:14 +02:00
shell-gtk-embed.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 22:37:37 +00:00
shell-gtk-embed.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-invert-lightness-effect.c Use paint and pick context to get framebuffer 2019-12-03 19:07:15 +00:00
shell-invert-lightness-effect.h shell: Define COGL_ENABLE_EXPERIMENTAL_API and related defines globally 2014-08-07 14:49:54 -04:00
shell-keyring-prompt.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-keyring-prompt.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.c shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-network-agent.c network: port to libnm 2018-01-12 11:48:49 +01:00
shell-network-agent.h network: port to libnm 2018-01-12 11:48:49 +01:00
shell-perf-helper.c perf-helper: Remove unused atoms 2019-12-05 16:51:00 +01:00
shell-perf-log.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:45:25 +01:00
shell-perf-log.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-polkit-authentication-agent.c src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
shell-polkit-authentication-agent.h polkit: Port to G_DECLARE_FINAL_CLASS 2018-11-06 13:05:15 -02:00
shell-recorder-src.c cleanup: Use g_clear_handle_id() for g_source_remove() 2019-11-22 01:45:25 +01:00
shell-recorder-src.h Add emacs modelines to all .c and .h files that were missing them 2009-10-27 11:27:45 -04:00
shell-recorder.c Adapt to painting and picking API change 2019-12-03 19:07:15 +00:00
shell-recorder.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-screenshot.c Adapt to painting and picking API change 2019-12-03 19:07:15 +00:00
shell-screenshot.h shell: Make screenshot API stream based 2019-11-06 22:45:22 +00:00
shell-secure-text-buffer.c shell: Don't use g_memmove() 2019-07-19 17:43:56 +00:00
shell-secure-text-buffer.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-stack.c st: Add StDirectionType enum 2019-01-30 22:50:01 +01:00
shell-stack.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-icon.c Ensure G_PARAM_STATIC_STRINGS for all properties 2019-07-30 13:58:44 +00:00
shell-tray-icon.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-tray-manager.c shell-tray-manager: Silence gdk_window_set_background_pattern warning 2019-03-04 19:57:47 +00:00
shell-tray-manager.h Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
shell-util.c shell: Remove format_date() utility function 2019-11-06 20:19:57 +00:00
shell-util.h shell: Remove format_date() utility function 2019-11-06 20:19:57 +00:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c shell: Ignore non-toplevels for ShellWindowTracker::tracked-windows-changed 2019-08-21 16:53:36 +00:00
shell-window-tracker.h shell: Hide/drop unused public API 2018-11-23 13:58:35 +01:00
shell-wm-private.h ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.c ui: Add InhibitShortcutsDialog 2017-08-02 11:27:42 +01:00
shell-wm.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00