1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-11-18 13:55:36 -05:00
picom/src
Yuxuan Shui 2a60836a9b
backend: split image_op into image_op and set_image_property
Currently there is some inconsistency in how image_op is implemented
across backends. The glx backend applies some of the image operations
lazily, and not always in the order the operations were made; while the
xrender backend applies the operations eagerly. This can lead to
different render result in some cases.

Instead of trying to preserving the order of operations, which would be
unnecessary, we re-model the API to better reflect the implementation.
We make it clear that setting the property doesn't change the image
data, and properties are only applied during composition and in a
specific order.

This makes sure the render result looks consistent across backends.
Should also improve the performance of the xrender backend, even if only
slightly.

Also distill out the property management code so they can be shared.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2021-06-20 06:49:38 +01:00
..
backend backend: split image_op into image_op and set_image_property 2021-06-20 06:49:38 +01:00
atom.c x: remove the last bit of Xlib dependency 2020-10-23 07:58:01 +01:00
atom.h x: remove the last bit of Xlib dependency 2020-10-23 07:58:01 +01:00
c2.c x: restrict the scope of arguments taken by x_get_prop* 2020-12-26 07:39:21 +00:00
c2.h win: split struct win 2019-05-21 20:15:29 +01:00
cache.c cache: add cache_set for testing 2020-12-26 07:25:34 +00:00
cache.h cache: add cache_set for testing 2020-12-26 07:25:34 +00:00
common.h Refresh the TODO comments 2020-08-30 15:25:58 +01:00
compiler.h x: remove the last bit of Xlib dependency 2020-10-23 07:58:01 +01:00
config.c Merge pull request #544 from niacat/ctype 2020-11-30 22:42:46 +00:00
config.h Add rounded-corners-exclude configuration option 2020-11-30 00:35:40 +00:00
config_libconfig.c config_libconfig: drop unnecessary warning 2020-12-03 06:09:02 +00:00
dbus.c Cast argument to ctype functions to unsigned char 2020-11-19 12:19:35 +01:00
dbus.h win: split struct win 2019-05-21 20:15:29 +01:00
diagnostic.c diagnostic: warn the user if they are using a software GL renderer 2020-12-23 03:11:25 +00:00
diagnostic.h picom: make sure --diagnostics works when another picom is running 2020-03-11 19:15:26 +00:00
err.h Failure of config file parsing is a hard failure 2019-02-13 02:05:01 +00:00
event.c x: remove more of session_t parameters 2020-12-26 07:51:03 +00:00
event.h core: split out event code 2019-03-23 14:35:22 +00:00
file_watch.c file_watch: don't watch special files 2020-02-26 21:11:55 +00:00
file_watch.h core: watch for configuration file changes 2019-11-10 18:58:01 +00:00
kernel.c kernel: tweak gaussian deviation 2019-05-21 20:15:30 +01:00
kernel.h kernel: tweak gaussian deviation 2019-05-21 20:15:30 +01:00
list.h event: handle reparent to the same parent 2019-05-21 20:15:32 +01:00
log.c log: strip newlines for gl string marker 2020-12-04 01:06:20 +00:00
log.h log: add log_error_errno 2020-02-26 20:16:55 +00:00
meson.build build: make Meson treat kqueue conditional as one 2020-05-28 10:07:58 +00:00
meta.h Add missing header file 2019-05-21 20:15:34 +01:00
opengl.c legacy glx: store tex_scr location for round corner shader 2021-04-12 01:54:07 +01:00
opengl.h legacy glx: store tex_scr location for round corner shader 2021-04-12 01:54:07 +01:00
options.c Rounded corners for legacy glx backend 2020-12-16 18:10:36 +00:00
options.h options: reject invalid backend earlier 2019-11-10 05:03:17 +00:00
picom.c backend: split image_op into image_op and set_image_property 2021-06-20 06:49:38 +01:00
picom.h core: remove a bit more of Xlib dependencies 2020-10-21 02:06:15 +00:00
picom.modulemap rename: fix the name of the modulemap file 2019-10-24 19:41:35 +01:00
region.h Move resize_region to region.h 2019-07-06 13:26:25 +01:00
render.c legacy glx: extend the border into the corners when they are rounded 2021-04-12 01:54:00 +01:00
render.h Rounded corners for legacy xrender backend 2020-11-30 00:35:34 +00:00
string_utils.c Add some unittests 2019-05-21 20:15:22 +01:00
string_utils.h Cast argument to ctype functions to unsigned char 2020-11-19 12:19:35 +01:00
types.h new backend: glx: implement IMAGE_OP_APPLY_ALPHA 2019-05-21 20:15:35 +01:00
uthash_extra.h win: track windows with a hash table 2019-05-21 20:15:27 +01:00
utils.c implement bright window dimming 2019-11-09 17:54:57 +02:00
utils.h compile.h, utils.h: rename popcount 2020-10-07 19:35:55 +01:00
vsync.c Fix compiler warning about unused parameters 2019-07-25 02:27:02 +01:00
vsync.h vsync: choose vsync method automatically 2019-03-10 15:00:56 +00:00
win.c legacy glx: extend the border into the corners when they are rounded 2021-04-12 01:54:00 +01:00
win.h legacy glx: extend the border into the corners when they are rounded 2021-04-12 01:54:00 +01:00
win_defs.h event, win: delayed handling of shape notify 2020-10-23 04:37:38 +01:00
x.c x: remove more of session_t parameters 2020-12-26 07:51:03 +00:00
x.h x: remove more of session_t parameters 2020-12-26 07:51:03 +00:00
xrescheck.c Run clang-format 2019-03-10 12:35:38 +00:00
xrescheck.h Run clang-format 2019-03-10 12:35:38 +00:00