Commit Graph

1243 Commits

Author SHA1 Message Date
Ryan C. Gordon
9edba2d35c Add XME hooks to X11 driver instead of relying on libxme...libxme hasn't
changed in five years, and it's a small .c file that just calls into the X11
 dependencies we already use elsewhere. Including it directly allows us to
 make use of the dynamic X11 code.

Fixes Bugzilla #41.

--ryan.
2006-01-12 22:46:36 +00:00
Ryan C. Gordon
abbb8e7983 Properly restore vidmode when switching back to SDL's virtual terminal with
the fbcon driver: Fixes Bugzilla #37.
2006-01-10 20:52:35 +00:00
Ryan C. Gordon
b5b2635198 From Bug #36:
There are a couple of issues with the selection of Altivec alpha-blitting
routines in CalculateAlphaBlit() in src/video/SDL_Blit_A.c.

1) There's no check for the presence of Altivec when checking if the
Blit32to565PixelAlphaAltivec() routine can be selected.

2) Altivec cannot be used in video memory, and there's no check if the
destination surface is a hardware surface. (Alpha-blitting to a hardware
surface with GPU support is a bad idea, but somebody's bound to do it anyway.)

Patch to fix these attached.
2006-01-08 21:18:15 +00:00
Patrice Mandin
9f9c0f9f7e Rollback 2006-01-08 17:29:19 +00:00
Patrice Mandin
1406542e05 Load default OpenGL library if needed at driver initialization 2006-01-08 10:22:27 +00:00
Patrice Mandin
91722486aa Disable XBIOS driver for mouse and joystick under MiNT. Will write a driver for /dev/mouse later. 2006-01-06 22:24:09 +00:00
Ryan C. Gordon
9ad4236f71 Minor bit of debug output added to dynamic X11 code. 2006-01-06 20:57:59 +00:00
Ryan C. Gordon
dc5d47f3e8 Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
on 64-bit systems, and are chosen with macros in the X11 headers. So on
 32-bit systems, it should fail to find these symbols and keep going anyhow.
2006-01-06 20:56:13 +00:00
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