Ticket #221 (closed feature request: fixed)

Opened 5 years ago

Last modified 5 years ago

Cannot use GLSL shaders in XQuartz

Reported by: tom@… Owned by: gstaplin@…
Priority: Nice to Have Milestone: 2.3.3
Component: xserver Version: 2.3.1 (xserver-1.4.2-apple17)
Keywords: Cc:


glxinfo shows that the following extensions are supported:

GL_ARB_shader_objects GL_ARB_vertex_shader GL_ARB_fragment_shader

but it is not possible to get the function pointers of the shader functions.

e.g.: glXGetProcAddress((const GLubyte*)"glCreateProgramObjectARB") returns NULL

(same for glCreateShaderObjectARB, glShaderSourceARB, glCompileShaderARB, glAttachObjectARB, glLinkProgramARB, etc.)

This is using both XQuartz 2.3.1 and 2.3.2_rc4.

Change History

comment:1 Changed 5 years ago by jeremyhu@…

  • Owner changed from jeremyhu@… to gstaplin@…
  • Version set to 2.3.1 (xserver-1.4)
  • Milestone set to OpenGL.framework DRI

comment:2 Changed 5 years ago by gstaplin@…

This is a bug in the old libGL. It's only able to provide function pointers for the known glapi. In this case the symbol should come from the Mac OpenGL framework, and not the glapi code in the X11 libGL. I can work around it, if needed in the old libGL. In the new libGL (available as part of the 2.4.0 alphas) it has been resolved by using dlsym(). In addition the new libGL should have the glCreateProgramObjectARB and related ARB extensions builtin.

comment:3 Changed 5 years ago by jeremyhu@…

Tom, can you try 2.4.0_alpha2: http://xquartz.macosforge.org/downloads

comment:4 Changed 5 years ago by jeremyhu@…

  • Status changed from new to closed
  • Resolution set to fixed
  • Milestone changed from OpenGL.framework DRI to 2.3.3
Note: See TracTickets for help on using tickets.