xref: /aosp_15_r20/external/mesa3d/src/glx/apple/RELEASE_NOTES (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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