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

vanyossi bugzilla_noreply at kde.org
Fri Dec 3 05:46:08 GMT 2021


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

--- Comment #14 from vanyossi <ghevan at gmail.com> ---
This time I made more indepth testing but the end result is I don't have a
clear idea on what this is happening, afair our code is working correctly and
the problemas might be from the arm/rosetta layer translation tool deep inside
openGL or Qt. This is not a problem present in any krita version running on an
intel chip. But its present on arm and Rosetta.

Below are the results of the tests


1) I applied all patches over master when testing :)

2) border buffers makes no difference. I actually tried that yesterday,
removing buffers and noted only the inner buffers cause the issue.

3) This is interesting, testing to 1 buffer does not make it behave as it was
before, in fact, the texture tiling is broken and still shows the image broken.
If we go to 512. the only main difference is that on many buffers the events
sometimes does not update the canvas and leaves some parts invisible or not
rendered.

4) Buffer flushing is set to only be active on 4.3 versions. macOS openGL
latest version is 4.1, this appears to be the reason making the activation of
buffer flushing crash krita. So it was not possible to check if there was any
change in rendering.

5) tested forcing m_useBuffers and in both tests the image render was normal on
any colorspace. The only rendering problem was due to outline compositing and
was present in all colorspaces. when there is no pixels between the outline and
the checkerboard pattern, and appears to be addressed in another much recent
commit.

6)
=== 8bit
2021-12-02 15:17:38.321954-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" tilesDestinationColorSpace =
"RGB/Alpha (8-bit integer/channel)" ("RGBA","U8" )
2021-12-02 15:17:38.321975-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.format = 80e1
2021-12-02 15:17:38.321980-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.internalFormat =
8058
2021-12-02 15:17:38.321984-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.type = 1401
2021-12-02 15:17:38.340311-0600 krita[38149:28655458] Still unsignalled after
processed 17 tiles
2021-12-02 15:17:38.340376-0600 krita[38149:28655458]     increased number of
buffers to 32
=== 16bit int
2021-12-02 15:17:59.044839-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" tilesDestinationColorSpace =
"RGB/Alpha (16-bit integer/channel)" ("RGBA","U16" )
2021-12-02 15:17:59.044862-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.format = 80e1
2021-12-02 15:17:59.044867-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.internalFormat =
805b
2021-12-02 15:17:59.044871-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.type = 1403
2021-12-02 15:17:59.175831-0600 krita[38149:28655458] Still unsignalled after
processed 17 tiles
2021-12-02 15:17:59.175969-0600 krita[38149:28655458]     increased number of
buffers to 32
=== 16bit float
2021-12-02 15:18:16.394816-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" tilesDestinationColorSpace =
"RGB/Alpha (16-bit float/channel)" ("RGBA","F16" )
2021-12-02 15:18:16.394842-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.format = 1908
2021-12-02 15:18:16.394847-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.internalFormat =
881a
2021-12-02 15:18:16.394851-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.type = 140b
=== 32bit
2021-12-02 15:18:32.446803-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" tilesDestinationColorSpace =
"RGB/Alpha (32-bit float/channel)" ("RGBA","F32" )
2021-12-02 15:18:32.446830-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.format = 1908
2021-12-02 15:18:32.446836-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.internalFormat =
8814
2021-12-02 15:18:32.446840-0600 krita[38149:28655458] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.type = 1406
2021-12-02 15:18:42.817410-0600 krita[38149:28655458] QLayout: Attempting to
add QLayout "" to KisShortcutsDialog "", which already has a layout
2021-12-02 15:18:42.861259-0600 krita[38149:28655458] Failed to fetch display
info: "current platform doesn't support fetching display information"

============== Comparisson printing result of working hash
2021-12-02 15:34:27.398144-0600 krita[76848:28792392] Entering
"KisOpenGLImageTextures::updateTextureFormat()" tilesDestinationColorSpace =
"RGB/Alpha (16-bit integer/channel)" ("RGBA","U16" )
2021-12-02 15:34:27.398160-0600 krita[76848:28792392] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.format = 80e1
2021-12-02 15:34:27.398164-0600 krita[76848:28792392] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.internalFormat =
805b
2021-12-02 15:34:27.398168-0600 krita[76848:28792392] Entering
"KisOpenGLImageTextures::updateTextureFormat()" m_texturesInfo.type = 1403

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



More information about the kde-mac mailing list