D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-27 Thread Vlad Zagorodniy
zzag closed this revision.
zzag added a comment.


  It's fixed now.

REPOSITORY
  R31 Breeze

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma, #breeze, #vdg, ngraham
Cc: fvogt, cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-27 Thread Fabian Vogt
fvogt reopened this revision.
fvogt added a comment.
This revision is now accepted and ready to land.


  Fails to build the KDE4 version here:
  
[   76s] 
/home/abuild/rpmbuild/BUILD/breeze-5.14.80git.20181027T152517~f1e4f103/libbreezecommon/breezeboxshadowrenderer.cpp:29:10:
 fatal error: QtMath: No such file or directory
[   76s]  #include 

REPOSITORY
  R31 Breeze

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma, #breeze, #vdg, ngraham
Cc: fvogt, cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-27 Thread Vlad Zagorodniy
zzag closed this revision.

REPOSITORY
  R31 Breeze

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma, #breeze, #vdg, ngraham
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-27 Thread Vlad Zagorodniy
zzag added a comment.


  Landing it...

REPOSITORY
  R31 Breeze

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma, #breeze, #vdg, ngraham
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag updated this revision to Diff 43161.
zzag added a comment.


  Adjust MDI shadows

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=43154&id=43161

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezemdiwindowshadow.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma, #breeze, #vdg, ngraham
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag updated this revision to Diff 43154.
zzag added a comment.


  Update copyright info

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=43146&id=43154

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezemdiwindowshadow.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma, #breeze, #vdg
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag updated this revision to Diff 43146.
zzag added a comment.


  Decrease the standard deviation scale constant

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=43143&id=43146

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezemdiwindowshadow.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma, #breeze, #vdg
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag updated this revision to Diff 43143.
zzag added a comment.


  Do not follow https://www.w3.org/TR/css-backgrounds-3/#shadow-blur

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=43140&id=43143

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezemdiwindowshadow.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma, #breeze, #vdg
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag added a comment.


  Currently, it takes less than 5ms to generate shadows with the debug build.
  
  - small: < 1ms
  - medium: 1ms
  - large: 2ms
  - very large: 3ms

REPOSITORY
  R31 Breeze

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma, #breeze, #vdg
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-10-08 Thread Vlad Zagorodniy
zzag updated this revision to Diff 43140.
zzag added a comment.


  - Clean up code;
  
  - Revise shadow params: Because shadows are rendered slightly differently 
now, we have to revise params. For example, with the large size, shadows are 
not large, they are extremely large. I've tried to preserve the old look as 
much as possible;
  
  - Add explanation how shadow params are computed.

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=42505&id=43140

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezemdiwindowshadow.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-09-28 Thread Vlad Zagorodniy
zzag updated this revision to Diff 42505.
zzag added a comment.


  Introduce BoxShadowRenderer helper
  
  BoxShadowRenderer is a helper to render box shadows. The main benefit of
  this class is that it takes care of allocating big enough shadow
  texture, so the resulting shadows are not clipped, etc. Also, conceptually,
  it makes sense to have it.
  
  The box blur implementation is based on AlphaBoxBlur from Firefox, which means
  that the resulting shadows look quite similar to what Firefox would render.
  
  With debug build, opened web browser (Firefox), and a text editor (VS Code),
  on average it takes less than 16ms to render decoration shadows for all sizes:
  
  - small: <1 ms
  - medium: 1-2ms
  - large: 5ms (+/- 1ms)
  - very large: 11ms (+/- 1ms)
  
  Things to do:
  
  - revise shadow params (shadows are rendered slightly differently now)
  - clean up the code

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=42295&id=42505

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-09-25 Thread Vlad Zagorodniy
zzag planned changes to this revision.
zzag added a comment.


  Follow https://www.w3.org/TR/SVG11/filters.html#feGaussianBlurElement

REPOSITORY
  R31 Breeze

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-09-25 Thread Vlad Zagorodniy
zzag updated this revision to Diff 42295.
zzag added a comment.


  Comment on why shadows are a little bit lighter.

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=41667&id=42295

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart


D15514: [libbreezecommon] Use box blur instead of FFT blur

2018-09-23 Thread Nathaniel Graham
ngraham added a comment.


  Still +1, looks great!

REPOSITORY
  R31 Breeze

REVISION DETAIL
  https://phabricator.kde.org/D15514

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, sebas, apol, mart