aardvark.rendering icon indicating copy to clipboard operation
aardvark.rendering copied to clipboard

Intel IRIS Problems

Open haraldsteinlechner opened this issue 4 years ago • 7 comments
trafficstars

as we found out in PRo3D, there are problems with new intel chips. It seemed like FBO/Multisample is causing the problems. The workaround was to disable multisampling: https://github.com/pro3d-space/PRo3D/issues/116 with @luithefirst we just found out that text is causing the problems - all ok, put in a text in pro3d - no rendering result. Reproducing this in media - add the text - clear color remains... moving on to vanilla aardvark.rendering - stalls, non-termination etc appears for multisampled text and without (MS).

Conclusions?

Looks like text rendering is broken on iris gpus, disabling multisampling helps in PRo3D but there is something fishy still - just with text alone. We suspect an endless loop, which not breaks fbos, but sometimes, in media cases provokes infinite frametimes there.

What are the most promising features in text to be removed step by step to track it down?

@hyazinthh - that is why your test suite did not detect it ;

haraldsteinlechner avatar Oct 28 '21 17:10 haraldsteinlechner

Text rendering uses stencil-buffer and sample-shading

krauthaufen avatar Oct 28 '21 17:10 krauthaufen

I think especially sample-shading might be interesting

krauthaufen avatar Oct 28 '21 17:10 krauthaufen

but without multisampling - maybe just the existence of sample shading kills. i just found out text rendering also does not work on linux. i think i recompiled glvm (which might be necessary) - somebody any clue - maybe related?

haraldsteinlechner avatar Oct 28 '21 17:10 haraldsteinlechner

We force the shader to be executed per sample via using gl_SampleCoord, so there could certainly be a difference with/without multisampling. Furthermore i think sample-shading must be enabled client-side (which could be the invalidenum error)

krauthaufen avatar Oct 28 '21 17:10 krauthaufen

https://pastebin.com/0xurPWgW

haraldsteinlechner avatar Nov 02 '21 17:11 haraldsteinlechner

  • text might work on iris gpu without multisampling
  • Slim applications in GL actually have multisampled backbuffers (samplecount = 2) according to RenderDoc -> this makes problems with outline effect. explicitly disabling multisampling fixes this
  • the real reason is still unknown. we could not create a mini (non-aardvark) example which makes the troubles. currently still working on renderdoc recordings to submit an issue to driver team

haraldsteinlechner avatar Nov 02 '21 17:11 haraldsteinlechner

so this is the last conclusion for the moment - it is not possible to make it work on

 0:   vendor:   "Intel"
 0:   renderer: "Intel(R) Iris(R) Xe Graphics"
 0:   version:  OpenGL 4.5.0 / GLSL 4.5.0  Core

experimenting with

                    GL.MinSampleShading(1.0f)
                    GL.Enable(EnableCap.SampleShading)

et al. does not work. so to prevent hanging frames, one needs to disable multisampling enable cap and a fbo without sampleCount = 1.

No repro strategy was successful, i think we need to live with the workaround which as already been deployed and tested in pro3d.

haraldsteinlechner avatar Nov 02 '21 18:11 haraldsteinlechner