Commit graph

586 commits

Author SHA1 Message Date
Sam Lantinga 1a35f32b68 Converted David Ludwig's D3D11 renderer to C and optimized it.
The D3D11 renderer is now slightly faster than D3D9 on my Windows 8 machine (testsprite2 runs at 3400 FPS vs 3100 FPS)
This will need tweaking to fix the Windows RT build.
2014-03-10 01:51:03 -07:00
Sam Lantinga a8f540fe4a Fixed renderer flags to include support for target textures after the renderer is created. 2014-03-09 22:48:38 -07:00
Ryan C. Gordon 8c7ee701a1 Removed unused variable. 2014-03-10 00:48:41 -04:00
Ryan C. Gordon 89648a9a3c Drop the default requested OpenGL version to 1.2.
Fixes default context creation on Mac OS X <= 10.6.
2014-03-10 00:01:14 -04:00
Sam Lantinga 1fe7b27a96 Fixed 64-bit warnings 2014-03-09 12:27:31 -07:00
Sam Lantinga 1367bf8748 Integrated David Ludwig's support for Windows RT 2014-03-09 11:36:47 -07:00
Sam Lantinga 05c23063bb Fixed line endings on WinRT source code 2014-03-09 11:06:11 -07:00
Sam Lantinga c167d1f6a8 Updated SDL to version 2.0.3 2014-03-09 10:38:30 -07:00
Ryan C. Gordon db568d69d8 Patched to compile with MingW64 on case-sensitive systems (thanks, Martin!).
Fixes Bugzilla #2440.
2014-03-09 11:52:52 -04:00
Ryan C. Gordon 5755fa4b9e Patched to compile on C89 compilers. 2014-03-08 15:34:54 -05:00
Sam Lantinga e9eb7ecd08 Fixed bug 2430 - Missing initialization of the variable 'centroid' inside SDL_GestureAddTouch
klose

File: SDL_gesture.c
Method: SDL_GestureAddTouch

When a new SDL_GestureTouch element is added to the global SDL_gestureTouch array the variable 'centroid' of the new element is not initialized.

The problem is that this variable is read isndie SDL_GestureProcessEvent when a SDL_FINGERDOWN event occurs.
2014-03-06 20:02:17 -08:00
David Ludwig 61ae0c1b50 WinRT: emit SDL_APP_TERMINATING 2014-03-04 19:49:11 -05:00
David Ludwig 844ad50018 WinRT: emit SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events 2014-03-04 19:30:36 -05:00
Ryan C. Gordon 9e67444a36 Mac: Added a hint to opt-out of new Spaces code. 2014-03-03 21:25:16 -05:00
Ryan C. Gordon 3889d47887 Removed unused variable. 2014-03-02 22:55:12 -05:00
Ryan C. Gordon 0e5cc8dff4 Mac: Don't lose the menu/dock when switching back to a resizable window Space. 2014-03-02 22:51:31 -05:00
Ryan C. Gordon 86be83215a Mac: only programmatically create Spaces if we're FULLSCREEN_DESKTOP.
(coming back from fullscreen in any state is okay).
2014-03-02 22:16:49 -05:00
Ryan C. Gordon 460f97ff96 A bunch of fixes for the new Spaces code. 2014-03-02 16:36:40 -05:00
Sam Lantinga da324233e2 Fixed dictionary initialization 2014-03-02 13:06:51 -08:00
Sam Lantinga 0f9bb0cda6 Updated to build on Mac OS X 10.7 with Xcode 4.6 2014-03-02 12:58:00 -08:00
Ryan C. Gordon 5eccbac4b9 Mac: Manage menubar and dock as FULLSCREEN_DESKTOP windows become/resign key. 2014-03-02 15:35:24 -05:00
Bastien Nocera 4ca76b3e59 Add support for the freedesktop.org Idle Inhibition specification,
as per:
http://people.freedesktop.org/~hadess/idle-inhibition-spec/

This makes screensaver inhibition work with GNOME 3 and other
desktop environments that implement the specification.

https://bugzilla.libsdl.org/show_bug.cgi?id=2169
2014-03-02 14:59:06 -05:00
Sam Lantinga c2c08f68e4 Backed out changeset 9357a2ca3473 2014-03-02 11:10:00 -08:00
Sam Lantinga 2cf453dd3e Make sure we return version 0 if XInput detection fails 2014-03-02 11:08:05 -08:00
Ryan C. Gordon 51faf449bb Reworked fullscreen policy on Mac OS X.
- SDL_WINDOW_FULLSCREEN works as always (change resolution, lock to window).
- SDL_WINDOW_FULLSCREEN_DESKTOP now puts the window in its own Space, and
  hides the menu bar, but you can slide between Spaces and Command-Tab between
  apps without the window minimizing, etc.
- SDL_WINDOW_RESIZABLE windows will get the new 10.7+ "toggle fullscreen"
  window decoration and menubar item. As far as the app is concerned, this is
  no different than resizing a window, but it gives the end-user more power.
- The hint for putting fullscreen windows into the Spaces system is gone,
  since Spaces can't enforce the requested resolution. It's a perfect match
  for FULLSCREEN_DESKTOP, though, so this is all automated now.
2014-03-02 12:45:51 -05:00
Ryan C. Gordon afc74d9843 Better attempt to detect available X11 XInput2 features.
Fixes Bugzilla #2306.
2014-03-02 02:00:40 -05:00
Ryan C. Gordon 1005c93402 Windows: Fixed crash if quitting without closing an XInput haptic device. 2014-03-02 00:02:56 -05:00
Ryan C. Gordon 754067db7e Added a FIXME. 2014-03-01 22:27:21 -05:00
Ryan C. Gordon 7fa4eece25 Fixed a typo in a comment. 2014-03-01 22:27:13 -05:00
Ryan C. Gordon bafa4c7ae8 Dynamically load glGetString(), to avoid direct dependency on OpenGL. 2014-03-01 21:33:48 -05:00
Ryan C. Gordon 73936208b0 Added some FIXMEs. 2014-03-01 20:59:43 -05:00
Ryan C. Gordon 99583397e6 Mac OS X: Make OpenGL context selection more robust, avoid software fallback.
Fixes Bugzilla #2197.
2014-03-01 20:46:45 -05:00
Ryan C. Gordon 3e541f306d Force Windows version of SDL_GetPrefPath() to Unicode, create missing dirs.
Fixes Bugzilla #2273.
2014-03-01 20:28:40 -05:00
David Ludwig 6687ece1d5 WinRT: cleaned up some hard-to-read SDL_DisplayMode management code 2014-03-01 16:37:30 -05:00
David Ludwig f4a5a0fad1 WinRT: fixed a crash in SDL_Quit
SDL was expected that each SDL_DisplayMode had a driverdata field that was SDL_malloc'ed, and was calling SDL_free on them.  This change moves WinRT's driverdata content into a SDL_malloc'ed field.
2014-03-01 16:08:16 -05:00
Sam Lantinga 63106e4729 Changed SDL_HINT_ACCEL_AS_JOY to SDL_HINT_ACCELEROMETER_AS_JOYSTICK to be more clear. 2014-03-01 12:21:15 -08:00
Sam Lantinga 54ba385b4e Fixed compiler warning 2014-03-01 11:42:12 -08:00
Sam Lantinga 86655b64ef Fixed compiler warning 2014-03-01 11:40:41 -08:00
Sam Lantinga c916f388d4 Fixed bug 2368 - Security Software is blocking RegisterRawInputDevices()
Yamagi

A customer of mine had the strange problem, that SDL_SetRelativeMouseMode() was failing for him on Windows 7. Luckily he was willing to provide some debug informations. We could track this problem down to RegisterRawInputDevices() failing due to security software running on his system (Norton Internet Security to be precise, but there are reports of similar problems with other products. For example [1]). Working around this issue with SDL_WarpMouseInWindow() is easy, and while I don't think that SDL2 can provide an internal workaround it would be really nice and helpfull if this could be documentated somewhere.

1: http://forums.codeguru.com/showthread.php?498374-How-to-run-a-very-long-SQL-statement
2014-03-01 09:59:06 -08:00
Sam Lantinga e663b4eb76 Fixed bug 2423 - timeBeginPeriod & timeEndPeriod mismatch
Coriiander

In src\timer\windows\SDL_systimer.c there is an error with regards to timeBeginPeriod and timeEndPeriod. These functions typically get called when no high resolution timer is available, and GetTickCount is not used.

According to MSDN (link: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757624(v=vs.85).aspx), for every call to timeBeginPeriod a subsequent call to timeEndPeriod is required. While SDL is currently doing this, it fails to call timeEndPeriod when cleaning up/shutting down SDL. Please note that these functions affect things on a system level. Failing to call timeEndPeriod, disables applications for using WINMM-timers after usage&shutdown of SDL, as effectively they the mechanism is now broken.

Solution:
Ensure this code gets called when shutting down the timer subsystem:

#ifndef USE_GETTICKCOUNT
if (!hires_timer_available)
{
    timeSetPeriod(0);
}
#endif
2014-03-01 09:50:52 -08:00
Sam Lantinga ab9345a896 Null termnate the pUserMappings variable to prevent memory corruption. 2014-02-28 16:24:41 -08:00
Sam Lantinga e56bbe3f71 Added a hint to enable the screensaver by default 2014-02-28 14:23:41 -08:00
Ryan C. Gordon ac32352f09 Disable the screensaver by default.
Fixes Bugzilla #2218.
2014-02-27 22:06:41 -05:00
Gabriel Jacobo f61602b434 Improve window recreation logic in OpenGL* renderers 2014-02-27 20:21:46 -03:00
J?rgen P. Tjern? 0d5957dfee Mac: Forgot return value in last commit. 2014-02-26 16:27:03 -08:00
J?rgen P. Tjern? dd94c5fa54 Mac: Don't disassociate cursor if window is moving / doesn't have focus.
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2396
2014-02-26 16:10:52 -08:00
J?rgen P. Tjern? 4850d25988 Mac: Redo cursor warp handling.
This fixes bugs related to getting unnaturally large xrel/yrel for
SDL_MOUSEMOTION after warps and enabling / disabling relative mode.

Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=1836
2014-02-26 11:35:02 -08:00
J?rgen P. Tjern? 52a63e823f Mac: Improve moving relative mode windows.
This makes it possible to move windows by their title bar, even if they're in
relative mode, if you click the title bar when the window does not have focus.

Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2396
2014-02-25 17:27:41 -08:00
J?rgen P. Tjern? 98d8737961 Mac: Fix error message for haptic subsystem.
We were calling SDL_Error instead of SDL_SetError when the haptic subsystem
wasn't initialized.
2014-02-25 17:25:49 -08:00
J?rgen P. Tjern? 95f7e242e6 Mac: Immediately update current OpenGL context's shape.
Previously we were postponing our -[NSOpenGLContext update] call to the next
SDL_GL_SwapWindow, even if the context was current on the current thread. This
changes it so that we will do the update immediately if it's the current
context.

If you're rendering on another thread, you need to call SDL_GL_SwapWindow once
after a resize event to ensure your drawable will produce non-garbage data.

Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2339
2014-02-25 15:28:12 -08:00