Commit Graph

656 Commits

Author SHA1 Message Date
Sam Lantinga
19ffa849ea Date: Thu, 24 Apr 2003 15:13:47 -0400
From: Shawn Kirst
Subject: SDL-1.2.5 patch to add ARB_multisample support

Attached is a patch I have written for SDL-1.2.5 that adds ARB_multisample
support.  I only have the X11 and Win32 video patched.  The Win32 patch also
adds support for WGL_ARB_pixel_format, as it was required for getting a
multisample capable pixel format.  No additional GL header files are required
to compile on either platform (though you need an up-to-date glx.h for X11).

Requesting a multisample pixel format is made possible using
SDL_GL_SetAttribute with the two new SDL_GLattr's I've added
(SDL_GL_SAMPLE_BUFFERS and SDL_GL_SAMPLES).  I've been using SDL in my
projects for quite a while now, so I am happy to contribute back to the
project.  Now you can have and control FSAA in your SDL/GL apps at the
application level!
2003-07-22 15:10:06 +00:00
Sam Lantinga
4b88b12551 Added audio and CD-ROM support for OSF/Tru64 (thanks Hayashi!) 2003-07-22 14:01:21 +00:00
Sam Lantinga
71fb0d86d2 *** empty log message *** 2003-07-22 05:29:48 +00:00
Sam Lantinga
91f6dc0a37 *** empty log message *** 2003-07-22 04:50:38 +00:00
Patrice Mandin
90f95f489c pmandin: Added Atari LDG shared object loader 2003-07-16 11:54:13 +00:00
Ryan C. Gordon
0b70da0b66 We need to lookup the address of glGetString before calling GL_MakeCurrent(),
since the X11 target needs to query for extensions in there...hopefully this
 other platforms don't need to have a current context before symbol lookup
 works or something strange like that... --ryan.
2003-07-12 13:30:30 +00:00
Sam Lantinga
8ad5715b0b Added some notes from the benefit of my experience. :) 2003-07-10 07:56:19 +00:00
Sam Lantinga
5f885f7e0e Exposed SDL_LoadObject(), SDL_LoadFunction(), and SDL_UnloadObject() APIs 2003-07-10 07:46:19 +00:00
Sam Lantinga
f7fa1d8464 Added RISCOS Makefiles to the configure process 2003-07-09 15:38:28 +00:00
Sam Lantinga
964525d936 Fixed incorrect prototype for glXQueryExtensionsString() 2003-07-09 15:32:21 +00:00
Patrice Mandin
4d7c7bd88d Atari MiNT: remove useless files 2003-07-07 19:19:39 +00:00
Patrice Mandin
3bae012d34 Atari MiNT: added more audio drivers 2003-07-07 19:16:03 +00:00
Ryan C. Gordon
15e54d83f1 Removed direct dependency on OpenGL (call current_video->glGetString() instead
of glGetString() directly)...otherwise we'd have to explicitly link to a
 libGL.  --ryan.
2003-07-01 16:35:54 +00:00
Sam Lantinga
d14ff3a635 *** empty log message *** 2003-07-01 01:18:27 +00:00
Sam Lantinga
d767a62e4a Date: 28 Jun 2003 22:42:52 +0100
From: Alan Swanson
Subject: Re: [SDL] New XFree 4.3 Video Mode Patch

I have a wee amendment that moves the qsort in set_best_resolution
to only occur after failing to find an exact match only. This would
make absolutely sure we get a user set mode.

While I've never had any problems for my normal resolutions (1280x1024,
1024x768, 800x600 & 640,480) while closely examining the output from
qsort I've noticed it doesn't seem to sort the modes fully. These is
one definite wrong at 1152x768 and a few that just look wrong to me.

From a program (attached) I made to examine this more easily. X has
sorted its mode list using the same method as ours (plus frequency),
and our user modes get inserted without any other movement.

On the patch I've made I've also changed cmpmodes to sort on vertical
resolution and then horizontal. Ie vertical is now most significant
bit.
2003-06-28 21:52:26 +00:00
Patrice Mandin
f3a40b09ab Bugfix: some Makefiles in subdirectories created before their upper-level ones 2003-06-28 21:38:14 +00:00
Sam Lantinga
20f2cf5c6d I'm American, does it show? ;-) 2003-06-28 17:39:46 +00:00
Sam Lantinga
c9e1cffc47 Date: Sun, 11 May 2003 19:59:06 +0300
From: Pasi K?rkk?inen
Subject: [PATCH] fix SDL OpenGL segfault with DRI/Mesa drivers and Glew

Hello!

The attached patch fixes a bug in SDL which causes SDL to crash in
X11_GL_Shutdown() if you are using DRI/Mesa drivers AND glew
(http://glew.sf.net).

The bug is caused by a namespace collision affecting dlsym() to fetch wrong
pointer for glXReleaseBuffersMESA() (uninitialized pointer from glew because
the extension is NOT supported by the driver) and then SDL calling it in
X11_GL_Shutdown().

SDL should check if the glXReleaseBuffersMESA() is really supported by the
driver (from the extensions string) before calling it.

Attached patch adds extension string parsing to check if
glXReleaseBuffersMESA() is really supported (and this way
prevents the segfault).

Availability of the extensions should be _always_ checked from the
extensions string rather than using dlsym()!

Please add it to the next version of SDL.

Thanks to gltron and author of glew to help fixing this.
2003-06-28 17:27:33 +00:00
Sam Lantinga
c3d95c0f6c te: 27 Jun 2003 21:16:01 +0100
From: Alan Swanson
Subject: [SDL] New XFree 4.3 Video Mode Patch

The current patch to fix the issues with XFree 4.3 it is a bit of
overkill to a simple problem. Default screen settings should be set in
X, not selected by SDL with environment variables. Any program or user
using non-standard or unset display modes get what they deserve :-)

If you look at the unsorted list of modes returned by X, here's mine;

 1280 x 1024 @ 85.0  >
 1024 x 768 @ 100.3  > USER
 800 x 600 @ 125.5   > SET
 640 x 480 @ 124.9   >
 1280 x 1024 @ 75.0  ]
 1280 x 1024 @ 60.0  ]
 1280 x 960 @ 85.0   ] X11
 1280 x 960 @ 60.0   ] AUTO
 1152 x 864 @ 75.0   ]
 1152 x 768 @ 54.8   ]
 960 x 720 @ 120.0   ]
...
 640 x 400 @ 85.1    ] 256k
 576 x 432 @ 150.0   ] 249k PIXEL
 640 x 350 @ 85.1    ] 224k COUNT
 576 x 384 @ 109.6   ] 221k
...

The user set modes come first followed by X set modes which are ordered
by decreasing number of pixels and refresh.

The reason why every other library or program not using SDL was working
is due to SDL scanning the modes in reverse getting X11 provided modes
modes with the lowest refresh.

The solution is to scan forward for the first user set mode or highest X
mode. The qsort still keeps user set modes above higher refresh modes
added by X.

For the best match we still reverse search for the nearest larger size
and then try to find a higher version of it.
2003-06-28 17:16:52 +00:00
Sam Lantinga
034f135e5e *** empty log message *** 2003-06-28 17:03:57 +00:00
Sam Lantinga
2ddaf80b7b *** empty log message *** 2003-06-22 04:23:27 +00:00
Sam Lantinga
55af8214b0 Date: Thu, 05 Jun 2003 09:36:40 +0100
From: "alan buckley" <alan_baa@hotmail.com>
Subject: Modification for RISC OS SDL port

My name is Alan Buckley and I have been working on the RISC OS SDL port.

I've attached a modification to SDL_WimpVideo.c to this email that ensures
the Window is displayed immediately when the video mode is set to a windowed
mode.
2003-06-14 07:18:40 +00:00
Patrice Mandin
2c447beccf Add m68k assembly mixing routines 2003-06-03 19:35:10 +00:00
Sam Lantinga
e0fd3225fb Date: Sun, 1 Jun 2003 15:38:45 -0700 (PDT)
From: Jeff Brown <jabrown@caida.org>
Subject: [patch] SDL-1.2.5 + FreeBSD joystick axes, hat fixes

Hello again!  When I sent in some SDL fixes last December, I found out
they'd already been fixed in the CVS version.  This time, I checked the
repository before bugging you.  =)

I'm using SDL-1.2.5 on a FreeBSD 4.6.2-RELEASE system, and in the course
of getting my multi-analog-axis USB controller (with a hat switch!)
working with d2x-sdl -- the SDL port of the Descent 2 engine -- I came
across a few problems:

1) The second analog stick is reported as a slider in one direction, and
"Rz" in the other.  SDL was ignoring the Rz axis, so I added Rx/Ry/Rz to
the set of things SDL considers to be axes.

2) After the above change, the set of JOYAXE_* axes for my gamepad was
{0,1,3,7}; however, d2x-sdl expects the axes to be contiguously numbered
from 0, which seems like a pretty reasonable expectation, rather than
having to scan the entire space of axes that SDL may or may not have.
So, I added a table lookup which maps the JOYAXE_* axis numbers to 0,1,...
in the order they're detected by SDL_SYS_JoystickOpen(), when reporting
them to the application.  I also added a function "usage_to_joyaxe()"
which maps the USB HUG_* usage values to JOYAXE_values, since the repeated
case statements testing for HUG_* were getting out of hand.

3) The BSD joystick driver had no hat support, so I added it.  It looks
like our USB library can only support one hat switch per device, which
makes life easy.

The patch against SDL-1.2.5 which implements these changes is at:

        http://www.caida.org/~jabrown/patches/sdl-1.2.5-bsdhat.diff

After applying, SDL's "testjoystick" reports all activity from my gamepad
correctly, and d2x works too (though it needed some other fixes).

Moving on...

There is also a problem with slightly different USBHID library interfaces
on different versions of FreeBSD. I wasn't going to mention this since the
FreeBSD port for SDL-1.2.5 (and not SDL itself) was doing the FreeBSD
version-specific patching, so I e-mailed the port maintainer with this
change.  However, I see that you've incorporated the FreeBSD
version-checking stuff into the CVS version of SDL, so now it's relevant
for you too.

The problem is, the FreeBSD #if tests don't work right for FreeBSD
4.6.2-RELEASE.  There may be other versions with this problem, but I've
only tested 4.6.2-R.  The following patch against your latest CVS version
fixes this:

--- SDL_sysjoystick.c-1.16      Tue Apr 15 09:02:08 2003
+++ SDL_sysjoystick.c   Sun Jun  1 15:10:28 2003
@@ -420,6 +420,8 @@
 #  else
        len = hid_report_size(rd, repinfo[repind].kind, r->rid);
 #  endif
+# elif (__FreeBSD_version == 460002)
+       len = hid_report_size(rd, r->rid, repinfo[repind].kind);
 # else
        len = hid_report_size(rd, repinfo[repind].kind, &r->rid);
 #endif


I hope this is all useful to you.  I've been getting myself dizzy playing
Descent 2 with it, all morning!

        -Jeff Brown


P.S. My USB controller is a Thrustmaster Firestorm Dual Analog 2.  That's
probably irrelevant, but I threw it in for completeness.
2003-06-02 14:50:22 +00:00
Sam Lantinga
c6cf147207 Date: Mon, 5 May 2003 00:08:51 -0400
From: Darrell Walisser
Subject: SDL Active Events Patch

Hi Guys,
        I was reading sdl-devel the other day and remembered we don't handle
SDL_APPACTIVE and SDL_APPMOUSEFOCUS. I hacked together a quick patch to
do just this. One thing to note - there are actually two ways to
"iconify" the SDL window (which sets SDL_APPACTIVE): hiding the entire
application (for example, option-click on some other window) and
minimizing the window to the dock. I treat both as SDL_APPACTIVE, since
the window is no longer visible.

Cheers,
Darrell
2003-05-29 04:52:36 +00:00
Sam Lantinga
041169aa8b Added initial support for RISC OS (thanks Peter Naulls!) 2003-05-29 04:44:13 +00:00
Sam Lantinga
e8a20861dc *** empty log message *** 2003-05-29 04:37:17 +00:00
Sam Lantinga
8a584472b3 *** empty log message *** 2003-05-29 04:29:13 +00:00
Sam Lantinga
799a11941d Fixed compile problem in SDL_stretch.c with gcc 3.3 2003-05-29 04:25:29 +00:00
Sam Lantinga
ee613b4614 *** empty log message *** 2003-05-29 04:23:03 +00:00
Sam Lantinga
8280a23810 The compiler option that makes enums having the size of an int must be enabled. 2003-05-29 04:16:20 +00:00
Ryan C. Gordon
0044e34354 More-than-three mouse button support for Quartz target. 2003-05-27 07:33:11 +00:00
Ryan C. Gordon
980a4f6c5c God, this is the never-ending patch. Another USB joystick detection fix for
MacOSX/Darwin.  --ryan.
2003-05-25 02:17:52 +00:00
Ryan C. Gordon
3ee913b76a Attempt #3: Fixed boolean logic bug that caused all HID joysticks to be
rejected on MacOSX/Darwin. Works now. No, really this time.  --ryan.
2003-05-22 20:42:37 +00:00
Ryan C. Gordon
0eb344ff06 Whoops...typo prevented compiling. Fixed. 2003-05-22 07:12:36 +00:00
Ryan C. Gordon
c0a9be475c Find just joysticks and gamepads (as opposed to, say, USB Audio devices), in
the MacOSX/Darwin joystick initialization code.
2003-05-22 06:41:54 +00:00
Ryan C. Gordon
8b29e98df8 Disable MacOS X screensaver for duration of application run by triggering a
"UsrActivity" alert every five seconds in the Quartz PumpEvents implementation.
2003-05-22 06:28:40 +00:00
Sam Lantinga
8d133f3f6f *** empty log message *** 2003-05-03 19:48:37 +00:00
Sam Lantinga
b1ba3bf163 MacOS X joystick fix 2003-05-03 15:36:10 +00:00
Sam Lantinga
a4f058b055 Oops... 2003-04-26 06:40:01 +00:00
Sam Lantinga
792fb02bd3 Date: Thu, 17 Apr 2003 23:27:34 -0400
From: Darrell Walisser
Subject: Yet another OS X cursor bug

The synopsis:

1. Call SDL_ShowCursor(0);
2. Call SDL_SetVideoMode();
3. Call SDL_GetEvent();
3. Call SDL_ShowCursor(1);

The result: Sometimes the cursor doesn't come back! Ack! Oddly enough,
it does come back when mousing over the dock or clicking in the menu
bar. But that's besides the point.

The reason why this is happening is a flaw in the handling of
activation/deactivation events. The short explanation is that the
HideCursor() and ShowCursor() calls must be balanced, but if the cursor
was initially hidden, HideCursor() was called again on the activate
event - so now the next ShowCursor() fails (as does the next, and the
next, for some reason).

So, here's the patch. All it does is keep track of the
HideCursor()/ShowCursor() calls so that they will always be balanced.
2003-04-20 05:41:16 +00:00
Sam Lantinga
413d712df8 Date: Wed, 9 Apr 2003 18:21:33 -0230
From: Stephen Anthony <stephena@roadrunner.nf.net>
Subject: [SDL] First patch concerning  4.3 and refresh rates

OK, here's my first draft of the patch for the above subject.

A short explanation:

X 4.3 introduces many more modelines than older versions.  This would be
fine, except it introduces many modes with the *same* resolution but
different refresh rates.  And SDL won't necessarily pick the one with the
highest refresh rate.

So this patch restores SDL to X 4.2 functionality.  That is, there is only
ever one refresh rate *per* resolution, and it is the highest possible.
This functionality can be totally disabled by using the environment
variable 'SDL_VIDEO_X11_USE_ALL_MODES' set equal to 1.
2003-04-20 05:36:52 +00:00
Sam Lantinga
ca4e4bfbea Added MacOS X CD-ROM audio support (thanks Max and Darrell) 2003-04-15 16:33:56 +00:00
Sam Lantinga
ed9cf0c1f0 Fixed video intitialization problem on Qtopia (thanks David!) 2003-04-15 16:04:31 +00:00
Sam Lantinga
5c9228bec6 Date: Wed, 9 Apr 2003 01:03:25 -0400 (EDT)
From: "Matthew N. Dodd"
Subject: SDL patch: FreeBSD joystick support.

This patch deals with the recent changes in FreeBSD.

We're making an effort not to diverge our libusbhid from NetBSD's.
2003-04-15 16:02:08 +00:00
Sam Lantinga
9e07dfb1da Date: Mon, 14 Apr 2003 22:08:27 +0100
From: Patrice Mandin
Subject: [SDL][PATCH] 2 patches for sdl

Here are 2 patches for SDL:

- One is to put the dummy video drivers at the end of the
video drivers list. It gave me problems, when
SDL_VIDEODRIVER is not set, and the dummy driver is used
instead of the platform's driver, just because it is
always available. So the dummy driver must always be at
the end of the list. I suppose picogui and dc video
drivers also don't work.
2003-04-15 15:46:56 +00:00
Sam Lantinga
400541a661 *** empty log message *** 2003-03-22 17:39:26 +00:00
Sam Lantinga
5e03c9b2e1 *** empty log message *** 2003-03-09 21:38:18 +00:00
Sam Lantinga
0df3e0f91d Date: Sat, 1 Mar 2003 16:13:57 -0500
From: Wilbern Cobb
Subject: OpenBSD/sparc64 video init fix

This patch fixes remote X sessions on OpenBSD/sparc64.
2003-03-06 06:22:33 +00:00
Sam Lantinga
9df69db215 Date: Fri, 28 Feb 2003 22:47:56 +0100
From: Denis Oliver Kropp
Subject: Makefile.am fix

I fixed the Makefile.am which lacked many defines.
With this patch SDL on DirectFB doesn't crash on
startup immediately.
2003-03-06 06:18:24 +00:00