All, i appear to have solved this.
I was doing some reading about how QT uses various versions of OpenGL. (Qt for Windows - Requirements | Qt 5.15)
Relevant sections are about half way down the page and talk about using -opengl dynamic which might be an idea for the Revo Studio team to consider so that peoples apps can choose at runtime the library to use.
I used to the tool “Dependencies” from github to load Revo Studio can check what OpenGL.DLL it is using. (GitHub - lucasg/Dependencies: A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.)
Seemed to be C;\WINDOWS\System32\OPENGL32.dll which checked out as far as i could tell.
from the QT page:
" When configured with -opengl dynamic
, neither Qt nor the applications built using qmake
will link to the opengl32 (standard desktop OpenGL) or QtANGLE libraries. Instead, the appropriate library is chosen at runtime. By default, Qt will determine whether the system’s opengl32.dll provides OpenGL 2 functions. If these are present, opengl32.dll is used, otherwise the ANGLE libraries (libEGL.dll and libGLESv2.dll) will be used. In case the ANGLE libraries are missing or initialization fails for some reason, an additional fallback is attempted by trying to load opengl32sw.dll
. See below for details.
The loading mechanism can be configured through the QT_OPENGL
environment variable and the following application attributes:
-
Qt::AA_UseDesktopOpenGL
Equivalent to setting QT_OPENGL
to desktop
.
-
Qt::AA_UseOpenGLES
Equivalent to setting QT_OPENGL
to angle
.
-
Qt::AA_UseSoftwareOpenGL
Equivalent to setting QT_OPENGL
to software
.
When a certain configuration is requested explicitly, no checks are done at application startup, that is, the system-provided opengl32.dll will not be examined.
The dynamic loading has a significant impact on applications that contain native OpenGL calls: they may fail to link since qmake
no longer automatically adds opengl32.lib or libGLESv2.lib. Instead, applications are expected to use the OpenGL functions via the QOpenGLFunctions class. Thus the direct dependency on the OpenGL library is removed and all calls will be routed during runtime to the implementation chosen by Qt.
**Applications that require a certain OpenGL implementation (for example, desktop OpenGL due to relying on features provided by OpenGL 3.0 or higher) should set the application attributes Qt::AA_UseOpenGLES
or Qt::AA_UseDesktopOpenGL
before instantiating **QGuiApplication or QApplication
Long story short i looked in my environmental variables and saw i had one for compatibility of a different tool that had set QT_OPENGLto
angle.QT_OPENGL
to angle
Solution:i didnt set it to desktop or anyhing, because i figure that could give me some other compatibility issue in another app. I just deleted the variable all together and now it all works.