kwin/autotests
Vlad Zagorodniy 7637cfc22b [scenes/opengl] Fix overlapping shadow tiles
Summary:
This problem appears if shadow corner tiles are too big and
some window has size smaller than 2 * shadowTileSize.

This change tries to address the problem above by exclusing
overlapping tile parts. If there are any two overlapping corners
then tile between them(top/right/bottom/left) is not rendered.

Also, because some corner tile parts can be excluded, corner tiles
are expected to be symmetrical(i.e. if we remove right half from
the top-left tile and left half from the top-right tile and
stick them together, they still look fine, there are no misalignments, etc).
Most shadows(e.g. shadows from Breeze) have such behaviour.

No tiles are overlapping

{F5728514, layout=center, size=full}

Overlapping tiles

{F5728516, layout=center, size=full}

And this is how it supposed to be

{F5728517, layout=center, size=full}

Test Plan:
* apply D11069 to Breeze
* in System Settings/Application Style/Window Decorations, choose "Very Large" shadow size
* open Konsole
* resize it to a minimum possible size

Reviewers: #kwin, graesslin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, ngraham, anemeth, abetts, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D10811
2018-06-07 12:07:57 +03:00
..
drm [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
integration [scenes/opengl] Fix overlapping shadow tiles 2018-06-07 12:07:57 +03:00
libinput Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
libkwineffects Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
libxrenderutils Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
tabbox Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
abstract_client.h [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
client.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00
CMakeLists.txt Require libinput and udev 2018-02-04 15:00:42 +01:00
fakeeffectplugin.cpp [kwin] Add a PluginEffectLoader 2014-03-28 14:04:54 +01:00
fakeeffectplugin.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
fakeeffectplugin_version.cpp [kwin] Adapt to KPluginFactory change 2014-03-28 19:50:46 +00:00
fakeeffectplugin_version.json PluginEffectLoader doesn't use KPluginTrader any more 2015-07-07 09:36:15 +02:00
mock_abstract_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_abstract_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.cpp Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_client.h Fix switch desktop through edge when moving window 2017-06-20 06:57:33 +02:00
mock_effectshandler.cpp Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_effectshandler.h Add a KSharedConfigPtr for kcminputrc to KWin::Application 2017-04-24 21:01:03 +02:00
mock_screens.cpp Warnings--: unused parameters 2015-06-12 17:17:21 +02:00
mock_screens.h add Screens::name(int screen); STUB but for XRandr 2015-05-15 23:55:27 +02:00
mock_workspace.cpp [autotests] Adjust to changes regarding AbstractClient 2015-05-08 12:43:47 +02:00
mock_workspace.h Move XRandR event filter into XRandRScreens 2017-09-12 18:53:08 +02:00
onscreennotificationtest.cpp Fade out OnScreenNotification when moving with the mouse over it 2017-01-04 18:04:15 +01:00
onscreennotificationtest.h Introduce a KWin internal on-screen-notification service 2016-12-21 19:43:49 +01:00
opengl_context_attribute_builder_test.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_builtin_effectloader.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_client_machine.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gbm_surface.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_gestures.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_plugin_effectloader.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screen_edges.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screen_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_scripted_effectloader.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_virtual_desktops.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_virtualkeyboard_dbus.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_window_paint_data.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_x11_timestamp_update.cpp [autotests] Support new way to run the tests without need to install 2017-11-21 20:34:52 +01:00
test_xcb_size_hints.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_window.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xcb_wrapper.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xkb.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
test_xrandr_screens.cpp Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00
testutils.h [autotests] Fix unused function warnings 2017-07-29 18:47:58 +02:00
workspace.h [auto-tests] Add an initial test for Screens 2014-09-17 10:29:03 +02:00