VisualC-WinRT


Log

Author Commit Date CI Message
Ethan Lee 2facf5b7 2021-09-08T12:07:41 winrt: Remove Windows 8.x project files
Ethan Lee 07b59df2 2021-09-08T12:06:54 winrt: Remove unused nuspec/targets files
Sylvain a2cd4255 2021-03-16T15:49:00 Update VisualC projects
Joel Linn 8fc0baad 2020-12-28T11:43:11 Add SDL_cond implementation using Windows Condition Variables Is automatically used when the SRW SDL_mutex implementation is active. Otherwise falls back to the generic implementation. v2: - Rebase onto master fa3ea1051a4b
Joel Linn 2443e51e 2020-12-28T11:42:49 Add optional suffix `_generic` to generic SDL_cond impl Allows for runtime selectable implementation
Joel Linn 5b64fdc9 2020-12-25T10:41:20 thread/windows: Remove synchronization.lib from WinPhone81 dependencies synch APIs are implicitly available on this platform.
Joel Linn d6afc1c6 2020-12-25T04:00:20 thread/windows: Statically link synchronization APIs on WINRT GetModuleHandleW is not available on those platforms --- .../WinPhone81_VS2013/SDL-WinPhone81.vcxproj | 8 ++++---- VisualC-WinRT/WinRT81_VS2013/SDL-WinRT81.vcxproj | 12 ++++++------ src/thread/windows/SDL_sysmutex.c | 12 ++++++++++++ src/thread/windows/SDL_syssem.c | 11 +++++++++++ 4 files changed, 33 insertions(+), 10 deletions(-)
Ozkan Sezer 250a0557 2020-12-09T12:01:10 fix bug #5384 -- define DLL_EXPORT in DLL builds and adjust begin_code.h
Sam Lantinga 0150455d 2020-11-16T17:42:04 Added SDL_crc32.c to the Windows RT projects
Ryan C. Gordon 46274269 2020-10-06T00:42:17 url: WinRT actually works now (and has been tested, hooray!).
Ryan C. Gordon 6c6d2bdd 2020-10-05T16:25:48 url: Build WinRT-specific code as C++/CX instead of plain C++.
Ryan C. Gordon 57e3003d 2020-10-05T15:47:47 url: Attempt at WinRT support.
Ryan C. Gordon b7b2995f 2020-10-05T15:27:32 url: Added to Visual Studio project files.
Sam Lantinga 4d15b5b8 2020-06-10T09:36:10 Fixed building with Visual Studio 2019
Ryan C. Gordon fa23e3d0 2020-05-04T02:27:29 locale: Implemented SDL_GetPreferredLocales(). This was something I proposed a long time ago, Sylvain Becker did additional work on it, then back to me. Fixes Bugzilla #2131.
David Ludwig 40625c4e 2020-03-15T16:01:19 virtual joysticks: MSVC support part 2/2, add file refs to MSVC projects (bug 5028)
Ozkan Sezer eb8f14bb 2019-11-20T20:40:50 added SDL_strtokr() as a replacement for POSIX strtok_r (bug #4046.)
Sam Lantinga de5367a6 2018-08-23T02:48:47 Added display event files to the Visual Studio projects
Sam Lantinga b8ae2c18 2018-08-21T20:20:54 Fixed UWP build
Sam Lantinga 7749ee2a 2018-08-21T13:42:44 Added the dummy sensor driver to the Visual Studio projects
Sam Lantinga 2fc71d87 2018-02-09T08:03:03 Windows Phone 8.0 is no longer supported
Ryan C. Gordon 6d32ebdb 2017-12-31T03:51:17 winrt: Add mmdevapi.lib dependency to WinRT8.1 builds, for WASAPI support.
Ryan C. Gordon 351d6d47 2017-12-06T12:24:32 audio: Port WASAPI to WinRT, remove XAudio2 backend. XAudio2 doesn't have capture support, so WASAPI was to replace it; the holdout was WinRT, which still needed it as its primary audio target until the WASAPI code code be made to work. The support matrix now looks like: WinXP: directsound by default, winmm as a fallback for buggy drivers. Vista+: WASAPI (directsound and winmm as fallbacks for debugging). WinRT: WASAPI
Sam Lantinga a6a4e27a 2017-11-12T22:51:12 Updated SDL's YUV support, many thanks to Adrien Descamps New functions get and set the YUV colorspace conversion mode: SDL_SetYUVConversionMode() SDL_GetYUVConversionMode() SDL_GetYUVConversionModeForResolution() SDL_ConvertPixels() converts between all supported RGB and YUV formats, with SSE acceleration for converting from planar YUV formats (YV12, NV12, etc) to common RGB/RGBA formats. Added a new test program, testyuv, to verify correctness and speed of YUV conversion functionality.
Sam Lantinga adc64f92 2017-10-21T22:26:24 Added Visual Studio solution files for WinRT projects
Sam Lantinga b5f31c39 2017-08-30T09:44:38 Moved haptic source files into the proper folder
David Ludwig e07e446a 2017-02-25T21:23:12 WinRT: removed Windows 8.0 from build-bot + NuGet package creation scripts According to Steam's OS stats, Windows 8.0 use is pretty much nil. Further, Microsoft hasn't support Windows 8.0 development in any of their actively-updated toolchains, and setting it up can be a pain. In theory, SDL2 still supports Windows 8.0, however building of Windows 8.0 .dlls is no longer the default, if and when using the 'winrtbuild.*' scripts. The MSVC 2012 project files for building Windows 8.0 dlls remain, though, for the time being.
David Ludwig d6bcec8f 2016-12-10T15:23:17 WinRT: build fixes These fixes are lumped into two categories: 1. add new file, SDL_dataqueue.c, to UWP/WinRT build-inputs (via MSVC project files) 2. implement a temporary, hack-fix for a build error in SDL_xinputjoystick.c. Win32's Raw Input APIs are, unfortunately, not available for use in UWP/WinRT APIs. There does appear to be a replacement API, available in the Windows.Devices.HumanInterfaceDevice namespace. This fix should be sufficient to get SDL compiling again, without affecting Win32 builds, however using the UWP/WinRT API (in UWP/WinRT builds) would almost certainly be better (for UWP/WinRT builds). TODO: research Windows.Devices.HumanInterfaceDevice, and use that if and as appropriate.
Ryan C. Gordon 2da1ec83 2016-08-28T13:36:13 Merge audio capture work back into the mainline.
David Ludwig 5150eb36 2016-08-20T13:46:45 WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state The repro steps were this: 1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher 2. hide the cursor, via a call to SDL_ShowCursor(0) 3. make the Win10 game bar appear, by pressing the Windows + G hotkey 4. observe that the mouse cursor appears, in order to interact with the game bar (this is expected behavior) 5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey again, or clicking somewhere in the app EXPECTED RESULT: cursor disappears, as game bar disappears ACTUAL RESULT: cursor didn't always disappear
Ryan C. Gordon 979de761 2016-08-05T01:44:15 audio: Removed internal SDL_audiomem.h and macros. I think this was important for SDL 1.2 because some targets needed special device memory for DMA buffers or locked memory buffers for use in hardware interrupts or something, but since it just defines to SDL_malloc and SDL_free now, I took it out for clarity's sake.
David Ludwig 5790f59f 2015-12-02T08:04:17 WinRT: minor tweak to NuGet package naming
David Ludwig 89898d83 2015-12-01T22:07:24 WinRT: added NuGet-package creation support to WinRT build script
David Ludwig 25abce51 2015-11-29T19:33:11 WinRT: added Win10/UWP (Universal Windows Platform) support "UWP" appears to be Microsoft's new name for WinRT/Windows-Store APIs. This set of changes updates SDL's WinRT backends to support the Win10 flavor of WinRT. It has been tested on Win10 on a desktop. In theory, it should also support Win10 on other devices (phone, Xbox One, etc.), however further patches may be necessary. This adds: - a set of MSVC 2015 project files, for use in creating UWP apps - modifications to various pieces of SDL, in order to compile via MSVC 2015 + the Win10 API set - enables SDL_Window resizing and programmatic-fullscreen toggling, when using the WinRT backend - WinRT README updates
David Ludwig fa2d5ab4 2015-11-26T13:51:03 WinRT: bug-fix - SDL_SetThreadPriority() didn't work on WinRT 8.x platforms WinRT 8.0 (Phone and non-Phone) didn't offer an API to set an already-created thread's priority. WinRT 8.1 offered this API, along with several other Win32 thread functions that were previously unavailable (in WinRT). This change makes WinRT 8.1+ platforms use SDL's Win32 backend.
Philipp Wiesemann 0e45984f 2015-06-21T17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
Ryan C. Gordon b72938c8 2015-04-20T12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
Alex Szpakowski fe6c797c 2015-04-10T23:30:31 Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
Edward Rudd b88ca1b4 2015-02-10T16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
Philipp Wiesemann b48e54aa 2015-01-26T22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
David Ludwig 70438be2 2014-12-03T10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
Philipp Wiesemann 9c398852 2014-11-22T22:20:40 Corrected header file documentation comment.
David Ludwig bbe1df0d 2014-11-02T10:32:25 WinRT: enabled OpenGL ES 2 support on Windows Phone The "future-dev" branch of MSOpenTech's ANGLE/WinRT repository (at https://github.com/msopentech/angle) includes support for Windows Phone 8.1. This change allows it to be used in conjunction with SDL's OpenGL functions.
Pierre-Loup A. Griffais 24c86b55 2014-09-11T19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
David Ludwig cf4ff728 2014-07-04T18:20:23 Made the latest XInput + Haptic changes compile and run on WinRT Notes: - Support for the 'Guide' button does not seem to be possible, as XInputGetStateEx is not available on WinRT. - Haptic support appears to be working on WinRT now! - SDL/WinRT does not allow calls to LoadLibrary or LoadLibraryEx. The calls to those were removed by this change, but only when compiling for WinRT. Non-WinRT Windows will continue to detect and load XInput via LoadLibrary and GetProcAddress calls.
Sam Lantinga b79e7f32 2014-07-03T15:39:55 Split the XInput and DirectInput code so Windows RT can use the existing XInput support.
David Ludwig 33f81a0d 2014-05-06T20:31:10 WinRT: made Win[Phone] 8.1 projects be structured like their 8.0 counterparts This change removes the "Shared" component from the Windows 8.1 and Windows Phone 8.1 project files, then renames the projects to use a file structure that's the same as used for the Windows 8.0 and Windows Phone 8.0 projects. This change now places WinRT projects in the following directories: VisualC-WinRT\WinRT81_VS2013\ -- Windows 8.1 project files VisualC-WinRT\WinPhone81_VS2013\ -- Windows Phone 8.1 project files (NEW, as of this change) VisualC-WinRT\WinRT80_VS2012\ -- Windows 8.0 project files VisualC-WinRT\WinPhone80_VS2012\ -- Windows Phone 8.0 project files Windows 8.0 and Windows Phone 8.0 projects, as well as apps or libs that reference these, should be unaffected by this change. Windows 8.1 and Windows Phone 8.1 based apps or libs that reference SDL's projects directly will need to have their old references removed, then replaced with new ones that point to the updated structure.
David Ludwig c5c1a2c6 2014-04-30T21:07:30 WinRT: preliminary support for building against the Windows Phone 8.1 SDK This is a step towards supporting "Universal" Windows apps, when building for Windows Phone. SDL can now build against the Windows Phone 8.1 SDK, and apps linked to it can run, however further work and testing is required as some previously Phone-only code appears to no longer be applicable for Windows Phone 8.1. The Windows 8.1 code paths does seem to be preferable, but should probably be tested and updated on a finer-grained basis. If in doubt, use the Windows Phone 8.0 projects for now, as located in VisualC-WinRT/WinPhone80_VS2012/ TODO: - look at any Windows Phone specific code paths in SDL, and see if Phone 8.1 should use the Windows Phone code path(s), or the Windows 8.x or 8.1 paths
David Ludwig 36696777 2014-04-29T19:06:00 WinRT: added project files for Windows 8.1 + MSVC 2013 This commit also includes some base-level support for Universal apps. TODO: - add support for Windows Phone 8.1 - add support for satellite libs: SDL_image, SDL_ttf, and SDL_mixer
David Ludwig 0ba3a54a 2014-04-19T12:48:45 Cleaned up and rearranged WinRT project file structure. All WinRT projects have been merged into a single directory, "VisualC-WinRT", with platform-specific variants in subdirectories off of it. This structure has been applied to a few major SDL satellite libraries as well (SDL_image, SDL_mixer, and SDL_ttf). Currently, only Windows 8.0/RT and Windows Phone 8.0 targets are supported. Windows 8.1/RT/Phone targets are planned. Projects that use SDL_image/WinRT, and link to it via Visual Studio's project-to-project reference system, will need to be updated, to reflect the changes in the project structure. This can be done by: 1. removing the MSVC project(s) for SDL/WinRT 2. re-added the MSVC project(s) for SDL/WinRT 3. right-clicking on the app, or projects that use those libraries, choosing References, removing the references to any of these projects (they'll likely be highlighted with an exclamation mark), then re-adding them To note, the satellite libraries that reference SDL/WinRT have been updated already. The changes for those libraries will be pushed to hg.libsdl.org shortly. TODO: - add support for Windows 8.1 and Windows Phone 8.1 targets, using Microsoft's new "Universal" app support, if possible. These will be added to a new subdirectory, or subdirectories (if more than one sets of projects are needed, hopefully not), of "VisualC-WinRT". - investigate NuGet support, which could allow Visual C++ to download new copies of SDL/WinRT, its satellite libraries, and their dependencies, from remote servers.
David Ludwig 3dcb451f 2014-04-09T21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
David Ludwig abcb264c 2014-03-30T11:50:59 WinRT: "SDL" to "SDL2", both for .dll output files, and for MSVC project names. All WinRT builds of SDL will now output, "SDL2.dll". Previously, the Windows 8.x/RT builds would output, "SDL.dll", and Windows Phone 8 builds would output, "SDL_WinPhone.dll". The change to "SDL2.dll" puts WinRT dll naming in-line with that seen on Win32. SDL/WinRT's MSVC project files will now appear as either "SDL2-WinRT" or "SDL2-WinPhone", when displaying in MSVC. This set of changes should not break any older WinRT or Windows Phone 8 app builds that rely on MSVC's Project-to-Project reference system to build SDL2 for the correct platform(s), and to install SDL2 dll files into the apps' output packages. App builds that reference SDL dll files directly should, however, now reference "SDL2.dll".
David Ludwig 119dff55 2014-03-23T22:07:01 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.
David Ludwig b51a3206 2014-03-22T20:48:18 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.
David Ludwig f25ee50b 2014-03-15T14:54:23 Fixed broken rotation detection routines on WinRT Rotation detection and handling should now work across all, publicly-released, WinRT-based platforms (Windows 8.0, Windows 8.1, and Windows Phone 8.0).
David Ludwig 4cd5ed7b 2014-03-12T12:12:20 Merged various WinRT build fixes
David Ludwig b68b6e23 2014-03-12T11:57:15 Fixed various build and runtime errors when using WinRT with VS2012.
Sam Lantinga 641ba099 2014-03-12T07:26:07 Fixed compiling Windows RT code on Visual Studio 2013
David Ludwig 36e7c8d9 2014-03-11T12:40:31 Fixed compiler errors in the D3D11 renderer when building for WinRT Still TODO: fix other build errors, especially linker errors, when building SDL/WinRT, then fix any runtime errors that pop up.
David Ludwig e8eb1427 2014-03-10T21:21:35 build fixes for most WinRT-related files Still TODO: getting the D3D11 renderer back up and running in VC 2012.
David Ludwig ce805722 2013-12-25T21:39:48 WinRT: compiled the d3d11 renderer's shaders into SDL itself Previously, the shaders would get compiled separately, the output of which would need to be packaged into the app. This change should make SDL's dll be the only binary needed to include SDL in a WinRT app.
David Ludwig 22254931 2013-12-25T13:13:15 WinRT: moved contents of the d3d11 renderer's header file into its implementation file
David Ludwig d92f0127 2013-12-21T10:08:11 WinRT: enabled OpenGL ES 2 support by default A copy of ANGLE/WinRT is still needed to run OpenGL content, but is not needed to compile SDL/WinRT.
David Ludwig b6f80d85 2013-11-29T00:19:46 WinRT: enable the OpenGL ES 2 SDL_Renderer backend, if and when OpenGL ES 2 support is compiled in
David Ludwig ecfbb3f5 2013-11-28T22:59:21 WinRT: got the SDL-official OpenGL ES 2 changes working, in an experimental state
David Ludwig 749117ac 2013-11-04T19:54:29 WinRT: added experimental OpenGL ES 2.0 support A port of the ANGLE library (OpenGL ES 2.0 for Direct3D) to WinRT, via https://github.com/stammen/angleproject, is used as a base. To enable, clone 'angleproject' into the directory one above where SDL/WinRT is, open the file SDL/include/SDL_config_winrt.h, and uncomment the #defines that begin with 'SDL_VIDEO_OPENGL'. From there, apps can create an OpenGL capable SDL_Window via the flag, SDL_WINDOW_OPENGL, and an OpenGL ES 2 context via SDL_GL_CreateContext. The Direct3D 11.1 renderer cannot be used alongside SDL_WINDOW_OPENGL. Only Windows 8/8.1 is supported for now. Shaders may need to be precompiled, in some (all?) cases.
David Ludwig 3236fc3a 2013-10-28T15:41:22 WinRT: implemented SDL_GetBasePath and SDL_GetPrefPath
David Ludwig 58dd0864 2013-09-22T12:26:53 WinRT: unified the two, public, app-init functions This function, SDL_WinRTRunApp, can be used to help launch either XAML or non-XAML/Direct3D-only based apps.
David Ludwig efb3cdca 2013-09-16T22:27:30 WinRT: renamed SDL_winrt_main.cpp to indicate that it should only be used in non-XAML apps This can break builds of existing SDL/WinRT apps. To fix, remove the reference to SDL_winrt_main.cpp, then add a reference to the renamed file, SDL_winrt_main_NonXAML.cpp. If you get a build error about a missing .winmd file, enable the /ZW compiler flag for that one file (at minimum).
David Ludwig 79e82936 2013-09-14T23:44:50 WinRT: build fix for the SDL-WinRT-only .sln
David Ludwig 8a16449e 2013-09-14T23:34:27 WinRT: project-naming cleanup. Projects that link to SDL will need updating. To update: 1. remove references to SDL's project files from the Visual Studio Solution. To note, these project files have been renamed, and will show up in Visual Studio with the text, "load failed". 2. add the SDL project files back into the Visual Studio Solution 3. for each project that should link to SDL, add a reference to it. This can be done by right-clicking on it in Visual Studio, selecting "References...", clicking "Add New Reference", checking the box next to the SDL project, then closing each dialog by clicking OK. SDL_mixer, SDL_ttf, and SDL_image for WinRT have been updated, and will be pushed to my Bitbucket repos with these changes having been made. If you do not pull in these changes, be sure to re-add to them the reference to the SDL project, as described above.
David Ludwig 34722465 2013-09-06T21:13:15 WinRT: code cleanup: attempted to make it more clear what code is specific to what app type (plain Direct3D or XAML)
David Ludwig fff78081 2013-09-06T19:07:15 WinRT: made SDL_xaudio2.c compile as C code when building for WinRT XAudio2 2.8's header file, xaudio2.h, doesn't compile in plain C code for WinRT apps, not automatically at least. Initially, this file was adapted to compile as C++, however these changes are now deprecated in favor of some preprocessor based hacks that should get xaudio2.h to compile (while making sure XAudio2 still works).
David Ludwig f3bd9175 2013-09-04T19:55:45 WinRT: more renaming of "windowsrt" to "winrt"
David Ludwig 8fc04cc7 2013-09-02T15:29:46 WinRT: renamed a mouse-related header file for naming-consistency's sake
David Ludwig 7e06b806 2013-09-02T15:23:33 WinRT: misc code cleanups regarding touch and mouse events, and also SDL-internal globals
David Ludwig 1d5082d8 2013-08-28T16:51:07 WinRT: corrected SDL_MOUSE* coordinates in non-Portrait modes Thanks to Pierre-Yves Gueniffey for proper pointer geometry transform code!
David Ludwig 2cafee9d 2013-08-27T21:21:09 WinRT: experimental and preliminary support for XAML-based overlays on Windows 8/RT The XAML support here is still rudimentary. Bugs do exist. You've been warned. XAML support in Windows Phone 8 is not yet available (in SDL/WinRT).
David Ludwig f860141a 2013-08-27T12:33:36 WinRT: renamed "windowsrt" directories to "winrt"
David Ludwig 3e83fd78 2013-08-27T11:39:44 WinRT: misc code cleanups
David Ludwig d78b26ed 2013-08-26T17:17:53 WinRT: moved most platform-specific keyboard and mouse code to shared locations
David Ludwig 19a168b4 2013-08-20T21:22:32 WinRT: file naming and placement cleanup - moved SDL_WinRTApp.* from src/video/windowsrt/ to src/core/winrt/, and renamed them to SDL_winrtapp.* (to mimick case-sensitivity used elsewhere in SDL) - renamed all "windowsrt" directories (in src) to "winrt", as the shorthand name is used more often (and, IMO, "WinRT" != "Windows RT", not entirely at least)
David Ludwig d41fdc94 2013-08-13T20:09:52 WinRT: build fixes and additional WinRT-related integrations with SDL 2.0.0
David Ludwig f7049b93 2013-08-12T22:29:55 WinRT: merged with SDL 2.0.0 codebase (aka. SDL hg rev d4ce48ff30d1)