[Interest] Problem with float texture rendering in QOpenGLWidget on Ivy Bridge/Haswell Intel GPUs on Windows
elvstone at gmail.com
Wed Jun 21 13:22:05 CEST 2017
2017-06-21 12:28 GMT+02:00 Viktor Engelmann <viktor.engelmann at qt.io>:
> Hello Elvis,
> Haswell and Ivy Bridge indeed ring a bell here. We have a lot of
> WebEngine bug reports that affect these GPUs only.
> Can you create a bug report please?
Alright, good to know that I'm not completely alone.
However, I was hesitant to create a Qt bug report as I'm not at all
sure yet that it's a Qt problem. There's still a possibility that it's
a bug in the VTK rendering engine (though it does work when VTK is
configured to use GLEW).
Perhaps I should try to make a pure Qt test case first that shows the
problem. If I fail, then maybe that would be an indication that it's
something in VTKs rendering engine that is at fault.
> OpenGL 3.2 context raises an eyebrow here, because just yesterday I have
> seen a qtdiag output from a Debian 7 machine (2013 isn't THAT long ago)
> with mesa 8.0.5, which only supports OpenGL 3.0.
OK. The machine that I'm testing on is a Lenovo Thinkpad E540 with a
HD 4600 GPU. The GPU is supposed to have 100% support for 3.2 core
profile (verified this using "OpenGL Extension Viewer",
http://realtech-vr.com/admin/glview), and I've verified that VTK does
indeed get a correctly versioned context from Qt.
The problem only seem to occur on Windows. It's working fine on my own
Kubuntu 16.04 laptop (HD 4400 GPU).
> Kind regards
> On 21.06.2017 11:38, Elvis Stansvik wrote:
>> This may or may not be a Qt issue.
>> I'm trying to help the VTK folks narrow down a problem with their new
>> QVTKOpenGLWidget, which is a newly-introduced QOpenGLWidget-based
>> class for letting VTK render into a QOpenGLWidget.
>> The problem manifests itself as volume renderings not showing up on
>> Windows machines with Ivy Bridge (e.g HD4000) and Haswell (e.g.
>> HD4600) Intel GPUs when using the new class. VTKs volume rendering is
>> done using float textures.
>> Volume renderings works fine on the same machines when using "plain"
>> VTK. This is when VTK itself sets up the OpenGL context (using GLEW I
>> believe), but apart from that, the rendering pipeline is exactly the
>> same I think. This is what leads me to believe that the issue is
>> something specific to QOpenGLWidget, or to how VTK uses it.
>> VTK requests a OpenGL 3.2 core context, and through some debugging,
>> I've verified that VTK is actually getting the context that it is
>> The issue is reported by me, here at VTKs GitLab:
>> The report contains some more information, such as the generated
>> fragment shader that VTKs volume rendering backend is using, and a GL
>> report from the problematic machine.
>> Does this specific issue (float texture rendering not showing up on
>> these semi-old Intel GPUs) ring a bell to anyone else?
>> Many thanks for any tips/pointers/leads on how to debug this.
>> I'm really interested in getting this issue in VTK fixed, since
>> laptops with these GPUs are quite common. It's also affecting recent
>> versions of ParaView, which has (just like me) recently ported to the
>> new QVTKOpenGLWidget.
>> Interest mailing list
>> Interest at qt-project.org
> Viktor Engelmann
> Software Engineer
> The Qt Company GmbH
> Rudower Chaussee 13
> D-12489 Berlin
> Viktor.Engelmann at qt.io
> +49 151 26784521
> Geschäftsführer: Mika Pälsi,
> Juha Varelius, Mika Harjuaho
> Sitz der Gesellschaft: Berlin,
> Registergericht: Amtsgericht
> Charlottenburg, HRB 144331 B
> The Future is Written with Qt
> Interest mailing list
> Interest at qt-project.org
More information about the Interest