This moves the troublesome KisOpenGLTextures entirely into KisOpenGLCanvas. This will make it easier to reason about potential OpenGL related crashes.
Details
Diff Detail
- Repository
- R8 Calligra
- Branch
- fix-gltextures
- Lint
No Linters Available - Unit
No Unit Test Coverage
Hi, Michael!
Your patch is great! This split has been awaited for many years now and we should really do it. Right now there is only one problem with setDisplayFilter(), which I commented inline. It is the only block before going to master.
krita/ui/canvas/kis_canvas2.cpp | ||
---|---|---|
491–492 | What is the problem of updating the entire canvas every time? setDisplayFilter() is called every time the user changes a thing in the LUT Docker, which can happen up to tablet's events rate speed, which is about 10-15 ms. Updating entire image takes up to a second on a decent-sized images. So this check is a must here. | |
krita/ui/opengl/kis_opengl_canvas2.cpp | ||
209 | The call to setInternalColorManagementActive() should always happen no matter if you use its returned value or not. The returned value just says how drastic the result is. |
Hi Dmitry - I'm glad you like the patch. I restored the original refresh logic. Not sure why I thought it had to be removed in the refactor.