Review Request 121944: Krita - Fix crash when switching off OpenGL

Stefano Bonicatti smjert at gmail.com
Thu Jan 15 09:01:19 GMT 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121944/
-----------------------------------------------------------

(Updated Jan. 15, 2015, 9:01 a.m.)


Status
------

This change has been marked as submitted.


Review request for Calligra.


Repository: calligra


Description
-------

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).


This should make everything still work on all others cards and drivers, though it is better to be tested, so i put it here.

This patch is now present on branch origin/krita-testing-bonicatti.


Diffs
-----

  krita/plugins/extensions/dockers/lut/ocio_display_filter.cpp 4c3b9c7 
  krita/ui/canvas/kis_canvas2.cpp 22dd4b3 
  krita/ui/opengl/kis_opengl.h 7f68f6b 
  krita/ui/opengl/kis_opengl.cpp 1c49f37 
  krita/ui/opengl/kis_opengl_canvas2.cpp 154ab4f 
  krita/ui/opengl/kis_opengl_image_textures.cpp 47eaf55 

Diff: https://git.reviewboard.kde.org/r/121944/diff/


Testing
-------

Tested on Linux on ATI Radeon HD5850 1GB with proprietary drivers (where the issue was present). OpenGL version string: 4.4.12968 Compatibility Profile Context 14.201.1006.1002


Thanks,

Stefano Bonicatti

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20150115/5edf011e/attachment.htm>


More information about the calligra-devel mailing list