From: John Stone (johns_at_ks.uiuc.edu)
Date: Wed Jan 26 2011 - 14:31:53 CST

Joshua,
  Your MacOS X build for x86_64 is not finding one of the OpenGL
extensions required for correct operation of GLSL. See the code in
vmd/src/OpenGLExtensions.C at lines 386-422...

The "O" is missing from "GLSL(OVF)" in your x86_64 build on your iMac.
That tells me that one of the GLSL API function pointers VMD requires
ended up being NULL, and/or the call to query for the GL_ARB_shader_objects
extension is failing on your machine.

This is almost certainly a MacOS X OpenGL driver bug of some kind.
Most likely they have very very few 64-bit OpenGL apps running on OSX
thus far, so nobody has noticed or reported it yet.
These kind of bugs can hit one kind of GPU but not another, because they
all have different driver code, so if you get working GLSL on your laptop
but not on the iMac, and they have different GPU chps, then this is
likely a bug we should report to Apple so they can get it fixed.

By the way, I'm curious how stable FLTK 1.3.x and Tcl/Tk 8.6.x are
on your 64-bit Mac? I'm tempted to put together a 64-bit VMD for MacOS X
now that they have release candidates for FLTK 1.3.x, but Tcl/Tk 8.6.x is
still considered a beta. Any comments?

Cheers,
  John

On Wed, Jan 26, 2011 at 03:17:05PM -0500, Joshua A. Anderson wrote:
> Hi all, got a little problem with GLSL on my new iMac at work. I've got build of VMD 1.8.7 compiled in x86_64, and with python support enabled, on 10.6. It works great on my laptop w/ NVIDIA GPU. My new iMac at work has an ATI 5750 and GLSL isn't working there.
>
> on iMac with x86_64 build
> Info) Multithreading available, 8 CPUs detected.
> Info) OpenGL renderer: ATI Radeon HD 5750 OpenGL Engine
> Info) Features: STENCIL MTX NPOT PS GLSL(VF)
> Info) GLSL rendering mode is NOT available.
> Info) Textures: 2-D (8192x8192), 3-D (16384x16384x16384), Multitexture (8)
>
> away from my laptop now, but I do remember GLSL working there.... at least I think it is.
> My build is made with the options: MACOSXX86_64 FLTK FLTKOPENGL IMD TK TCL SILENT PTHREADS LIBTACHYON NETCDF PYTHON NUMPY LP64
>
> When I try the provided 1.8.7 binaries (32-bit) from the web page, I get this on the iMac:
> Info) Multithreading available, 8 CPUs detected.
> Info) OpenGL renderer: ATI Radeon HD 5750 OpenGL Engine
> Info) Features: STENCIL MDE CVA MTX NPOT PP PS GLSL(OVF)
> Info) Full GLSL rendering mode is available.
> Info) Textures: 2-D (8192x8192), 3-D (16384x16384x16384), Multitexture (8)
>
> Setting VMDGLSLVERBOSE=1 does not seem to produce any extra output.
>
> Any ideas where to go next?
>
> Looking through the code, it seems that the missing O in the GLSL print line indicates that the 64-bit OpenGL driver is reporting that it doesn't have the shader objects extension.
> Is this just a "feature" that ATI put in to prevent GLSL with 64-bit openGL on their cards? Or is it possible I compiled/linked something incorrectly?
>
> This page from apple <http://developer.apple.com/graphicsimaging/opengl/capabilities/index.html> seems to indicate that the extension should be available... will keep digging.
>
> --------
> Joshua A. Anderson, Ph.D.
> Chemical Engineering Department, University of Michigan
>

-- 
NIH Resource for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
Email: johns_at_ks.uiuc.edu                 Phone: 217-244-3349
  WWW: http://www.ks.uiuc.edu/~johns/      Fax: 217-244-6078