[krita] [Bug 445561] Krita 5 16bit integer colorspace canvas rendering is broken on M1

Dmitry Kazakov bugzilla_noreply at kde.org
Mon Nov 29 20:14:38 GMT 2021


https://bugs.kde.org/show_bug.cgi?id=445561

Dmitry Kazakov <dimula73 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dimula73 at gmail.com

--- Comment #10 from Dmitry Kazakov <dimula73 at gmail.com> ---
Hi, Ivan!

The related part of the code seems to be in KisTextureTile, in a place where it
uses KisOpenGLBufferCircularStorage::BufferBinder to write the data. I don't
clearly see how it can affect stuff though.

The test plan is the following:

1) Please check if enabling/disabling "Use texture buffers" in Krita settings
makes any difference. Looking at the code, when you disable it (and restart
Krita), it should work fine on M1.

2) The rest of the tests should happen with texture buffering **enabled**

3) Disable this part of buffering using this patch:
https://invent.kde.org/-/snippets/1967 It should basically switch to the old,
unbuffered way of uploading tiles.

4) Revert the previous patch and try to disable buffer invalidation right after
upload. Just hardcode `return false` in
`KisOpenGL::useTextureBufferInvalidation()`. Though I don't think it should
affect anything because it is absent in the commit you bisected.

5) Revert all the previous patches and apply this patch that adds an assert:
https://invent.kde.org/-/snippets/1968 It will catch the case if
`KisOpenGLBufferCircularStorage` has been created for a different colorspace
than the image actually uses. If the assert crashes, then the problem is in
`KisOpenGLImageTextures::initBufferStorage()`. It probably gets wrong color
space via `m_updateInfoBuilder.destinationColorSpace()` due to some extension
detection problem.

-- 
You are receiving this mail because:
You are watching all bug changes.



More information about the kde-mac mailing list