benjamin's picture

GLX extension support is not checked correctly

Project:The Open Toolkit library
Version:1.1-2014-01-02
Component:Code
Category:bug report
Priority:normal
Assigned:Unassigned
Status:closed
Description

OpenTK assumes that if glXGetProcAddress returns non-NULL for a function, the extension which defines it can be used. When the client implements an extension but the server does not, such as is currently the case with GLX_ARB_create_context on Intel Ivy Bridge and Sandy Bridge with current drivers on Linux, glXGetProcAddress will return non-NULL for functions defined by an extension which cannot be used, which can result in the process being killed if it attempts to call the resulting delegate. OpenTK calls one such function, glXCreateContextAttribs, in creating an OpenGL 3.0+ context, causing processes requesting such to be killed on systems as described above.

The correct way to check for GLX extension support is by inspecting the return value of glXQueryExtensionsString, which takes the union of server-supported and client-supported GLX extensions.


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

#1

Status:open» confirmed
the Fiddler's picture

#2

Status:confirmed» in progress (commit)

This has been fixed in commit 2725b3cd08 and is pending to be merged to master.

the Fiddler's picture

#3

Version:1.x-dev» 1.1-dev
Status:in progress (commit)» fixed

The fix is now merged.

the Fiddler's picture

#4

Version:1.1-dev» 1.1-2014-01-02
Status:fixed» closed

Closing bugs fixed in OpenTK 1.1.

If this is still an issue, please file a new bug report at https://github.com/opentk/opentk/issues