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