Commit Graph

11015 Commits

Author SHA1 Message Date
Ryan C. Gordon
4a142dd73b For sanity's sake, removed the '&' when passing copy_row array to asm. 2006-01-06 13:20:10 +00:00
Ryan C. Gordon
4599553443 Patched to compile. 2006-01-06 00:56:12 +00:00
Ryan C. Gordon
c5326df6e2 Added optimized C 32bit RGB<->RGBA alpha masking blitter from Alex Volkov.
Fixes Bugzilla #11.
2006-01-05 16:40:51 +00:00
Ryan C. Gordon
d9f58b2f88 testblitspeed.c improvements: cleaned up output, and allow user to set surface
alpha attributes.
2006-01-05 16:37:46 +00:00
Ryan C. Gordon
376c83d34c From Mike Frysinger and/or Gentoo:
- libsdl-PIC-load-mmx-masks-from-stack.patch
this one may be a little controversial ... the fix here is again that you cant
reference the memory addresses like this to load into a mmx register, so the
way to do it is to push two 32bit words onto the stack, load the 64bit value
off of the stack into the mmx register, and then adjust the stack so that
it's back to normal.
2006-01-05 15:25:19 +00:00
Ryan C. Gordon
f7cdaa4339 Patch from Michael Bonfils to add CPUID support for x86 Solaris. 2006-01-05 08:17:35 +00:00
Ryan C. Gordon
bfd327c02d From Mike Frysinger and/or Gentoo:
- libsdl-SDL_stretch-PIC.patch
ignoring the general fact of how SDL_stretch relies on executing dynamic code,
the inline asm should let gcc handle the a details for getting the actual
address for _copy_row as it will do the right thing
test case: http://dev.gentoo.org/~vapier/libsdl/sdl-stretch.tar.bz2
2006-01-05 07:20:12 +00:00
Ryan C. Gordon
f372206df1 From Mike Frysinger and/or Gentoo:
- libsdl-PIC-hermes-cpuid.patch
rewrites the code in _Hermes_X86_CPU so that it doesnt require the local
cpu_flags memory variable, it just uses registers.
test case: http://dev.gentoo.org/~vapier/libsdl/hermes-cpuid-test.tar.bz2
2006-01-05 07:08:59 +00:00
Ryan C. Gordon
14b4649fb4 More dynamic X11 fixes...catches some code in Xlib headers that caused
dependencies...
2006-01-04 22:57:50 +00:00
Ryan C. Gordon
49944d1da9 Windows should use _beginthreadex() instead of CreateThread(), to avoid a
memory leak on each joined thread.
2006-01-04 21:01:49 +00:00
Ryan C. Gordon
635d4f11ef Debug code should check right function names. 2006-01-04 20:53:55 +00:00
Ryan C. Gordon
6f0d008da1 Removed some incorrect comments in the "dc" driver that survived the
initial cut-and-paste from the dummy video skeleton.
2006-01-04 19:25:18 +00:00
Sam Lantinga
95cc21edfa Bumped the version number for the next release 2006-01-04 01:08:40 +00:00
Patrice Mandin
703ea8605b Use a simple table for Unicode translation 2006-01-02 19:49:21 +00:00
Ryan C. Gordon
caab2259d8 Quartz driver: Make sure we pass a pointer to the right type. 2006-01-02 12:48:58 +00:00
Ryan C. Gordon
e46884e7fd Quartz driver: Correctly handle SDL_DOUBLEBUF|SDL_FULLSCREEN when the
resolution is too small and thus emulated by SDL.

  Fixes http://www.devolution.com/pipermail/sdl/2005-December/071765.html ...
2006-01-02 12:37:40 +00:00
Ryan C. Gordon
48d21dc783 Quartz target: set x and y field of mode list to 0 in SDL_ListMode call. 2006-01-02 10:49:37 +00:00
Sam Lantinga
292d18a5f7 Oops, actually use the timings in the modes db. :)
FIXME: Add some way of specifying the refresh rate we want to select!
2006-01-02 09:32:54 +00:00
Sam Lantinga
8991b57ab3 *** empty log message *** 2006-01-02 09:13:16 +00:00
Sam Lantinga
7eafc32b03 Added support for parsing /etc/fb.modes, based on Stephane Marchesin's patch 2006-01-02 09:08:05 +00:00
Ryan C. Gordon
6ae4d895ed Toggle flip debugging in testsprite.c on the command line, not as a hardcoded
#define.

--ryan.
2006-01-02 08:07:41 +00:00
Ryan C. Gordon
816029a88b Quartz target shouldn't crash if an event thread is used.
(SDL_INIT_EVENTTHREAD still doesn't work, but the crash is gone...)
2006-01-02 07:09:52 +00:00
Ryan C. Gordon
750b834bb9 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Thu, 15 Dec 2005 21:19:53 +0100
Subject: [SDL] More mouse enhancements for Mac OS X

The attached patch brings two more enhancements to mouse handling on Mac
OS X (Quartz):

1. Currently, after launching an SDL application, SDL's notion of the
mouse position is stuck in the top left corner (0,0) until the first
time the mouse is moved. That's because the UpdateMouse() function isn't
implemented in the Quartz driver. This patch adds it.

2. When grabbing input while the mouse cursor is hidden, the function
CGAssociateMouseAndMouseCursorPosition(0) is called, which prevents the
system's notion of the mouse location from moving (and therefore leaving
the SDL window) even when the mouse is moved. However, apparently the
Wacom tablet driver (and maybe other special pointing device drivers)
doesn't care about that setting and still allows the mouse location to
go outside of the window. Interestingly, the system cursor, which is
made visible by the existing code in SDL in that case, does not follow
the mouse location, but appears in the middle of the SDL window. The
mouse location being outside of the window however means that mouse
button events go to background applications (or the dock or whatever is
there), which is very confusing to the user who sees no cursor outside
of the SDL window.

I have not found any way of intercepting these events (and that's
probably by design, as "normal" applications shouldn't prevent the user
from bringing other applications' windows to the front by clicking on
them). An idea would be placing a fully transparent, screen-filling
window in front of everything, but I fear that this might affect
rendering performance (by doing unnecessary compositing, using up
memory, or whatever).

The deluxe solution to the problem would be talking to the tablet
driver using AppleEvents to tell it to constrain its mapped area to the
window (see Wacom's "TabletEventDemo" sample app,
http://www.wacomeng.com/devsupport/mac/downloads.html), but I think that
the bloat that solution would add to SDL would outweigh its usefulness.

What I did instead in my patch is reassociating mouse and cursor when
the mouse leaves the window while an invisible grab is in effect, and
restoring the grab when the window is entered. That way, the grab can
still be effectively broken by a tablet, but at least it's obvious to
the user that it is broken. That change is minimal - it doesn't affect
operation with a mouse (or a trackpad), and the code that it adds is not
executed on every PumpEvents() call, only when entering and leaving the
window.

Unless there are any concerns about the patch, please apply. Feel free
to shorten the lengthy comment in SDL_QuartzEvents.m if you think it's
too verbose.

Thanks

  -Christian
2006-01-02 00:31:00 +00:00
Ryan C. Gordon
0ca1a8dbf8 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Wed, 28 Dec 2005 12:13:20 +0100
Subject: [SDL] Fix for opening documents on Mac OS X < 10.4

The current code in SDLMain.m that transforms documents opened from the
Finder into command-line arguments (introduced in revision 1.14,
2005-08-11) uses the methods -[NSString lengthOfBytesUsingEncoding:] and
-[NSString getCString:maxLength:encoding:], which are only available in
Mac OS X 10.4.

Compiling this code on 10.3 produces warnings, and running it (i.e.
starting an SDL application by opening a document) leads to weird
behavior which I didn't investigate in detail ("*** -[NSCFString
lengthOfBytesUsingEncoding:]: selector not recognized" is printed to the
console log, and the SDL window never opens).

The attached patch removes the offending calls and uses -[NSString
UTF8String] instead, which is available everywhere. Tested on 10.3.9,
and I see no reason why it shouldn't also work on 10.2 and 10.4.

Two further comments:

* The comment above the -[SDLMain application: openFile:] implementation
says "You need to have a CFBundleDocumentsType section in your
Info.plist to get this message, apparently." This is not the case in my
experience - it worked just fine with a hand-built bare-bones
application consisting only of Test.app/Contents/MacOS/test, without any
Info.plist (although you have to press the option and command keys for
such an application to accept a dragged file).

* I took the liberty of cleaning up another area of SDLMain.m: I changed
"CustomApplicationMain (argc, argv)" to "CustomApplicationMain (int
argc, char **argv)". This avoids the "type of `argv' defaults to `int'"
warnings, and I'm not sure if leaving out the types could cause problems
on platforms where an int and a char** aren't of the same size.

  -Christian
2006-01-01 23:45:52 +00:00
Ryan C. Gordon
6be8306bf3 Bumped windib's priority above DirectX, since both DirectDraw and DirectInput
seem to be giving people issues on newer Windows and DX revisions. We'll see
 if this is just a temporary fix or not...  :/

--ryan.
2006-01-01 23:34:06 +00:00
Patrice Mandin
8d06aed24e Added preliminary missingtranslation from Atari to Unicode charset 2006-01-01 19:14:11 +00:00
Sam Lantinga
9316719017 From: "alan buckley" <alan_baa@hotmail.com>
Subject: Patch for RISC OS cursor palette handling in SDL
Date: Mon, 07 Nov 2005 09:14:15 -0800

The mouse cursor palette was not correctly
restored on RISC OS if the system was using
anything but the default mouse colours.

Additionally I've modifed the order the wait
for vsync is called as it should be after the
screen bank switching.
2005-12-23 09:40:15 +00:00
Ryan C. Gordon
6850ee5901 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Wed, 21 Dec 2005 13:39:39 +0100
Subject: [SDL] Another mouse bug patch for Mac OS X

Oh my, yet another change in the quartz mouse handling code! :)

The attached patch fixes the following bug:

Calling SDL_WarpMouse() while the cursor is invisible and grabbed should
only update SDL's internal mouse location, not try to warp the system
cursor (which is not at that location, but fixed in the middle of the
window). Otherwise, the next mouse motion event is wrong.

Please apply.

Thanks

  Christian
2005-12-21 18:02:36 +00:00
Ryan C. Gordon
6d0d882c81 Patched to compile on gcc 2.95.3. 2005-12-19 06:58:51 +00:00
Sam Lantinga
0c97a75a3c Updated to the latest glext.h 2005-12-14 05:55:17 +00:00
Sam Lantinga
a71dce4813 Date: Tue, 13 Dec 2005 13:33:50 +0000
From: "alan buckley"
Subject: Patch to fix audio locking on RISC OS

When threads were not disabled on a RISC OS build
the audio mixer mutex was not created.
2005-12-13 16:40:12 +00:00
Ryan C. Gordon
64b1dd14f8 Fixed configure script on latest Mac OS X developer tools (and hopefully
didn't break it everywhere else...grumble...)

--ryan.
2005-12-12 11:14:29 +00:00
Ryan C. Gordon
a1eb66424b Matched SDL_AllowRW and SDL_FreeRW calls in SDL_rwops.c ... 2005-12-12 10:54:41 +00:00
Ryan C. Gordon
517e70bca3 Date: Sat, 10 Dec 2005 18:29:41 +0100
From: Alberto Mardegan <mardy@users.sourceforge.net>
To: sdl@libsdl.org
Subject: [SDL] [PATCH] Touchscreen support to fbcon via tslib


Hi all!

  I'm new to this list, I just subscribed. I've attached to this e-mail
a patch I've written in order to add Touchscreen support to SDL's fbcon
module via the tslib library.
Since it introduces a new dependency, I've also edited the the
configure.in file and added it as a compile-time option.

This patch is especially useful for handhelds (I've tested it in my
Zaurus).
Please consider applying it. :-)


--
Saluti,
    Mardy
http://interlingua.altervista.org
2005-12-12 09:26:32 +00:00
Ryan C. Gordon
facc16df66 Date: Sun, 11 Dec 2005 20:37:04 +0100
From: Olivier Boudeville <olivier.boudeville@online.fr>
To: "A list for developers using the SDL library. \(includes SDL-announce\)" <sdl@libsdl.org>
Subject: [SDL] NetBSD build patch


Hi everybody,

apparently the SDL-1.2.9 source archive could not compile "as is" on
NetBSD 2.0_STABLE due to a pthread detection issue in the configure script.

I attached a small patch that can be applied to configure.in so that SDL
can be directly (i.e. without the NetBSD package manager) configured and
built successfully on NetBSD (at least on the one I tried !).

Hope this helps,

Olivier.
2005-12-12 09:22:36 +00:00
Ryan C. Gordon
2bd5ea77ee From: Mike Frysinger <vapier@gentoo.org>
To: sdl@libsdl.org
Date: Sun, 11 Dec 2005 22:57:37 -0500
Subject: [SDL] exec stack in libsdl update

i posted back in September a patch to remove executable stacks:
http://www.devolution.com/pipermail/sdl/2005-September/070626.html

later in November, a similar patch was merged it seems:
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/hermes/mmx_main.asm

however, this lacks the additional output format checks that i posted in my
patch ... this isnt a problem if the hermes asm code is only ever used to
produce ELF objects, but if this is not true, then the additional checks in
my original patch will need to be merged
-mike
2005-12-12 09:13:12 +00:00
Sam Lantinga
fef1ed5f5d Fixed gcc 4 warnings 2005-12-08 14:48:21 +00:00
Sam Lantinga
6e51b1b451 Fixed compiling with gcc 4, patch applied from Gentoo Bugzilla:
http://bugs.gentoo.org/show_bug.cgi?id=87809
2005-12-08 14:41:49 +00:00
Sam Lantinga
f97b3a1ca1 Fixed compile warnings with gcc 4 2005-12-08 14:21:17 +00:00
Ryan C. Gordon
e159300cf1 Fixed OpenGL usage in Quartz target when SDL_SetVideoMode() is called without
explicitly calling SDL_GL_LoadLibrary() first.
2005-12-06 14:36:39 +00:00
Ryan C. Gordon
5611b15178 Date: Sun, 04 Dec 2005 21:43:46 -0500
From: Jonathan Atkins <jcatki@jcatki.no-ip.org>
Subject: SDL patch: DGA key events

I kept seeing DGA die on me whenever I press a key.
I tracked it down and it seems that the new indirect X via pointers
system messed it up.  It needed to have the pX* pointers well defined to
call, in particular, pXNextEvent.  Also, the X11_TranslateKey function
prototype was changed, but not updated in the dga driver.  perhaps other
files are also affected.

Not sure what releases may suffer from this too.

thanks!
	-Jon Atkins
2005-12-05 04:36:53 +00:00
Ryan C. Gordon
840dbbbcbc Don't need to link against libstdc++ on Mac OS X now. 2005-12-01 19:22:32 +00:00
Ryan C. Gordon
6a9e4c4315 To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Fri, 18 Nov 2005 23:39:02 +0100
Subject: [SDL] Mouse position bugs on Mac OS X

The attached patch fixes a few bugs in SDL related to the mouse position
in windowed mode on Mac OS X, reproduced using the attached minimal test
program - at least here on 10.3.9, with SDL CVS from today. Could anyone
test whether the bugs exist and are fixed by the patch on 10.2 and 10.4?

1. When using OpenGL, the vertical mouse positions obtained through
events or SDL_GetMouseState() are off by one.

2. When using OpenGL, SDL_WarpMouse() inverts the y coordinate.

3. Clicks on the topmost pixel row of the window are not recognized.

1 and 2 do not occur in non-OpenGL mode, while 3 does. All three only
occur in windowed mode, not in fullscreen.

The cause for 1 and 3 is that in Cocoa, "the location of the mouse"
seems to be defined as "the location of the top left corner of the mouse
pointer's hot pixel" (this is not documented, it's just what I found out
here), which together with the fact that Cocoa's usual y coordinates
start at the bottom and increase upwards means that the y coordinate of
the mouse runs from 1 to h, not from 0 to h-1, in a window of height h.

If it does work on 10.2 and 10.4 (I'll try to test it as soon as I can,
but at the moment all I have at hand is 10.3.9), can this be applied to
the CVS?

  -Christian



To: sdl@libsdl.org
From: Christian Walther <cwalther@gmx.ch>
Date: Mon, 28 Nov 2005 10:41:51 +0100
Subject: [SDL] Re: Mouse position bugs on Mac OS X

I wrote:
> I'll try to test it as soon as I can, but at the moment all I have at hand is 10.3.9

So, here are the results of my tests (with patched and unpatched
frameworks compiled with Xcode 1.5 (gcc 3.3) on 10.3.9):

On 10.1.5, my test program doesn't run because of "Undefined symbols:
SDL undefined reference to _CGMainDisplayID expected to be defined in
Carbon". I guess not supporting 10.1 was a deliberate decision then and
that's OK with me.

On 10.2.8, 10.3.9, and 10.4.0, the bugs exist as described in my
original post and are fixed by my patch. That is, there is no difference
between pre/post 10.3 and the patched version works correctly in all
combinations of GL/non-GL and windowed/fullscreen.

I therefore recommend the patch for inclusion.

  -Christian
2005-11-28 13:58:26 +00:00
Ryan C. Gordon
9f1bdccb26 Seperate glX from HAVE_OPENGL, for platforms that have both an X server and
a more official way to do OpenGL, explicitly check for glX on Mac OS X, and
 use SDL_LoadObject for platforms that have glX but don't have dlopen().
2005-11-23 11:46:36 +00:00
Ryan C. Gordon
406ef7dae9 OS/2 port!
This was mostly, if not entirely, written by "Doodle" and "Caetano":
    doodle@scenergy.dfmk.hu
    daniel@caetano.eng.br

--ryan.
2005-11-23 07:29:56 +00:00
Ryan C. Gordon
6a623cd454 Moved Quartz SDL_GL_LoadLibrary() to SDL_loadso interface. 2005-11-23 07:23:48 +00:00
Ryan C. Gordon
f5ab1fadd2 Added #include "SDL_loadso.h" to SDL.h. 2005-11-23 07:07:19 +00:00
Ryan C. Gordon
f208d67504 To: sdl@libsdl.org
From: Staffan Ulfberg <staffan@ulfberg.se>
Date: 19 Nov 2005 01:00:48 +0100
Subject: [SDL] New driver for OpenBSD/wscons

Hello,

I've written an SDL driver for OpenBSD/wscons (console mode, somewhat
resembling the functionality of the svga driver for Linux).  I use it
for playing MAME on my Sharp Zaurus.  The alternative is to play under
X, which is slower.

I asked how to submit the driver a few days ago, and posted a link to
the patch in a follow-up, so maybe it was missed?

Anyway, the patch is on the web at:

http://multivac.fatburen.org/SDL-wscons.patch

Comments?

Staffan
2005-11-22 15:19:50 +00:00
Ryan C. Gordon
5cc4c240dd Patched OpenBSD audio to compile on newer GCC versions. 2005-11-22 15:11:33 +00:00
Ryan C. Gordon
38418b2f95 Apparently some bits of the BSD joystick code are x86 only...joystick.h
only exists at /usr/sys/arch/i386/include/joystick.h, for example.
2005-11-22 15:10:41 +00:00