Commit Graph

27 Commits

Author SHA1 Message Date
George Staplin 0d8184de59 XQuartz: GL: Set the __GLXconfig renderType to GLX_RGBA_BIT.
(cherry picked from commit 3c14546f58f8a138fe67c9cacc3bd0b7fa90c29a)
2009-01-10 01:00:24 -08:00
George Staplin 9c3975d63e XQuartz: GL: Make many more fbconfigs and visuals available for the 1.5 branch.
Use a __GLXconfig linked list struct to store the configurations for the
fbconfigs and visuals in a pGlxScreen.

Also, remove the __GLXvisualConfig/GlxSetVisualConfigs code that isn't used
anymore.  There is more code we can remove later, but I want to do that in
separate commits.
(cherry picked from commit 94162b0f8a25267aca280d25e216cc6bde47da6e)
2009-01-10 01:00:09 -08:00
George Staplin 01eaebdc98 XQuartz: GL: Make various changes to makeFormat, so that it works better. Now glxgears looks normal with the old libGL.
Add various GLX extensions to the list of supported extensions.

Reformat the oddly formatted code in some areas.

Use xalloc and xfree instead of malloc and free.
(cherry picked from commit 755f53eb40c4329d8c82a31cb910c31fdd4ea12e)
2008-11-28 13:18:27 -08:00
George Staplin 6eb33bc0cb XQuartz: GL: Remove the inclusion of glcontextmodes.h.
Add some commentary about future directions needed for the GLX drawable
creation and destruction code.

Match xalloc with xfree.

I made some minor formatting improvements.
(cherry picked from commit b772d64fce31d16b498c621096e39d5203994d6e)
2008-11-22 11:13:51 -08:00
George Staplin 429b4b20d5 XQuartz: GL: Add a branch to prevent a NULL DrawablePtr structure access.
In attach() check for pDraw being NULL, and also print an ErrorF message,
because we eventually want to track down why this is occuring.

It's unclear how this occurs, but as I noted in the 1.4 branch, I believe that
the DrawablePtr/struct _Drawable -> id is the member being accessed that causes
KERN_PROTECTION_FAILURE at 0x0000000000000004

This passes my tests using: env LIBGL_ALWAYS_INDIRECT=1 ./sometest.

I fixed a warning: caused by initializing the screen->base.visuals with the
configs.  It is a ** not a *.  It seems that some other part of GLX will
initialize this for us.
(cherry picked from commit 17f6a261fca6d5856069dce28bb4838261afc6bc)
2008-11-22 11:13:46 -08:00
Jeremy Huddleston 76fcfc4801 XQuartz: GLX: sync up indirect.c to match George's updates in the xorg-server-1.5-apple branch 2008-11-21 20:25:55 -08:00
George Staplin 1a717779b6 XQuartz: GL: remove glcontextmodes.* from the Makefile.am. It has been replaced.
The new replacement is __GLXconfig.
(cherry picked from commit 3bed9b65c807a1aeb662b8042826cbb54280181d)
2008-11-21 20:10:57 -08:00
Jeremy Huddleston bc4f804cd8 XQuartz: Actually add glcontextmodes.[hc]
(cherry picked from commit 763195d338345e3637d112279bdbe002b6e7791a)
2008-11-14 15:13:59 -08:00
Jeremy Huddleston b078936571 XQuartz: Initial work on readding GLX to the 1.5 server
(cherry picked from commit a186cab6ae82340770c13b37ff5df731ce2a0ceb)
2008-11-14 15:10:32 -08:00
George Staplin 47d3821870 XQuartz: GL: Handle the alpha differently when the alpha is equal to GLCAPS_COLOR_BUF_INVALID_VALUE.
This prevents visuals with odd sizes.  The machine I use didn't have
this problem, but it shows up on some others.
(cherry picked from commit ed181382ddeb77019577d39b9c06b1cd839e18e4)
2008-11-13 11:34:21 -08:00
George Peter Staplin 13d06f5aaf XQuartz: GL: Add capability detection for depth buffers, and multisampling.
GL/capabilities.c: Add handleDepthModes(), and extend
handleRendererDescription() for the various depth and multisampling flags.

Add initialization of the new config options to initConfig().

GL/capabilities.h: Add depth and multisample config members.

GL/visualConfigs.c: Add depth and multisampling support to the visual config
setup.
(cherry picked from commit f527381eea6a8ae6cd791475b2060d21fcf8efb2)
2008-11-05 19:23:48 -08:00
George Peter Staplin 34bb06b292 XQuartz: GL: Work around problems with really deep visuals.
GL/capabilities.c: #if 0 (for now) any capabilities above 8 bits per channel,
because they introduce drawing problems.

GL/indirect.c: Comment out some visual setup code that shouldn't be running, and
actually seemed to cause some problems.  The current visualConfigs.c code seems
to do a reasonable job of setting up visuals for XQuartz.

GL/visualConfigs.c: Make use of the proper visual .class.   Eliminate depth 0.
It seems we really just want 24 for now, and 0 I think was a flaw in the original
code.
(cherry picked from commit 1e5f63f15e13a40a6e69a1505934d10d6990b6a2)
2008-11-05 19:23:41 -08:00
Jeremy Huddleston c5086badf0 XQuartz: LP64 related casting fixes from Bob Murphy
(cherry picked from commit ea71710aaa7166ab510abe70f2dc47942de0ead7)
2008-10-31 19:03:38 -07:00
George Peter Staplin 227d782a1b XQuartz: GL: Mark visuals that are slower than others, due to lack of acceleration.
This is used in libGL to determine a preferred visual.  glxinfo -v will also
report "visualCaveat=Slow" for such visuals.
(cherry picked from commit d5c17f585a240be9f9135975738e62951cde3353)
2008-10-31 15:49:25 -07:00
George Peter Staplin e7c26964ee XQuartz: GL: Fix several error handling mistakes in handleRenderDescriptions, that were leftover before the final code evolved.
(cherry picked from commit fe35a3639081dc78ac6cc4123cde37770f6a39fd)
2008-10-28 22:00:36 -07:00
George Peter Staplin 21ea9d82aa XQuartz: GL: Add feature detection of color sizes, and accum sizes.
This gives us a *lot* more visuals, and they should be more accurate.
Some of the visuals may have been wrong before.  This may enable more
OpenGL programs to behave correctly.

I also suspect libGL needs a little work to handle some of these correctly.
(cherry picked from commit 98a084ce9c455260ecdb5f8eecb67f33dbb53b69)
2008-10-28 22:00:29 -07:00
George Peter Staplin 6a2693b2f9 XQuartz: Remove the enable_stereo default. We now use feature detection to enable stereo visuals.
We need to revisit the GL/indirect.c changes.  I think indirect.c should
be using the same feature detection and GLX visual config code.  The
indirect changes will require testing...
(cherry picked from commit 49b7a7c6f20ca85d4d624444eb83db2f91344591)
2008-10-23 19:22:16 -07:00
Jeremy Huddleston dc166bf642 XQuartz: Fixed EXTRA_DIST for new GL files.
(cherry picked from commit a11c9052030b44045f037050a5825256b539ed50)
2008-10-08 18:45:13 -07:00
George Staplin 8033279294 XQuartz: GL: setVisualConfigs() copied the behavior of indirect.c which is wrong, with regard to the handling of xcalloc failure.
Use ErrorF for an error message after an xcalloc failure, and return instead of falling through to GlxSetVisualConfigs, or abort()ing at the test branch.
(cherry picked from commit 1056700971fd5c034396ed6dbea15e092f0c6332)
2008-10-08 18:45:09 -07:00
George Staplin 52accec7db XQuartz: GL: Add the proper license information to the new files, and add more commentary to setVisualConfigs().
(cherry picked from commit 190a3d5e5de9915931928fb8e6da88bb9644cda4)
2008-10-08 18:44:28 -07:00
George Staplin 63abdf6115 XQuartz: GL: Add the new C code to the Makefile.am.
Commit the darwin.c changes I missed in the last commit, for calling
setVisualConfigs().
(cherry picked from commit eb3c014e1710bf0b93bda10ddb9b795cd150d02d)
2008-10-08 18:44:24 -07:00
George Staplin a8f5d422c9 XQuartz: GL: Provide code for getting the capabilities of the underlying system's CGL.
Add a setVisualConfigs that is called before the fbScreenInit, to setup the __GLXvisualConfigs.
(cherry picked from commit fc86f9e4482043eca76d9d7a96e166be1aabf674)
2008-10-08 18:44:21 -07:00
Adam Jackson 8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Jeremy Huddleston fc35c7a2e2 XQuartz: GLX - enable_stereo defaults option should work now
(cherry picked from commit 3a6898f48756fdb2898292679301ef3dc109b4f6)
2008-10-04 21:16:54 -07:00
Dan Nicholson c76fddeea2 Fix up paths for GL/glx -> glx renaming 2008-05-21 10:51:15 -07:00
Kristian Høgsberg 77ff8fd507 Drop glcore GLX provider.
Obsoleted by the DRI swrast driver.
2008-05-21 12:15:18 -04:00
Jeremy Huddleston d09c520b32 Moved Apple GL bits into our DDX subtree
(cherry picked from commit c9356f32892978faecb30f7b7af7488820ce37ff)
2008-04-23 10:22:34 -07:00