Querying OpenGL version on X11 may return only the highest supported OpenGL version that provides the deprecated functionality. Since Mesa does not support (and will not support) compatibility OpenGL profiles, KInfoCenter may incorrectly show only OpenGL 3.0 as the latest supported OpenGL version. This patch queries the supported OpenGL core profiles and displays the highest supported core profile if such information is available.
Details
Details
- Reviewers
graesslin
The patch works as expected with my Sandy Bridge HD3000 GPU and Mesa 17.0.5. KInfoCenter correctly shows that Core profile 3.3 is supported on this GPU. Additional Testing was done on Radeon 7730LE, Mesa 17.1rc2. OpenGL 3.0 compatibility and OpenGL 4.5 core profile support is shown correctly.
Diff Detail
Diff Detail
- Repository
- R102 KInfoCenter
- Lint
Lint Skipped - Unit
Unit Tests Skipped
Comment Actions
Fair enough, I'll give it another go. Would it make sense to follow this with a trivial NULL -> nullptr patch to keep the code in this file consistent?
Comment Actions
v2. The code now tries to leverage GLX_MESA_query_renderer when it is available and falls back to the old-fashioned probing otherwise. As for some of the suggestions by Martin:
- The new code now uses nullptrs instead of NULLs
- qCDebug() does not seem to be used anywhere in the whole kinfocenter so I cannot simply replace qDebug()s with their qCDebug() counterparts without declaring the logging category first.
- As for the GlxContext builders, is it worth it to pull in some KWin dependencies just to query the OpenGL core profile? Currently the kinfocenter does not seem to depend of KWin in any way.