Commit Graph

75 Commits

Author SHA1 Message Date
Jeremy Huddleston 0ebe45a717 XQuartz: DRI: Dead code removal
Also add some comments that weren't merged in from server-1.4-apple's
99babae1326485c27eb9253db83afdd6aef9e362

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-19 19:49:45 -07:00
Jon TURNEY 42bc198775 glx: Remove a few lingering traces of __GLXscreen.GLXVersion
The GLXversion member of the __GLXscreen struct
is just cruft since commit ad5c0d9efa,
when we started returning the minimum GLX version supported by all
of the screens on the display, rather than the maximum version supported
by the server.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2011-07-07 18:09:21 +01:00
Jeremy Huddleston 778309fd0e XQuartz: GLX: Fix a -Wformat-security compilation warning
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-15 14:00:52 -07:00
Jeremy Huddleston 34e2598f0a XQuartz: GLX: Use _glapi_create_table_from_handle to create out dispatch table
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-15 14:00:52 -07:00
Jeremy Huddleston feab04397d XQuartz: AIGLX: Remove unnecessary includes in indirect.c
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-03 16:01:18 -04:00
Jeremy Huddleston 3fa5d27e46 XQuartz: AIGLX: Setup dispatch table based on runtime capabilities rather than buildtime
This will allow XQuartz built on older systems to pickup capabilities on
newer systems and prevent runtime failures when building on newer systems and
running on older ones.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-03 16:01:18 -04:00
Jeremy Huddleston 7dfd65705c XQuartz: ASL: Use GLXAqua subsystem for logging GLXAqua messages
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 21:18:47 -07:00
Jeremy Huddleston 38df706c6b XQuartz: GLX: Create a new dispatch table rather than modifying the existing one
Fixes regression introduced by b0c665ac0f

0   X11.bin                       	0x0000000100118293 __glXAquaScreenCreateContext + 684
1   X11.bin                       	0x00000001001315b0 DoCreateContext + 163
2   X11.bin                       	0x000000010013509f __glXDispatch + 211
3   X11.bin                       	0x00000001000c7dad Dispatch + 785
4   X11.bin                       	0x00000001000b97e5 dix_main + 1022
5   X11.bin                       	0x00000001000122bc server_thread + 50
6   libSystem.B.dylib             	0x00007fff836554f6 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff836553a9 thread_start + 13

http://lists.apple.com/archives/X11-users/2011/May/msg00045.html

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2011-06-01 20:41:11 -07:00
Jeremy Huddleston 6f29dbf5e3 XQuartz: Use ErrorF rather than fprintf to log errors
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 22:00:41 -07:00
Nicolas Kaiser c270cfc30c hw/xquartz: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-24 19:46:07 -07:00
Adam Jackson c327d07cc6 glx: Remove ->forceCurrent from the context vtable
All the implementations of makeCurrent and forceCurrent are identical,
so just use makeCurrent everywhere.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-28 12:46:38 -04:00
Adam Jackson b0c665ac0f glx: Remove noop dispatch table
We can never hit this, because the indirect GLX dispatch code always
forces a current context and checks that it's non-NULL before calling
into the dispatch table.  If it's _not_ null, then _glapi_set_context
will call into the driver, which is responsible for calling
_glapi_set_dispatch to make sure the dispatch table is non-NULL.

Also remove _glapi_set_warning_func and friends, since we can no longer
call them even from dead code.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2011-03-28 12:46:38 -04:00
Jeremy Huddleston f641e4b34a XQuartz GL: Add $(GL_CFLAGS) to CFLAGS
This fixes a build failure I found on tinderbox.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-08 22:58:12 -08:00
Adam Jackson a80780a763 glx: Remove swap barrier and hyperpipe support
Never implemented in any open source driver.  The implementation
assumed explicit DDX driver knowledge of how the client-side driver
worked, since at the time the server's GL renderer was not a DRI driver.
But now, it is, so any implementation of these should be done with
additional DRI driver API, like the swap control extension.

Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-11-30 12:54:47 -05:00
Jeremy Huddleston 98f90145d7 XQuartz: GLX: Don't mangle __GLXDrawable's pDraw
We were incorrectly NULLing out pDraw in __GLXDrawable instead of ours in
__GLXAquaDrawable. (we should refactor to eliminate this redundancy later)

This was causing http://xquartz.macosforge.org/trac/ticket/426
This was benign until commit f0006aa58f
The root cause of this change was  fed7ccc481ad1caaa518cafe944c2327a5d0b6c65

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-07-28 18:11:38 -07:00
Mikhail Gusarov 416d228481 xquartz: Get rid of xstrdup when argument is definitely non-NULL
ditto for XQuartz

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2010-06-11 19:04:23 +07:00
Mikhail Gusarov 3f3ff971ec Replace X-allocation functions with their C89 counterparts
The only remaining X-functions used in server are XNF*, the rest is converted to
plain alloc/calloc/realloc/free/strdup.

X* functions are still exported from server and x* macros are still defined in
header file, so both ABI and API are not affected by this change.

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-05-13 00:22:37 +07:00
Jeremy Huddleston ba1f1f9d9e XQuartz GL: Fix __glXAquaScreenCreateDrawable prototype
Fixes regression introduced in 9de0e31746

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-05-11 10:46:41 -07:00
Jeremy Huddleston 0efd7b8d82 XQuartz GLX: Change around includes for better compatability with different OS versions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-02 15:27:29 -07:00
Jeremy Huddleston 5b0faf3554 XQuartz GLX: Don't let garbage enter our pixel request
https://bugs.freedesktop.org/show_bug.cgi?id=27654

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-04-15 10:57:04 -07:00
Jeremy Huddleston 436d0bb9cc darwin: Generate crash reports on FatalError()
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Acked-by: Adam Jackson <ajax@redhat.com>
2010-03-29 09:37:17 -07:00
Jeremy Huddleston bb75d0df8b XQuartz: GLX: Fix Availability for Tiger ppc workaround
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Keith Packard df9b6f16b2 Merge remote branch 'jeremyhu/master' 2010-03-15 08:26:58 -07:00
Gaetan Nadon 5f169f5493 XQuartz: remove undefined XSERVER_CFLAGS variable
This is a variable local to configure.ac which is not AC_SUBST()
It is undefined in any generated Makefile.

Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-03-15 08:24:02 -07:00
Jeremy Huddleston b117bc7a44 XQuartz: Include os.h for OsAbort()
Fixes regression from 5b9a52be7e

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:38 -08:00
Jeremy Huddleston b7a16117c6 XQuartz: GLX: Fix prototype for swapBuffers
This was a regression introduced by 04a54f69a8

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-03-11 22:27:37 -08:00
Rami Ylimaki 5b9a52be7e os: Prevent core dump from being truncated.
The problem fixed by this patch can be reproduced on Linux with the
following steps.
- Access NULL pointer intentionally in ProcessOtherEvent on key press.
- Instead of saving core dump to a file, write it into a pipe.
  echo "|/usr/sbin/my-core-dumper" > /proc/sys/kernel/core_pattern
- Dump the core by pressing a key.

While the core is being dumped into the pipe, the smart schedule timer
will cause a pending SIGALRM. Linux kernel stops writing data to the
pipe when there are pending signals. This causes the core dump to be
truncated. On my system I'm expecting a 6 MB dump but the size will be
60 kB instead. The problem is solved if we block the SIGALRM caused by
expired smart schedule timer.

I haven't been able to reproduce this problem in the following cases.
- Save core dump to a file instead of a pipe.
- kill -SEGV `pidof Xorg`
- Press a key to dump core while gdb is attached to Xorg.
- Give option -dumbSched to Xorg.

Also note that the fix works only when NoTrapSignals has the default
value FALSE. The problem can still be reproduced if error signals
aren't trapped. In addition to pending SIGALRM, there is a similar
problem with pending SIGIO from the keyboard driver during core dump.

Signed-off-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2010-02-17 23:20:52 -08:00
Jeremy Huddleston 4127e8e5be XQuartz: clang static analysis fixes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston 67a51cd9ef XQuartz: Fix a bunch of compilation warnings about style
(cherry picked from commit 54000bdcbca52a2de31f7c1a1147de6d8e9dbbb8)
2009-09-27 23:31:35 -07:00
Jeremy Huddleston 33bf9cb69d XQuartz: GLX capabilities: Allow 16bit accumulation buffers
http://xquartz.macosforge.org/trac/ticket/308
(cherry picked from commit e9e63a2118b76b6c31c4081fec08a99e4d796e22)
2009-09-23 18:21:48 -07:00
Jeremy Huddleston a8e634b86d XQuartz: GLX: Drawable does not contain resize anymore.
(cherry picked from commit 1e642f22fbf029bb3917091cb5fa2f78b4a92f62)
2009-08-31 15:59:45 -07:00
Jeremy Huddleston 6f3cc08ec0 XQuartz: GL: Unset GL_EXT_gpu_program_parameters for Tiger/ppc
See http://trac.macports.org/ticket/20638
(cherry picked from commit 0f3a89d306838b3c75a73cd1e9e2928737222b70)
2009-08-31 07:45:50 -07:00
Jeremy Huddleston fdb29ebeed XQuartz: GL: Explicitly set GL_EXT symbols to 0 if they are not in OpenGL.framework to prevent X11's glext.h from setting them to 1.
(cherry picked from commit 7fe37137d826d1b698e87a5b35050dd02f0a4d4b)
2009-08-31 07:45:40 -07:00
Jeremy Huddleston 931160fcf3 XQuartz: AIGLX: Provide empty __glXAquaDrawableResize to avoid crashing in DoMakeCurrent
(cherry picked from commit 60a1d2c2764f2f02c0751940a264588717afce79)
2009-08-05 16:17:47 -07:00
Jeremy Huddleston ae65daab08 XQuartz: Unify how we set our bitmasks for visuals
(cherry picked from commit c230b52c27ce50ac6c27011ec8e88f1b263b25f9)
2009-07-31 15:34:13 -07:00
Jeremy Huddleston da0a274780 XQuartz: Cleanup the bitmask setting for GLX visuals.
(cherry picked from commit d32c3df258e748958ef997c675dc4fae118c0d7b)
2009-07-31 15:34:03 -07:00
Jeremy Huddleston c81595e23b XQuartz: Overhaul setting up visuals
The main change is cleanup of the visualConfigs and setting up alpha correctly there to match the visuals being added earlier (so the default visual has a corresponding GLX visual)
(cherry picked from commit 7351db5c8746be30a4047469ee9b50bc19e62a89)
2009-07-26 02:35:49 -07:00
Jeremy Huddleston c8a3516514 XQuartz: Cleanup getGlCapabilities to avoid hardcoding the number of displays
(cherry picked from commit 12f7365f1f58d648217b16f09c2152fa47dcd7a1)
2009-07-16 17:32:04 -07:00
Jeremy Huddleston e7bc9ff816 XQuartz: Allow more than 3 OSX displays
(cherry picked from commit 45045eb3968069a8d74ce9188890a5537dc60fec)
2009-07-16 17:32:03 -07:00
Jeremy Huddleston 077556ec39 XQuartz: AIGLX dispatch table cleanup
This should fix some issues when building on different versions of OSX.  We only use extensions that OpenGL.framework's glext.h header tells us are supported.
(cherry picked from commit e10c53421f1e780573c8adcd8ea89d6ffa28a819)
2009-06-06 22:24:06 -07:00
George Staplin 61abf3189f XQuartz: GL: Change from xalloc to xcalloc to potentially avoid
uninitialized data in the __GLXAquaContext.
(cherry picked from commit d3120241f9f48d21f9a6ecfb848434a4a0270855)
2009-02-21 23:35:26 -08:00
George Staplin 5587f9b771 XQuartz: GL: Fix a bug with an uninitialized GLX data structure.
This was causing a crash randomly, due to random memory contents.
Use xcalloc to prevent this in the future, due to future changes or mistakes.

Set the drawableType to include GLX_PIXMAP_BIT and GLX_PBUFFER_BIT.
The new libGL supports these.

Set the max Pbuffer width/height, based on the results of a test program.
We may someday want to revisit this depending on what users need, so that
we create a CGLContextObj, make it current, and call glGetIntegerv to
gather the information at runtime.
(cherry picked from commit c7e338330943e0d03a99328c740540d03f018d20)
2009-02-21 23:35:22 -08:00
Jeremy Huddleston 67faf41b3f XQuartz: Don't need GlxSetVisualConfig any more
Fixes build failure resulting from 516f8e2cad1311a09764e2633644188d1e3c31bb
(cherry picked from commit 066b17028a35956a089815716e38571f305469c5)
2009-02-17 23:27:08 -08:00
Jeremy Huddleston f5c7f8a3ab XQuartz: GLX: Fix accidental exclusion of glBlitFramebufferEXT on Leopard
(cherry picked from commit 8620579483789ae9ac1b68dbefe32b70011386de)
2009-02-02 12:36:01 -08:00
Jeremy Huddleston e2b4d3d4a1 XQuartz: GLX: OpenGL.framework on Tiger doesn't have glBlitFramebufferEXT
(cherry picked from commit e01662cadcaa4052e3a5aa82cbaed00a2d0220e0)
2009-02-01 15:13:40 -08:00
George Staplin b137a0cdb1 XQuartz: GL: indirect.c changes to fix the build with newer OpenGL frameworks.
(cherry picked from commit 143224405ba74929c702a95de52b56df140b0d1b)
2009-01-26 10:28:03 -08:00
Dan Nicholson 64f924fbf5 Kill off --with-mesa-source completely
There were a few spots left in the source that were using the
--with-mesa-source defined headers or the now removed $(top_srcdir)/GL
directory. These aren't needed anymore as all the necessary source for
GLX is in $(top_srcdir)/glx.

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2009-01-18 09:49:06 -08:00
George Staplin c5d52d4c37 XQuartz: GL: Make indirect.c build and work in the 1.6 branch.
Reorder some header files and provide some types earlier on.

Remove the static __GLXextensionInfo __glDDXExtensionInfo; that isn't
used in 1.4 or 1.5, and seems to have been removed from 1.6.  Remove
the data structures associated with that too.

Remove __glXAquaDrawableResize.  The GLX structure doesn't use
it anymore, and the Apple version did nothing useful before.

__glXAquaDrawableSwapBuffers(): base no longer contains a drawGlxc
member.  Now provide the the Apple/Aqua context in the __GLXAquaDrawable
struct.  Add the context member to the __GLXAquaDrawable struct.

Remove the fallback configs.  They aren't used in 1.4 or 1.5 either.

Remove init_visuals().  It's not used in 1.4 or 1.5 either.

In the drawable constructor initialize the state properly, including
the new context member.

Remove glAquaResetExtension() -- it's not used anymore.

This has been tested remotely and proven to work with glxgears,
fire, various texture programs I wrote, and various Mesa demos.
(cherry picked from commit d514152195452ae11ec7769c76489651620ad380)
2009-01-15 21:04:54 -08:00
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