Black square artefacts on OSX with recent iris graphic cards, with GPU volume rendering


After the migration to a recent VTK version, some users of our app began to see some small black artefacts on the volume rendering view (see attachment image). When they rotate the view it disappears.

This can be seen on 2 different machines:

  • a MacBook Pro with OSX 10.15 with Intel® Iris™ Graphics 550 - 2.1 INTEL-14.0.69
  • a MacBook Pro with OSX 10.14 with Intel® Iris™ Graphics 540 - 2.1 INTEL-12.0.34

The context is the following :

  • VTK (git tag 81e2936740061a6887fc5ec9a6907b44277bfca1)
  • Qt 5.9.4, using QVTKOpenGLNativeWidget
  • 3 rendering layers, one for volume rendering (GPU), one for meshes (FXAA activated) and one for the corner labels
  • MSAA is disabled and the depth peeling is enabled

A clue anyone ?

Can you reproduce it with a simple standalone application - or at least narrow it down by checking if you have the issue if you only have one layer, CPU instead of GPU volume rendering, FXAA deactivated, depth peeling disabled, no corner annotations, no meshes, etc. Are there any VTK error messages? Can you run the application with a memory validator enabled to see if you can catch any out of bounds memory access or other memory usage errors?

Unfortunately I don’t have access to the customer machine (yet) so I can’t perform all those checks. But I may be able to do so soon and will keep you informed.

So after a remote session, I saw the bug “live” during the interaction of the volume rendering view on this machine. Disabling FXAA and the Depth Peeling does not change anything, the bug still occurs after a view resize, and the first interaction with the view. The same code is working fine on windows on a big number of configuration and on OSX with some other graphic card.
With a CPU volume rendering, there is no bug so we told our affected users to switch to CPU rendering for now …

Anyone else has seen this strange “checkboard artefact/effect” with GPU volume rendering on OSX/Intel?