2017-04-07 10 views
1

MESA(17.0.3)の最新バージョンをインストールしました。OpenGLを3.0以上にする必要があります(右)MESAでOpenGL 4.5(または3.0以外)を使用できないのはなぜですか?

問題:私はバージョン3.0で固まっています。 (そして、私はMESAをより高いバージョンを使う方法を知らないということで、たとえ私ができるとしても)自分のコンピュータ(Linux用のcroutonを実行しているChromebook)がOpenGL 4.5の機能を持っていることを知っています...しかし、メサ:\。

OpenGLについての情報をglxinfoを使って得ることができることは知っていますので、ここで私が与えることができる最高の情報です。

OpenGL vendor string: Intel Open Source Technology Center 
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 400 (Braswell) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.3 
OpenGL core profile shading language version string: 4.50 
OpenGL core profile context flags: (none) 
OpenGL core profile profile mask: core profile 
OpenGL core profile extensions: 
OpenGL version string: 3.0 Mesa 17.0.3 
OpenGL shading language version string: 1.30 
OpenGL context flags: (none) 
OpenGL extensions: 
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.3 
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 
OpenGL ES profile extensions: 

事前に感謝し、任意のヘルプは大歓迎です:)

また、ボーナスマークのために、誰もが「コアプロファイルバージョン」であるかを知っているならば、私は知っているのが大好きだ:)

答えて

3

バージョン文字列は3回表示されます(シェーディング言語のバージョン文字列は無視されます)。

 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.0.3 
... 
OpenGL version string: 3.0 Mesa 17.0.3 
... 
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 17.0.3 

したがって、コアコンテキストを作成すると、4.5になります。非コア(互換性)コンテキストを作成すると、3.0になります。 ESコンテキストを作成すると、3.1が得られます。

OpenGL 4.5を使用する場合は、コアコンテキストを要求する必要があります。互換性コンテキストがデフォルトです。コアコンテキストの作成方法に関する情報は、OpenGLコンテキスト(GLFW、SDLなど)を作成するために使用するAPIのドキュメントに記載されています。

(メセア以外の)ベンダードライバは同じように動作しません。互換性コンテキストを選択しても、最新のバージョンが使用可能になります。しかし、MesaとmacOSのドライバは、コアコンテキストの新しいバージョンのみを提供します。

+0

あなたはあなたの知識を私に祝福しました。私は永遠に感謝しています:) –

+0

非常に興味深い答え。 Khronos wikiなどのリンクを使ってバックアップできますか? –

+0

@Kyll:この情報は、OpenGL実装機能データベースを参照することで見つけることができます。質問へのリンクを自由に追加してください。 –

関連する問題