Die GLSL-Version stimmt nicht mit der OpenGL-Version überein

528
Tiana987642

Ich portiere eine Anwendung mit OSG Earth von Windows nach Linux. Betriebssystem und Software sind grundsätzlich gleich (Qt 5.9, Linux-Kernel 3.18.24, Mesa 18.2.3). Nach dem Überschreiben export MESA_GL_VERSION_OVERRIDE="4.5"verhält sich OpenGL jedoch auf unterschiedlicher Hardware sehr unterschiedlich:

Auf einem Intel i7-4770T:

server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.2.3 OpenGL core profile shading language version string: 3.30 OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.2.3 OpenGL shading language version string: 3.30 

Sie können nur die Schattierungssprache 3.3 sehen, was unter meiner Anforderung liegt. Auf einem i7 6700 sind es 4.5.

Dies ist seltsam wegen:

  • GLSL sollte mit der OpenGL-Version übereinstimmen
  • Intel-Spezifikationen besagen, dass i7-4770T mindestens OpenGL 4.3 unterstützen sollte.

Funktioniert leider "MESA_GLSL_VERSION_OVERRIDE"nicht Meine App läuft immer noch mit Anomalien wie zufälliges Schwarz oder Violett auf der GUI.

Mesa ist auf libdrm-2.4.96 und mit dieser Konfiguration aufgebaut.

/autogen.sh --enable-debug --with-egl-platforms=x11,drm --with-dri-drivers=i915,i965,nouveau --with-gallium-drivers=i915,nouveau --disable-gallium-llvm --prefix=/usr 

Bitte helfen Sie mir, dieses Problem zu beheben

0

1 Antwort auf die Frage

0
Tiana987642

Ich habe ein Kernel-Upgrade gefunden, um das Problem zu beheben. Für mich ist es 4.8.16. Ein weiterer Trick besteht darin, Ihre Hauptanzeige zu ändern, wenn Sie mehrere Monitore eingerichtet haben. Es macht mich für ein paar Tage verrückt.