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