Bug 416172 - projection does not get fully rendered
Summary: projection does not get fully rendered
Status: RESOLVED DUPLICATE of bug 411738
Alias: None
Product: krita
Classification: Applications
Component: OpenGL Canvas (show other bugs)
Version: 4.2.8
Platform: Debian stable Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-12 16:18 UTC by Rebecca Breu
Modified: 2020-01-16 15:09 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of rendering issue (840.79 KB, image/png)
2020-01-12 16:19 UTC, Rebecca Breu
Details
How the image should look like (1.29 MB, image/png)
2020-01-12 16:20 UTC, Rebecca Breu
Details
How the image exports wrong (1.27 MB, image/png)
2020-01-12 16:21 UTC, Rebecca Breu
Details
kritarc that causes the issue (48.53 KB, text/plain)
2020-01-14 18:28 UTC, Rebecca Breu
Details
kritadisplayrc that causes the issue (146 bytes, text/plain)
2020-01-14 18:28 UTC, Rebecca Breu
Details
original kritarc sample after my use (49.00 KB, text/plain)
2020-01-16 13:45 UTC, Ahab Greybeard
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rebecca Breu 2020-01-12 16:18:40 UTC
I'm not sure if it's maybe the same issue as https://bugs.kde.org/show_bug.cgi?id=404681

I can only reproduce this with the appimages (4.2.8 and the current nightly krita-4.3.0-prealpha-0a0738b). I can't reproduce it in a current docker build for some reason.

It also only happens if the Krita document is of a certain size/complexity. With the attached file I can reproduce the rendering issues 100% on my machine, the crashes happen now and then. With smaller files the rendering issues happen sometimes, with very simple files not at all.

test_exported_correctly.png shows what the image is supposed to look like: every "speech bubble" has a text inside and a rectangle around. test_opened_weird.png shows what I get when I open the file in Krita: lots of the vetor objects are invisible (but still selectable), some weird artefact shows up an the bottom half. test_exported_wrong.png shows what happens if I export it in that state—the vectors are still invisible but the artifact doesn't show up. I can "fix" the artifact by hiding/unhiding layers. The only way to "fix" the vectors is by grabbing them, knowing where they are supposed to be.


Krita

 Version: 4.2.8
 Languages: en_US
 Hidpi: false

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.9.0-9-amd64
  Pretty Productname: Debian GNU/Linux 9 (stretch)
  Product Type: debian
  Product Version: 9

OpenGL Info
 
  Vendor:  "Intel Open Source Technology Center" 
  Renderer:  "Mesa DRI Intel(R) Kabylake GT2 " 
  Version:  "3.0 Mesa 13.0.6" 
  Shading language:  "1.30" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
     Version: 3.0
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false
Comment 1 Rebecca Breu 2020-01-12 16:19:40 UTC
Created attachment 125061 [details]
Screenshot of rendering issue
Comment 2 Rebecca Breu 2020-01-12 16:20:28 UTC
Created attachment 125062 [details]
How the image should look like
Comment 3 Rebecca Breu 2020-01-12 16:21:26 UTC
Created attachment 125063 [details]
How the image exports wrong
Comment 4 Rebecca Breu 2020-01-12 16:30:29 UTC
Sorry, file was too big. Here is the Krita document which has the rendering issue for me:

https://www.dropbox.com/s/aliupae079thuv8/test_bug_416172.kra?dl=0
Comment 5 Rebecca Breu 2020-01-12 16:43:11 UTC
I just found out that it doesn't seem happen in the 4.1.7 appimage with the same file, so it seems to be a regression.
Comment 6 Ahab Greybeard 2020-01-12 17:20:56 UTC
With the 4.2.8 appimage and the Jan08 4.3.0 prealpha appimage, I have no problems with the rendered image and a .png exported image.

I tried making minor changes to the vector squares and text then saved and reopened but no problems.


Krita

 Version: 4.2.8
 Languages: en_GB, en
 Hidpi: true

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.19.0-6-amd64
  Pretty Productname: Debian GNU/Linux 10 (buster)
  Product Type: debian
  Product Version: 10

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 418.74" 
  Shading language:  "4.60 NVIDIA" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: auto
  Memory: 16039 Mb
  Number of Cores: 8
  Swap Location: /tmp

Current Settings

	Current Swap Location: /tmp
	Undo Enabled: 1
	Undo Stack Limit: 18
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 360
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 1
	Use Zip64: 0
Comment 7 vanyossi 2020-01-13 16:13:41 UTC
I could not reproduce this bug neither with 4.2.8 packaged dmg, or master dc7d037b5e0.

Rebecca, could you attache your system information with the "Current Settings" listing?

Krita

 Version: 4.2.8
 Languages: en_US, es, ja
 Hidpi: true

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: darwin
  Kernel Version: 18.7.0
  Pretty Productname: macOS Mojave (10.14)
  Product Type: osx
  Product Version: 10.14

OpenGL Info
 
  Vendor:  "Intel Inc." 
  Renderer:  "Intel(R) Iris(TM) Graphics 6100" 
  Version:  "4.1 INTEL-12.10.14" 
  Shading language:  "4.10" 
  Requested format:  QSurfaceFormat(version 3.2, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CoreProfile) 
  Current format:    QSurfaceFormat(version 4.1, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CoreProfile) 
     Version: 4.1
     Supports deprecated functions false 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: false 
  isQtPreferOpenGLES: false 

Hardware Information

  GPU Acceleration: desktop
  Memory: 8192 Mb
  Number of Cores: 4
  Swap Location: /Users/daedalus

Current Settings

	Current Swap Location: /Users/daedalus
	Undo Enabled: 1
	Undo Stack Limit: 25
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 0
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 0
	Use Zip64: 0
Comment 8 Rebecca Breu 2020-01-13 19:41:46 UTC
Ah, sorry, I cut off the copy&paste. At the end is the whole system info.

Playing around with the settings, I found out:

When I remove my kritarc and kritadisplayrc, the rendering issue almost doesn't occur at all. Out of at least 50 tries, probably more, I had it happen twice. (So maybe the Krita versions I listed in my initial report as "working" for me also just have this issue super rarely instead of not at all? I always loaded several times, but not THAT often.)

Unfortunately, during testing I accidentally overwrote my config files as of yesterday, but with an older version, I get the rendering issue as well, but only sometimes. It can go well for 20 times or more, and then fail for 20 times. I can't find anything that influences it. This is the kritadisplayrc:

[General]
EnableHiDPI=false
EnableSingleApplication=true
LogUsage=true
OpenGLRenderer=auto
canvasState=OPENGL_SUCCESS
rootSurfaceFormat=bt709-g22

And the according Current Settings:

	Current Swap Location: /tmp
	Undo Enabled: 1
	Undo Stack Limit: 100
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 300
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 1
	Use Zip64: 0



Once I have access to my backup, I can retrieve the latest Krita configs. Not today though.


-------------------------
The complete system info with the settings used when I reported the bug:


Krita

 Version: 4.2.8
 Languages: en_US
 Hidpi: false

Qt

  Version (compiled): 5.12.5
  Version (loaded): 5.12.5

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.9.0-9-amd64
  Pretty Productname: Debian GNU/Linux 9 (stretch)
  Product Type: debian
  Product Version: 9

OpenGL Info

  Vendor:  "Intel Open Source Technology Center"
  Renderer:  "Mesa DRI Intel(R) Kabylake GT2 "
  Version:  "3.0 Mesa 13.0.6"
  Shading language:  "1.30"
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile)
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile)
     Version: 3.0
     Supports deprecated functions true
     is OpenGL ES: false

QPA OpenGL Detection Info
  supportsDesktopGL: true
  supportsOpenGLES: true
  isQtPreferOpenGLES: false

Hardware Information

  GPU Acceleration: auto
  Memory: 15796 Mb
  Number of Cores: 4
  Swap Location: /tmp

Current Settings

	Current Swap Location: /tmp
	Undo Enabled: 1
	Undo Stack Limit: 100
	Use OpenGL: 1
	Use OpenGL Texture Buffer: 1
	Use AMD Vectorization Workaround: 0
	Canvas State: OPENGL_SUCCESS
	Autosave Interval: 300
	Use Backup Files: 1
	Number of Backups Kept: 1
	Backup File Suffix: ~
	Backup Location: Same Folder as the File
	Use Win8 Pointer Input: 0
	Use RightMiddleTabletButton Workaround: 0
	Levels of Detail Enabled: 1
	Use Zip64: 0
Comment 9 Bug Janitor Service 2020-01-14 04:33:12 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 10 Rebecca Breu 2020-01-14 18:27:17 UTC
Could test with my current kritarc and kritadisplayrc from when I reported the bug. The rendering issue again is 100% reproducible. Copying the rc files over to my docker, I can now reproduce the rendering issue 100% with my current master docker build as well. 

The good news: the intermittent crashes I get with the 4.2.8 appimage with those rc files, I couldn't reproduce with the nightly appimage nor the docker build at all despite A LOT of tries. That seems to be fixed.

I'm going to attach the rc files.
Comment 11 Rebecca Breu 2020-01-14 18:28:04 UTC
Created attachment 125122 [details]
kritarc that causes the issue
Comment 12 Rebecca Breu 2020-01-14 18:28:35 UTC
Created attachment 125123 [details]
kritadisplayrc that causes the issue
Comment 13 Halla Rempt 2020-01-16 12:23:17 UTC
With those settings files I see the issue, but I also see lots of other problems like missing menu entries...
Comment 14 Halla Rempt 2020-01-16 12:25:10 UTC
The issue seems to be with the line

rootSurfaceFormat=bt709-g22

in kritadisplayrc.
Comment 15 Halla Rempt 2020-01-16 12:28:42 UTC
I have no idea how you managed to actually set that on Linux, since it's in the HDR tab which is hidden on Linux...
Comment 16 Halla Rempt 2020-01-16 12:56:15 UTC
No... That line gets added automatically at some point, and isn't the problem. I guess that after closing Krita and removing it, some other settings got saved that fixed the issue.
Comment 17 Ahab Greybeard 2020-01-16 13:45:52 UTC
Created attachment 125169 [details]
original kritarc sample after my use

My oldest config backup folder, dated 02-Nov-2019, has the kritadisplayrc file containing that entry. Here is my current/usual kritadisplayrc file contents:

[General]
EnableHiDPI=true
EnableSingleApplication=true
LogUsage=true
OpenGLRenderer=auto
canvasState=OPENGL_SUCCESS
rootSurfaceFormat=bt709-g22

In the past, I have changed between Auto (OpenGL) and OpenGL while trying things out.

If I run the version 4.2.8 appimage using the kritarc and kritadisplayrc files provided by Rebecca in Comment 11 and Comment 12, I also have some missing sub-menu entries for every main menu item. However, those menu entries do work if you click them.

I can then open the 'test_bug_416172.kra' file with no displayed problems.

I was able to click the Export entry location and export it as .png with no problems.

If I start with fresh/default kritarc and kritadisplayrc files and then only replace the kritarc file with the one provided by Rebecca, I get the same results as noted above.

The kritarc file provided by Rebecca has a size of 49696 bytes.
If I use it and run krita, open the test file and export then close the file and quit, the kritarc file has grown in size by 485 bytes to 50181 bytes.
Note: This is not the 'Size on Disk' but the reported number of bytes in the file.
This can not be accounted for by her username being changed to my username in just two locations.

I attach this kritarc file in case anyone thinks it may be interesting.

The only other thing that occurs to me, and it may be totally irrelevant, is that Rebecca is using Debian 9 which is 'old-stable'. I run Debian 10 which is 'stable'.
Comment 18 Halla Rempt 2020-01-16 14:06:42 UTC
I use KDE Neon user edition.
Comment 19 Dmitry Kazakov 2020-01-16 15:02:19 UTC
I have a feeling that this bug is just a random shapes rendering issue, something like mentioned in bug 411738. Shape are somehow rendered with wrong transformation offsets...
Comment 20 Halla Rempt 2020-01-16 15:09:26 UTC
Let's track it with that bug and merge request https://invent.kde.org/kde/krita/merge_requests/194 then.

*** This bug has been marked as a duplicate of bug 411738 ***