D4963: Add scaling support into BlurEffect::doBlur

David Edmundson noreply at phabricator.kde.org
Wed Mar 22 23:23:31 UTC 2017


davidedmundson updated this revision to Diff 12710.
davidedmundson added a comment.


  Oh I see, rather than grabbing two texels and interpolating the average value
  you're sampling between them and letting the GL return the relevant value.
  
  My previous code would break that as I was effectively sampling between every other pixel, 
  rather than actually interpolating properly. Output looks OK, but technically wrong.
  
  I still think the overall concept of downsampling high DPI buffers is the simplest, which gives two options:
  
  - we grab the scratch at native resoltion, then explicitly make a second scratch texture at half the size which
  
  we render the first texture into.
  
  - we blit the framebuffer as that allows us to do the transformation all in the same pass.
  
  GLRenderTarget::blit already has all the transformation code so it keeps the code super simple.
  
  This patch does the latter.
  
  It's faster than the extra pass, but has the obvious downside that not all hardware supports blitting, but
  realistically any hardware that supports 4k output will.
  The screenshot effect already relies on blit being supported, so I think it should be safe.
  (right?)

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D4963?vs=12247&id=12710

BRANCH
  scaling_final

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

AFFECTED FILES
  effects/blur/blur.cpp

To: davidedmundson, #plasma
Cc: fredrik, plasma-devel, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170322/68a9858d/attachment.html>


More information about the Plasma-devel mailing list