2017-04-07 12 views
1

최신 버전의 MESA (17.0.3)를 설치 했으므로 3.0 이상 OpenGL을 사용할 수 있어야합니다 (맞습니까?)MESA에서 OpenGL 4.5 (또는 3.0 이외)를 사용할 수없는 이유는 무엇입니까?

문제 : 저는 3.0 버전에서 멈추었습니다. (그리고 MESA가 상위 버전을 사용하는 방법을 모르거나 심지어 가능하다면) 내 컴퓨터 (Linux 용 크롬 북을 실행하는 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

버전 문자열은 세 번 나타납니다 (음영 언어 버전 문자열은 무시합니다).

 
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가 아닌) 공급 업체 드라이버는 동일한 방식으로 작동하지 않으므로 호환 컨텍스트를 선택해도 최신 버전을 사용할 수 있습니다. 그러나 Mesa 및 macOS 드라이버는 핵심 컨텍스트에 대한 최신 버전 만 제공합니다.

+0

당신은 당신의 지식으로 나를 축복 해주었습니다. 나는 영원히 감사한다 :) –

+0

매우 흥미로운 대답. 당신 Khronos 위키 또는 이와 유사한 링크로 백업 할 수 있습니까? –

+0

@Kyll :이 정보는 OpenGL 구현 기능 데이터베이스를 보면 알 수 있습니다. 자유롭게 대답에 대한 링크를 추가하십시오. –