Skip to content

Only supersample if the brush tip is anti-aliased

R. B. requested to merge tomtomtom/krita:tomtomtom/fixsupersampling into master

Currently in Krita 5.1, due to !1346 (merged), supersampling is always applied to (small) brush tips, regardless if they're anti-aliased or not. This produces unexpected results when using intentionally aliased brushes at small sizes. This MR makes it so that supersampling is only applied to small brush tips that have anti-aliasing enabled, which should be closer to what the user expects.

This MR has the side-effect of changing behavior of small dabs of Default-mask aliased brush tips from how they were in 5.0 and previous, maybe moreso if Sharpness is applied on the brush.

Along with that, many brushes bundled with Krita have anti-aliasing disabled by default, meaning many brushes would revert to their pre-5.1 behavior at small sizes.

Given the above concerns, I'm not sure if this is the ideal way to resolve this issue.

Test Plan

Test various brushes and see if behavior at small sizes is as you would expect if the brush mask is aliased or not. Make sure to test Sharpness brushes as well.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by R. B.

Merge request reports