Home | History | Annotate | Line # | Download | only in apple
      1  1.1  mrg AppleSGLX Release Notes
      2  1.1  mrg 
      3  1.1  mrg o OpenGL Support
      4  1.1  mrg 
      5  1.1  mrg AppleSGLX supports the same version of OpenGL as Leopard (OpenGL 2.1).
      6  1.1  mrg Many extensions from the OpenGL framework are now builtin.
      7  1.1  mrg 
      8  1.1  mrg This adds support for GLSL, and a variety of other features.
      9  1.1  mrg 
     10  1.1  mrg o Thread Support
     11  1.1  mrg 
     12  1.1  mrg Thread support has been improved since the libGL in XQuartz 2.3.2.1.
     13  1.1  mrg 
     14  1.1  mrg o GLX 1.4 Support
     15  1.1  mrg 
     16  1.1  mrg The GLX 1.3 and 1.4 functions should all work with a few exceptions
     17  1.1  mrg as outlined in this document.
     18  1.1  mrg 
     19  1.1  mrg o glXMakeContextCurrent (a GLX 1.3 feature)
     20  1.1  mrg 
     21  1.1  mrg glXMakeContextCurrent should work with the readable drawable.  The
     22  1.1  mrg OpenGL functions: glReadPixels, glCopyPixels, and glCopyColorTable, 
     23  1.1  mrg should use the readable drawable if it's different than the rendering 
     24  1.1  mrg drawable.
     25  1.1  mrg 
     26  1.1  mrg o glXGetProcAddress (a GLX 1.4 feature and ARB extension)
     27  1.1  mrg 
     28  1.1  mrg glXGetProcAddress should work and allow getting the address of any 
     29  1.1  mrg extension functions you may need from the X11 libGL, or OpenGL framework
     30  1.1  mrg libGL.  Previous versions of the X11 libGL didn't allow getting the newer 
     31  1.1  mrg OpenGL framework addresses.
     32  1.1  mrg 
     33  1.1  mrg o GLXPixmaps
     34  1.1  mrg 
     35  1.1  mrg New support for GLXPixmaps works well with mixed X11 and OpenGL drawing
     36  1.1  mrg operations.  You can create them using glXCreateGLXPixmap or
     37  1.1  mrg glXCreatePixmap.
     38  1.1  mrg 
     39  1.1  mrg o GLXPbuffers
     40  1.1  mrg 
     41  1.1  mrg Support for GLXPbuffers has been added.  These are drawables that are
     42  1.1  mrg not possible to render to with X11, which is allowed by the spec.
     43  1.1  mrg A GLXPbuffer will never generate a clobber event, however 
     44  1.1  mrg glXSelectEvent and glXGetSelectedEvent should operate normally.
     45  1.1  mrg 
     46  1.1  mrg Clobber events are not generated due to low-level architectural
     47  1.1  mrg differences.  The contents of your pbuffers will not be clobbered.
     48  1.1  mrg 
     49  1.1  mrg o Shared Contexts
     50  1.1  mrg 
     51  1.1  mrg Due to basic low-level architectural differences the usage of shared 
     52  1.1  mrg contexts requires a similar visual or GLXFBConfig be used in the 
     53  1.1  mrg creation of a shared context.  It's best if you specify the same
     54  1.1  mrg visual.  This is due to a CGL design difference, and not something 
     55  1.1  mrg that is easily worked around.  UPDATE: some changes made seem to
     56  1.1  mrg help resolve this issue in many cases, so you may be able to use a
     57  1.1  mrg shared context without this restriction.
     58  1.1  mrg 
     59  1.1  mrg 
     60  1.1  mrg o Indirect
     61  1.1  mrg 
     62  1.1  mrg The X server supports indirect fairly well, so OpenGL applications
     63  1.1  mrg can be run remotely and displayed by XQuartz.  This means you can run
     64  1.1  mrg applications from a remote host on an XQuartz X server.
     65  1.1  mrg 
     66  1.1  mrg AppleSGLX does not support indirect rendering.  Any indirect context
     67  1.1  mrg created will appear to glXIsDirect as an indirect context, but it
     68  1.1  mrg does not actually support indirect rendering to a remote X server.
     69  1.1  mrg 
     70  1.1  mrg AppleSGLX supports GLXPixmaps and GLXPbuffers with direct and indirect
     71  1.1  mrg contexts, though they are all direct contexts by definition (see above).
     72