1. 13 Jan, 2021 1 commit
  2. 27 Jul, 2020 1 commit
  3. 16 Oct, 2019 1 commit
  4. 19 Jul, 2019 1 commit
  5. 17 Jul, 2019 1 commit
  6. 06 Jul, 2019 1 commit
    • Dmitry Kazakov's avatar
      Disable AVX optimizations for 32-bit composite ops · cd5450a8
      Dmitry Kazakov authored
      They cause artifacts and we don't have a fix yet :(
      
      CCBUG:404133
      
      Note from the committer:
      This commit was initially made on krita/4.2 branch.
      However between 4.2.1 and 4.2.2 the stable branch was
      reconstructed, which caused all commits that were exclusively
      on the previous krita/4.2 (and not on master) to be missing.
      
      The previous commit hash: d3e4c3aa
      
      Also regarding the artifacts: it never worked, optimization were
      enabled during the creamy flow implementation, but they never should
      be enabled until someone fix them properly.
      cd5450a8
  7. 23 Feb, 2019 1 commit
  8. 07 Feb, 2019 1 commit
  9. 01 Feb, 2019 1 commit
  10. 26 Jun, 2018 1 commit
    • Miguel Lopez's avatar
      Quadratic Blending Modes · 563269c9
      Miguel Lopez authored
      Summary:
      During the creation of Quadratic Blending Modes, I have did the following:
      
        - Add new category suitable for quadratic blending modes
       -  I copied and paste existing codes, and created new codes used to calculate blending of images accordingly to the Pegtop formula reference sheet
      - I have tested the 4 new blending modes, and keep adjusting until the blending modes matches that of the Pegtop blending modes
      
      -----
      - Before the testing plan, find a way to make freeze and heat with acceptable coding. Reflect Blend Mode has now been solved.
      
      Test Plan:
      - Have artists find usage of quadratic blend modes, and see if they find the blending modes useful
      - Test results of quadratic blend modes with existing programs (As far as I"m concerned, only reflect and glow are available for testing)
      -If all seem sounds, and ready to go, then maybe it can be patched in Krita
      
      Reviewers: #krita, dkazakov
      
      Subscribers: dkazakov
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13383
      563269c9
  11. 15 Jun, 2018 1 commit
    • Miguel Lopez's avatar
      Quadratic Blending Modes · 41c72fc7
      Miguel Lopez authored
      Summary:
      During the creation of Quadratic Blending Modes, I have did the following:
      
        - Add new category suitable for quadratic blending modes
       -  I copied and paste existing codes, and created new codes used to calculate blending of images accordingly to the Pegtop formula reference sheet
      - I have tested the 4 new blending modes, and keep adjusting until the blending modes matches that of the Pegtop blending modes
      
      -----
      - Before the testing plan, find a way to make freeze and heat with acceptable coding. Reflect Blend Mode has now been solved.
      
      Test Plan:
      - Have artists find usage of quadratic blend modes, and see if they find the blending modes useful
      - Test results of quadratic blend modes with existing programs (As far as I"m concerned, only reflect and glow are available for testing)
      -If all seem sounds, and ready to go, then maybe it can be patched in Krita
      
      Reviewers: #krita, dkazakov
      
      Subscribers: dkazakov
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13383
      41c72fc7
  12. 22 May, 2018 1 commit
  13. 28 Dec, 2017 1 commit
  14. 25 May, 2017 1 commit
  15. 18 May, 2017 1 commit
  16. 16 Sep, 2016 1 commit
  17. 10 Mar, 2016 1 commit
    • Dmitry Kazakov's avatar
      Greater-alpha blend mode · 888070bb
      Dmitry Kazakov authored
      This adds a blend mode that uses a sigmoid blending function
      to take the greater alpha of either the current layer or the brush.
      The result of this is that making multiple passes across the
      same area but with different strokes will not further increase
      the opacity past the brush setting or stylus pressure. This
      can help with consistently shading a region across multiple
      separate strokes without creating spurious or accidental
      sharp edges due to edge-overlaps with existing brush strokes.
      
      The patch was created by Nicholas Guttenberg
      
      Differential revision: https://phabricator.kde.org/D666
      888070bb
  18. 04 Sep, 2015 1 commit
    • Thorsten Zachmann's avatar
      This optimizes OpOver for RGBAF32 by using vc · 91016738
      Thorsten Zachmann authored
      New tests and benchmarks for the code have been added.
      
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() Testing Composite Op: "normal" ( "RGBF32 Legacy" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "DstUnalig Mask   SrcRand DstRand" RESULT: 142 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "SrcUnalig Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Unaligned Mask   SrcRand DstRand" RESULT: 144 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstRand" RESULT: 59 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstRand" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstRand" RESULT: 21 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstZero" RESULT: 48 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstZero" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstZero" RESULT: 18 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstUnit" RESULT: 22 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstUnit" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstUnit" RESULT: 16 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverLegacy()
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() Testing Composite Op: "normal" ( "RGBF32 Optimized" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "DstUnalig Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "SrcUnalig Mask   SrcRand DstRand" RESULT: 28 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Unaligned Mask   SrcRand DstRand" RESULT: 27 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstRand" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstRand" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstZero" RESULT: 16 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstZero" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstZero" RESULT: 12 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstUnit" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstUnit" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstUnit" RESULT: 12 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverOptimized()
      
      (cherry picked from commit 3be07eee35505bf754f12617e5d9059c03c44d7c)
      91016738
  19. 01 Aug, 2015 1 commit
  20. 12 May, 2015 1 commit
  21. 02 Mar, 2015 1 commit
    • Wolthera van Hövell's avatar
      Adding tangent normal map blending mode to krita. · 42ce952f
      Wolthera van Hövell authored
      This patch adds a tangent normal map blending mode to Krita. It works by
      taking the base value and substracting that from the destination before adding
      it onto the source. It's still experimental in that it needs testing.
      
      It's to be found under misc.
      
      I had a huge fight with git to get my working branch synced to master,
      and I am pretty sure it's clean now, but if I messed up the branch, feel free
      to revert this commit.
      42ce952f
  22. 07 Feb, 2015 1 commit
  23. 15 Jan, 2015 1 commit
  24. 09 Jan, 2013 2 commits
  25. 16 Oct, 2012 1 commit
    • Dmitry Kazakov's avatar
      Added Vc implementation of the "over" composite · 8e76b3b6
      Dmitry Kazakov authored
      There is still one bug in both the composites: the calculation
      of a single pixel compositions should be done in float instead of
      integers, otherwise it causes artifacts on the canvas during painting.
      8e76b3b6
  26. 15 Oct, 2012 1 commit
  27. 10 Aug, 2012 1 commit
  28. 03 Jun, 2012 1 commit
    • Halla Rempt's avatar
      Use LCMS, not CTLCS for 32 bit float colorspaces · f51b30ac
      Halla Rempt authored
      This merges branch pigment-lcms2_rgbaf32-rempt. When lcms2 supports
      16 bit floating point numbers, the last two colorspaces will be
      moved from ctlcs to lcms, effectively retiring ctlcs. The technology
      was way cool, but it's easier to support all features in lcms.
      
      This also changes pigment:
      
      * if an icc-based colorspace factory is encountered for which there
      are no profiles, don't assert but warn and disregard the factory
      * previously, if the color conversion graph would encounter its
      base alpha 8 node, we would assert because there was no factory for
      alpha8.
      * the colorspace traits are now made complete and split out in
      separate files for easier editing.
      
      This also adds a bunch of more or less useful variations of colorspaces
      to the lcms2, as well as whole new YCbCr classes. For which there are
      no free profiles available, so users will have to provide those, for
      instance from the lcms2 website.
      
      Squashed commit of the following:
      
      commit cea6e6ebee30c19c080...
      f51b30ac
  29. 25 Apr, 2012 1 commit
  30. 23 Oct, 2011 1 commit
    • Halla Rempt's avatar
      Remove KoCompositeOp::userVisible · 8c23368c
      Halla Rempt authored
      userVisible was no longer used, so remove from the api. Query: isn't
      the category string also obsolete since commit 84e57495069833f647f7a41511d451eafae69737
      (Replaced the old composite op ComboBox with a new one.)?
      8c23368c
  31. 24 May, 2011 2 commits
  32. 29 Apr, 2011 1 commit
  33. 18 Apr, 2011 1 commit
  34. 12 Apr, 2011 1 commit
  35. 16 Mar, 2011 1 commit
  36. 14 Feb, 2011 1 commit
  37. 11 Feb, 2011 1 commit
  38. 09 Feb, 2011 1 commit