Commit Graph

4780 Commits

Author SHA1 Message Date
Kees Bakker
bdd497f442 Merge upstream updates 2011-10-08 12:45:10 +02:00
Andreas Schiffler
59aaf65fd5 Refactored audio device enumeration/naming tests ana added negative cases 2011-10-05 08:08:06 -07:00
Ryan C. Gordon
41f4356ae7 Disable thread naming on Windows for now.
We need the C runtime, which we don't link against, for __try/__except.
2011-10-02 00:59:11 -04:00
Ryan C. Gordon
79077a2d15 Patched to compile on Mac OS X (I think). 2011-10-02 00:49:52 -04:00
Ryan C. Gordon
ce0c9e37fd Further patched to compile on Windows. 2011-10-02 00:43:56 -04:00
Ryan C. Gordon
652f5a7622 Patched to compile on Windows. 2011-10-02 00:36:18 -04:00
Ryan C. Gordon
2ef51927fe 1.3 API CHANGE: Add support for naming threads. 2011-10-02 00:29:16 -04:00
Kees Bakker
89cfd42a6e Make SDL_uikitviewcontroller.window a real Objective-C property and synthesize 2011-09-28 21:42:02 +02:00
Kees Bakker
d51451a80d Minor code cleanup in uikit/SDL_uikitview.m (no functional changes) 2011-09-28 21:25:46 +02:00
Kees Bakker
63fb9ab391 Simplied the code a bit in uikit/SDL_uikitvideo.m 2011-09-28 21:13:09 +02:00
Kees Bakker
d996a17140 Remove unused SDL_uikitopenglview (privateMethods) 2011-09-28 21:03:05 +02:00
Kees Bakker
734912cea3 Use Objective-C construct for..in instead of oldfashioned C (uikit) 2011-09-28 20:32:26 +02:00
Sam Lantinga
6cd0d9d1ab Fixed to compile with pedantic C 2011-09-27 23:16:04 -04:00
Sam Lantinga
01f70098db ============================================================ 2011-09-27 23:15:01 -04:00
Sam Lantinga
a4d5f80c4b ============================================================ 2011-09-27 23:14:16 -04:00
Kees Bakker
fcf659d548 Do not exit in (uikit) postFinishLaunch but store the exit status and use that to return from main()
Also cleanup the stored argv in main() instead of postFinishLaunch.
2011-09-27 23:49:24 +02:00
Kees Bakker
d66afe2cb6 Cleanup of the use of include files in src/video/uikit 2011-09-27 23:40:21 +02:00
Kees Bakker
6982b7a69d Add Xcode-iPhoneOS/rakefile which can be used to build SDL.framework from the commandline
This is the rakefile from Andrey Nesterov, but slightly modified.
Use the following command:
  $ rake -f Xcode-iPhoneOS/rakefile
The resulting framework is placed in the ./build directory.
2011-09-27 22:54:59 +02:00
Kees Bakker
0e7f5aaa9c Use a consistent source code format in src/video/uikit
For example:
* Opening bracket of a method/function on a new line at column 0
* space after "if", "while", etc
2011-09-27 22:51:26 +02:00
Kees Bakker
4f86248f88 Remove INDENT-ON INDENT-OFF comments in src/video/uikit
These comments are only useful for running indent which we are
probably not going to use in Objective-C context.
2011-09-27 21:07:09 +02:00
Kees Bakker
6f098b503d Cleanup out trailing whitespace in src/video/uikit 2011-09-27 21:02:26 +02:00
Ryan C. Gordon
69138c84bf Moved pthread spinlock check in with the rest of the pthread tests. 2011-09-21 03:08:00 -04:00
Ryan C. Gordon
4e42ccb0ae Replaced a sanity check with an SDL_assert(). 2011-09-21 02:42:25 -04:00
Ryan C. Gordon
7c206c10b5 Don't call pthread_exit(), returning from RunThread() is equivalent. 2011-09-20 17:48:29 -04:00
Ryan C. Gordon
a2878205f5 Simplified Windows RunThread().
Removed checks for things that are always true, free unneeded struct before
 calling thread entry point, instead of after thread completes.
2011-09-20 17:42:58 -04:00
Ryan C. Gordon
7cf73953bb Updated fatbuild.sh to match 1.2 version. 2011-09-19 01:49:29 -04:00
Markus Kauppila
7750625898 Fixed option parsing code of test harness. 2011-09-18 13:01:33 +03:00
Ryan C. Gordon
a4ede00263 Fixed compiler warnings on Haiku. 2011-09-18 03:52:08 +00:00
Ryan C. Gordon
ef9602f026 Implemented x86 and x86-64 spinlock inline asm.
Favor it over Mac OS X API for Intel systems (but not GCC atomic intrinsics).

This might get us a little further on Cygwin builds, too.
2011-09-18 03:19:41 -04:00
Ryan C. Gordon
62cdeb1783 Use an actual #error instead of a bogus symbol if there's no spinlock support. 2011-09-18 02:55:45 -04:00
Ryan C. Gordon
b5688aca8a Patched to compile on some platforms. 2011-09-18 02:09:20 -04:00
Andreas Schiffler
52ef3c93ec Add tests for SDL_RectEquals and empty rectangle cases 2011-09-17 22:37:31 -07:00
Andreas Schiffler
a76b8e0292 Add special cases for empty rectangles in SDL_Rect functions 2011-09-17 22:35:57 -07:00
Andreas Schiffler
0a29e84930 Fix SDL_RectEquals define 2011-09-17 22:35:10 -07:00
Andreas Schiffler
77acc926f7 Add test cases for SDL_RectEmpty 2011-09-16 08:26:20 -07:00
Andreas Schiffler
acb9d90a85 Add NULL handling in SDL_RectEmpty and SDL_RectEquals 2011-09-16 08:25:49 -07:00
Ryan C. Gordon
a01b9d69d6 Removed some FIXMEs (Nathan's changes were, in fact, correct). 2011-09-15 23:55:36 -04:00
Ryan C. Gordon
fe04e23133 Merged Nathan Heisey's Haiku work into the main SDL 1.3 branch.
This was a Google Summer of Code 2011 project, sponsored by the Haiku project.

We thank Nathan and the other Haiku developers for their support!
2011-09-15 23:51:07 -04:00
Andreas Schiffler
fdf9d2c853 Added tests for SDL_UnionRect to testrect suite 2011-09-15 08:21:54 -07:00
Markus Kauppila
d2b6d20dab Cleans up the logger output a bit. Removes fuzzer invocation count
from the log if the fuzzer isn't used.
2011-09-10 19:27:39 +03:00
Ryan C. Gordon
b84e7104b1 Clean up the win32 compiler warnings for SDL threads, in the 1.3 branch. 2011-09-12 13:36:38 -04:00
Andreas Schiffler
fefed71ec5 Added tests for SDL_EnclosePoints. 2011-09-12 09:00:34 -07:00
Andreas Schiffler
d8556266a2 Fix regression introducted by added parameter check in SDL_EnclosePoints. Add special case to speedup when no result was requested. 2011-09-12 09:00:01 -07:00
Ryan C. Gordon
079d39970c More work on cleaning out compiler warnings. 2011-09-11 04:02:40 -04:00
Ryan C. Gordon
6de89cdd37 Fixed Win64 builds with MingW. 2011-09-11 03:35:46 -04:00
Ryan C. Gordon
54294f986d Some MMX fixes from Patrick Baggett.
Original email...

Date: Sat, 10 Sep 2011 13:01:20 -0500
From: Patrick Baggett
To: SDL Development List <sdl@lists.libsdl.org>
Subject: Re: [SDL] SDL_memcpyMMX uses SSE instructions

In SDL_blit_copy.c, the function SDL_memcpyMMX() actually use SSE
instructions.

It is called in this context:

#ifdef __MMX__
    if (SDL_HasMMX() &&
        !((uintptr_t) src & 7) && !(srcskip & 7) &&
        !((uintptr_t) dst & 7) && !(dstskip & 7)) {
        while (h--) {
            SDL_memcpyMMX(dst, src, w);
            src += srcskip;
            dst += dstskip;
        }
        _mm_empty();
        return;
    }
#endif

This implies that the minimum CPU features are just MMX. There is a
separate SDL_memcpySSE() function.


The SDL_memcpyMMX() function does:

#ifdef __SSE__
        _mm_prefetch(src, _MM_HINT_NTA);
#endif

...which tests at compile time if SSE intrinsics are available, not at run
time. It generates the PREFETCHNTA instruction. It also uses _mm_stream_pi()
intrinsic, which generates the MOVNTQ instruction.

If you replace the "MMX" code with:

__m64* d64 = (__m64*)dst;
__m64* s64 = (__m64*)src;
 for(i= len / 64; i--;) {
   d64[0] = s64[0];
   d64[1] = s64[1];
   d64[2] = s64[2];
   d64[3] = s64[3];
   d64[4] = s64[4];
   d64[5] = s64[5];
   d64[6] = s64[6];
   d64[7] = s64[7];
   d64 += 8;
   s64 += 8;
 }

Then MSVC generates the correct movq instructions. GCC (4.5.0) seems to
think that using 2x movl is still better, but then again, GCC isn't actually
that good at optimizing intrinsics as I've found. At least the code won't
crash on my P2 though. :)

Also, there is no requirement for MMX to be aligned to the 8th byte. I
think the author assumed that SSE's 16 byte alignment requirement must
retroactively mean that MMX requires 8 byte alignment. Attached is the full
patch.

Patrick
2011-09-11 01:54:54 -04:00
Ryan C. Gordon
9a4e598f42 Removed sail.bmp reference from Xcode project.
Fixes Buildbot.
2011-09-09 10:45:48 -04:00
Ryan C. Gordon
7adf4f848a Fixed a compiler warning. 2011-09-09 04:48:45 -04:00
Ryan C. Gordon
b865b3d4b6 Fixed a compiler warning on Visual Studio. 2011-09-09 04:17:47 -04:00
Ryan C. Gordon
e612bfc336 Added a newline to the end of a file to quiet old versions of GCC. 2011-09-09 02:43:04 -04:00