Sun, 23 Mar 2014 22:53:50 -0700Fixing Alt-Enter handling, submitted by Nader Golbaz
Sam Lantinga <slouken@libsdl.org> [Sun, 23 Mar 2014 22:53:50 -0700] rev 8672
Fixing Alt-Enter handling, submitted by Nader Golbaz

I encountered a little issue: DXGI monitors application's message queue and this behavior interferes with SDL if the application already handles Alt-Enter sequence. I think it is necessary to disable this behavior.
http://msdn.microsoft.com/en-us/library/windows/desktop/bb174540%28v=vs.85%29.aspx

Sun, 23 Mar 2014 22:07:01 -0400WinRT: Implemented SDL_ShowMessageBox for Windows 8.x/RT hosts
David Ludwig <dludwig@pobox.com> [Sun, 23 Mar 2014 22:07:01 -0400] rev 8671
WinRT: Implemented SDL_ShowMessageBox for Windows 8.x/RT hosts

This change does not include message box support for Windows Phone 8, which does
not offer the same message box APIs that Windows 8.x/RT does.

Sun, 23 Mar 2014 18:56:47 -0400Tossed in some SDL_asserts to make static analyzer happier.
Ryan C. Gordon <icculus@icculus.org> [Sun, 23 Mar 2014 18:56:47 -0400] rev 8670
Tossed in some SDL_asserts to make static analyzer happier.

(Most of its complaints here are that these ints can be negative, although
they wouldn't been in sane cases. Checking sanity is what assertions do, and
it placates the analyzer appropriately.)

Sun, 23 Mar 2014 16:08:32 -0400D3D11: Fixed a crash after a GPU device-reset on Win32
David Ludwig <dludwig@pobox.com> [Sun, 23 Mar 2014 16:08:32 -0400] rev 8669
D3D11: Fixed a crash after a GPU device-reset on Win32

Sun, 23 Mar 2014 13:48:16 -0400D3D11: Added code to handle GPU-device-removed scenarios
David Ludwig <dludwig@pobox.com> [Sun, 23 Mar 2014 13:48:16 -0400] rev 8668
D3D11: Added code to handle GPU-device-removed scenarios

These scenarios can happen when a GPU is switched, its driver updated, or in
some virtual machines (such as Parallels) are suspended and then resumed. In
these cases, all GPU resources will already be lost, and it's up to the app to
recover.

For now, SDL's D3D11 renderer will handle this by freeing all GPU resources,
including all textures, and then sending a SDL_RENDER_TARGETS_RESET event.
It's currently up to an app to intercept this event, destroy all of its
textures, then recreate them from scratch.

Sun, 23 Mar 2014 09:44:04 -0700Better keyboard detection when some of the keys are remapped, thanks to Lewis Wall
Sam Lantinga <slouken@libsdl.org> [Sun, 23 Mar 2014 09:44:04 -0700] rev 8667
Better keyboard detection when some of the keys are remapped, thanks to Lewis Wall

Sun, 23 Mar 2014 11:04:47 -0400WinRT: Miscellaneous app-backgrounding/restoring event fixes and additions
David Ludwig <dludwig@pobox.com> [Sun, 23 Mar 2014 11:04:47 -0400] rev 8666
WinRT: Miscellaneous app-backgrounding/restoring event fixes and additions

SDL_WINDOWEVENT_FOCUS_LOST is now sent when an app's native window is hidden.
Likewise, SDL_WINDOWEVENT_FOCUS_GAINED is sent when an app's window is shown.
This mimicks behavior seen on iOS and Android.

SDL_WINDOWEVENT_MINIMIZED and SDL_WINDOWEVENT_RESTORED are now sent when the
app's native window is hidden and shown. Previously, these were sent when an
app was suspended and resumed. On Windows 8.x/RT, an app may be sent to the
background without being suspended, which previously meant that
SDL_WINDOWEVENT_MINIMIZED might never have been sent. (On Windows Phone 8,
however, this seems to be different, whereby apps sent to the background appear
to always get suspended.)

Sun, 23 Mar 2014 08:56:52 -0400WinRT: Made app-backgrounded events get sent at separate, distinct times.
David Ludwig <dludwig@pobox.com> [Sun, 23 Mar 2014 08:56:52 -0400] rev 8665
WinRT: Made app-backgrounded events get sent at separate, distinct times.

SDL_APP_WILLENTERBACKGROUND is now sent as soon as the app is told that it is
about to go to the background. SDL_APP_DIDENTERBACKGROUND is sent via a WinRT
'deferral operation', which is how WinRT gives apps a bit of extra time
(multiple seconds worth) to prepare for an app-backgrounding.

The distinction may be important as the deferral operation's code is always run
in a separate thread. For Direct3D-only apps, this means that between the
two SDL app-backgrounded events, SDL_APP_WILLENTERBACKGROUND will be the only
one run from the main thread. Given that some WinRT operations can only be done
on the main thread (operations to the CoreWindow fall into this category), this
could be important.

It is important to note that pre-deferral code may only have a very short bit of
time to execute code, less so than code run in the deferral operation (where
SDL_APP_DIDENTERBACKGROUND is sent from), which usually gets several seconds to
run.

Sat, 22 Mar 2014 21:08:05 -0400WinRT globals cleanup: Removed WINRT_GlobalSDLVideoDevice
David Ludwig <dludwig@pobox.com> [Sat, 22 Mar 2014 21:08:05 -0400] rev 8664
WinRT globals cleanup: Removed WINRT_GlobalSDLVideoDevice

Sat, 22 Mar 2014 20:48:18 -0400WinRT: Got OpenGL ES 2 working with the latest version of ANGLE/WinRT.
David Ludwig <dludwig@pobox.com> [Sat, 22 Mar 2014 20:48:18 -0400] rev 8663
WinRT: Got OpenGL ES 2 working with the latest version of ANGLE/WinRT.

SDL/WinRT did have support for OpenGL ES 2 via an older version of ANGLE/WinRT,
however its API changed a few months ago, and SDL/WinRT would crash when trying
to use it. It would also occasionally crash when using the older version.

This changeset should make SDL/WinRT work with the latest version, as
available via MS Open Tech's git repository of it at
https://github.com/msopentech/angle

Older versions of ANGLE/WinRT (from either https://github.com/stammen/angleproject
or https://bitbucket.org/DavidLudwig/angleproject) will need to be updated to
MS Open Tech's latest version.