1. 24 Jun, 2016 1 commit
    • Wolthera van Hövell's avatar
      Add adaptation state slider. · 652405d3
      Wolthera van Hövell authored
      This allows you to set whether or not to adapt the white point, that is,
      to set the white point to the screen white(full slider) or to convert all whiteson screen to the white point of the profile when using absolute colorimetric
      as intent.
      
      This is useful to simulate paper-colour.
      
      Ref T2337
      652405d3
  2. 23 Jun, 2016 1 commit
  3. 21 Jun, 2016 2 commits
    • Wolthera van Hövell's avatar
      Refactor the proofing transform system for better caching. · 1f733e28
      Wolthera van Hövell authored
      This now makes the transform separately from the actual transforming,
      which means it's easier to cache and to update. Softproofing is now
      gone from usable to user-friendly.
      
      Still needs saving/loading and little setting-bugs fixed.
      
      ref T2337
      1f733e28
    • Wolthera van Hövell's avatar
      Enable Gamut color and proofing intent. · 8371c417
      Wolthera van Hövell authored
      The image now stored proofing intent, and the monitor intent is the general
      rendering intent.
      
      This also allows us to set the gamut warning color, however, for updating
      you currently need to switch profiles as well. I'll make a seperate
      generateSoftProofingTransform function, to cache the transform better, so it's
      easier to update.
      
      Ref 2337
      8371c417
  4. 13 Jun, 2016 1 commit
  5. 18 May, 2016 1 commit
  6. 11 May, 2016 1 commit
  7. 05 Apr, 2016 1 commit
    • Boudewijn Rempt's avatar
      Disable texture sharing for now · be211664
      Boudewijn Rempt authored
      Under certain circumstances, we could share textures between two
      views on the same image. However, someone introduced a bug where
      closing a view deletes the shared textures while the other view
      is trying to paint using them.
      
      This needs proper fixing, after the alpha.
      be211664
  8. 30 Mar, 2016 1 commit
  9. 29 Mar, 2016 2 commits
  10. 26 Jan, 2016 1 commit
  11. 01 Dec, 2015 2 commits
  12. 30 Nov, 2015 1 commit
  13. 26 Nov, 2015 1 commit
  14. 20 Nov, 2015 1 commit
  15. 16 Sep, 2015 4 commits
  16. 04 Sep, 2015 1 commit
    • Boudewijn Rempt's avatar
      Port away from kdebug to qcdebug · 4fa86a75
      Boudewijn Rempt authored
      The approach taken is a bit different from what's in the porting
      scripts or in pigment: I've moved kis_debug to libglobal and adapted
      the dbgKrita etc. defines to use qcDebug etc. I've kept the old
      category numbers for now. I've also ported all places where we
      used kDebug() etc. directly, and not a few places where qDebug() etc
      were used directly.
      4fa86a75
  17. 03 Sep, 2015 2 commits
    • Boudewijn Rempt's avatar
      Remove all checks for Qt versions < 5.3 · 74e8e4a5
      Boudewijn Rempt authored
      If 5.3 is our minimum, it doesn't make sense to check for Qt
      4.7, 4.8 or 5.2.
      74e8e4a5
    • Dmitry Kazakov's avatar
      Fix random slowdowns on when painting with LoD and Animation · ffed3379
      Dmitry Kazakov authored
      This patch fixes multiple slowdowns caused my our background
      working threads:
      
      1) KisRegenerateFrameStrokeStrategy should *not* invalidate LOD planes
         (actually it doesn't write anything). So it should become a Lod0 stroke
         instead of a legacy one. Now it has a fake LodN buddy and suspend/resume
         strategies to mimic to Lod0 stroke.
      
      2) KisAnimationCachePopulator should do the colorspace conversion in a
         background thread not related to the strokes. For bigger images (8k) or
         weird color spaces (Float32) the conversion might take up to 2-3 seconds
         and running the conversion in a context of a stroke will block the user
         from doing useful things all this time.
      
      3) LodN planes should be synced from time to tine even when there are no
         Legacy strokes are present. The point is some brushes generate not
         identical results on different levels, so the two histories diverge
         with time. Now there is a special KisIdleWatcher class that runs a job
         when the image is idle (no strokes are running).
      
      4) KisAnimationCachePopulator is also connected to its own populator
         stored in KisPart that helps it not to call barrierLock() every half
         a second.
      ffed3379
  18. 27 Aug, 2015 1 commit
    • Boudewijn Rempt's avatar
      BUG:337901 Enable internal color management for non-rgb images · 7410f915
      Boudewijn Rempt authored
      If the image is not rgb, the color management system must be
      internal, not OCIO.
      
      I'm pretty sure this doesn't happen anymore since January, but in
      case it happens, present a better-worded error message and make sure
      that internal colormanagement really gets disabled.
      7410f915
  19. 24 Aug, 2015 1 commit
  20. 10 Aug, 2015 3 commits
  21. 04 Aug, 2015 1 commit
    • Michael Abrahams's avatar
      Shuffle OpenGL code for KisTextureTile · 6adc6cc0
      Michael Abrahams authored
      A second initialization which is happening before OpenGL context is
      ready is KisTextureTile.  A better solution would be a more thorough
      refactoring which does not do initialization at all until the OpenGL
      Canvas has a chance to call initializeGL, and would likely make
      KisOpenGLCanvas2 the owner of KisOpenGLImageTextures.
      
      For now this simply adds more checks to see if the initialization went
      through properly, and hold off referencing tiles until they have been
      fully created.
      6adc6cc0
  22. 15 Jul, 2015 1 commit
  23. 12 Jul, 2015 1 commit
  24. 10 Jul, 2015 1 commit
  25. 19 Jun, 2015 1 commit
    • Boudewijn Rempt's avatar
      Use QOpenGLWidget instead of QGLWidget · af959c80
      Boudewijn Rempt authored
      This is only one step in updating our opengl canvas to Qt 5.
      
      Notes:
      
      opengl notes:
      
      * removed glu and glew, it's incompatible with qopengl
      * force 3.2 as minimum to get glFenceSync
      * remove shared context widget:
      
          When multiple QOpenGLWidgets are added as children to the same
          top-level widget, their contexts will share with each other. This
          does not apply for QOpenGLWidget instances that belong to different
          windows.
      
          This means that all QOpenGLWidgets in the same window can access each
          other's sharable resources, like textures, and there is no need for
          an extra "global share" context, as was the case with QGLWidget.
      
      * set Qt::AA_ShareOpenGLContexts to share contexts across windows: and
      comment it out again because it crashes, at least in VirtualBox.
      
      Todo: fix all the trickery in kis_opengl_canvas_p.h to get the various
      functions using Qt's function objects, fix all the places where HAVE_GLEW
      now is undefined, and get all those constants and functions using Qt.
      af959c80
  26. 15 Jun, 2015 1 commit
  27. 18 Apr, 2015 1 commit
  28. 29 Mar, 2015 1 commit
  29. 15 Jan, 2015 1 commit
    • Stefano Bonicatti's avatar
      Fix crash when switching off OpenGL · f6ff1ecd
      Stefano Bonicatti authored
      The wrong context was active when shaders were deleted.
      This also fix the crash when switching scaling mode or anything that
      deletes a KisOpenGLCanvas2.
      
      Changed the KisOpenGL API that deal with contexts a bit, now is possible
      to choose between switching on the shared context or a widget one.
      
      To avoid overhead switching on a context that is already current, i've
      added a check to see if the context we are trying to switch to is already current
      or not (the check doesn't use any gpu command).
      
      REVIEW:121944
      CCBUG:341496
      f6ff1ecd
  30. 06 Jan, 2015 1 commit
    • Dmitry Kazakov's avatar
      Add compressing of the update requests queue in KisCanvas2 · c6be3117
      Dmitry Kazakov authored
      In some rare circumstances (when there are too many updates pending)
      the Qt's queue of sigCanvasCacheUpdated() might be overloaded with events.
      In worst case such queue might occupy up to 900MiB in RAM in chunks
      of 256x256px. That might shatter not-too-high-end systems, because such
      memory request is done almost instantly in multithreaded way.
      
      So now we have a special compressor object that ensures the update requests
      are not repeated. It also solves a few performance problems because now
      we can upload up to 80% (in special cases only, real numbers much lower)
      less memory into GPU memory.
      
      CCBUG:342336
      c6be3117
  31. 20 Dec, 2014 1 commit
    • Boudewijn Rempt's avatar
      Clean up all messageboxes · e4880172
      Boudewijn Rempt authored
      * Use QMessageBox everywhere, instead of KMessageBox in some places, and
      QMessageBox in others
      * Add a translation hint to the messagebox title
      * Make sure all messageboxes are translated.
      e4880172