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

Dmitry Kazakov <dimul...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dimul...@gmail.com

--- Comment #10 from Dmitry Kazakov <dimul...@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.

Reply via email to