kc3-lang/SDL/src

Branch :


Log

Author Commit Date CI Message
bcdf8b91 2017-11-04 17:35:03 Added SDL_fmod() and SDL_fmodf()
6cf06575 2017-11-04 15:53:19 Updated math code from the uClibc 0.9.33 release
34502143 2017-11-04 15:34:14 Added float versions of SDL's math functions
758156a7 2017-11-04 09:37:29 Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable We're going to push the manifest environment variables from the Java side instead of continually querying for them from the native side.
7334a2a1 2017-11-04 09:07:33 Fixed bug 3940 - Add support for EGL_SURFACE_TYPE tomwardio Add support to be able to set EGL_SURFACE_TYPE bits when creating an EGL config. This is usefule when wanting to create pixel buffer surfaces in custom video drivers.
bf3e363d 2017-11-04 09:04:19 Raspberry Pi: fix ES 1/PVR support & autodetect Mesa driver * The brcmGLESv2 vendor library also supports ES PVR/1 profiles * Fallback to standard Mesa libraries if the VC4 driver is loaded
547448df 2017-11-04 09:03:20 SDL_video: try to bootstrap KMSDRM before RPI video driver Allow better coexistence between RPI's vendor libraries and VC4 mesa driver.
17243133 2017-11-04 11:16:49 Emscripten: use cursor hotspot the cursor's hotspot simply wasn't translated to it's CSS equivalent, yet see https://developer.mozilla.org/en-US/docs/Web/CSS/cursor?v=example#Syntax. no explicit hotspot if (0|0) for compatibility with Edge and IE, which indeed don't support custom hot spots
c954b538 2017-11-02 08:48:14 Fixed bug 3935 - Not find joysticks if android run 24-48 days. Alexander Orefkov In src\joystick\android\SDL_sysjoystick.c in SDL_SYS_JoystickDetect when SDL_GetTicks return number grater 2147483648 (after 24.85 days uptime) SDL_TICKS_PASSED(SDL_GetTicks(), timeout) return FALSE and Android_JNI_PollInputDevices is never calling. And in JoystickByDeviceId - when search for newly added joystic - after SDL_SYS_JoystickDetect item not reinitilized, and always stay NULL, cause return NULL instead of added joystick.
1475e698 2017-11-01 19:19:21 Fixed bug 3917 - Android, issues with getManifestEnvironmentVariable Sylvain Some issue with this commit: https://hg.libsdl.org/SDL/rev/97387a8b88d3 There is a memory allocation missing.
9192c93e 2017-11-01 17:30:02 Fixed bug 3932 - Android, GetDisplayDPI release local reference Sylvain When writing JNI code, one has to make sure all local references are released otherwise the app end up crashing.
a7d2d12c 2017-11-01 10:07:04 Fixed building on non-Android platforms
a90be440 2017-11-01 10:06:58 Added controller mapping for Android TV remotes Also fixed the back button on the remote exiting the application
4478707b 2017-10-31 13:49:59 Add SDL_GetDisplayDPI implementation on Android. (thanks Rachel!)
2ac567b7 2017-10-26 16:37:20 Fixed bug 3902 - Add a specific KMSDRM hint for low latency video
213b2490 2017-10-26 10:42:14 Added missing keyinfotable.h
8e37bed3 2017-10-26 10:41:38 android: Fix softkeyboard issue in SDL on Android.
9bbf92e3 2017-10-25 18:02:11 cocoa: Don't change the NSWindow background color. Changing the background color causes the titlebar to blend against it on modern macOS releases, making all SDL windows look wrong by default. This was set to make the window not flash white before a GL context is ready, but we can accomplish this in our window's view's drawRect implementation, too.
0e032d58 2017-10-24 13:21:11 WinRT: Move Windows::Foundation::Initialize to SDL2.dll, from SDL_main. This allows C# UWP applications to use SDL2's SDL_WinRTRunApp function. Kudos to Ethan Lee (flibitijibibo@flibitijibibo.com) for the patch. Thanks!
8fd0c22a 2017-10-24 00:17:07 Added the ability to set SDL hints from AndroidManifest.xml (thanks Rachel!) This is especially useful for things like the accelerometer hint which could be needed before application main().
b89cac67 2017-10-22 20:24:58 Don't X error in SDL_CreateWindow with unsupported GL attributes
10376eb9 2017-10-21 04:20:57 Fixed bug 3901 - Fix vsync-ed pageflips on the KMSDRM video driver Manuel I noticed that, at least on Intel GPU hardware, passing SDL_RENDERER_PRESENTVSYNC would result on a static console instead of the program graphics. That was due to the fact that calling drmModePageFlip() only works if we have previously set up CRTC to one of the GBM buffers with a drmModeSetCrtc() call, so now it's done and things work as expected. The KMSDRM_GLES_SetupCrtc() call is done only one time, only when needed (when egl_swapinterval is not 0: when it's 0, there's no need for it because we flip by calling drmModePageFlip() anyway). The place where KMSDRM_GLES_SetupCrtc() call is done may look strange, but it's right: it needs EGL completely ready because it needs to call eglSwapBuffers() internally to work (see more comments about it in the code).
e830ef34 2017-10-20 16:53:42 Fixed typo converting 4 channel audio to 2 channel
9a291c1e 2017-10-20 14:51:22 Added a note about adjusting channel weights when converting to fewer channels
72932906 2017-10-19 18:05:42 audio: Added SDL_AudioStreamFlush().
e98920f5 2017-10-18 23:49:46 Check correct variable for malloc() results.
afefcbfe 2017-10-18 19:30:47 Fixed bug 3876 - Resampling of certain sounds adds heavy distortion Simon Hug Patch that adds [-1, 1] clamping to the scalar audio type conversions. This may come from the SDL_Convert_F32_to_X_Scalar functions. They don't clamp the float value to [-1, 1] and when they cast it to the target integer it may be too large or too small for the type and get truncated, causing horrible noise. The attached patch throws clamping in, but I don't know if that's the preferred way to fix this. For x86 (without SSE) the compiler (I tested MSVC) seems to throw a horrible amount of x87 code in it. It's a bit better with SSE, but probably still quite the performance hit. And SSE2 uses a branchless approach with maxss and minss.
653ab5d9 2017-10-18 19:26:36 Added a staging buffer to the audio stream so that we can accumulate small amounts of data if needed when resampling
80f8464d 2017-10-18 15:54:05 Added audio stream conversion functions: SDL_NewAudioStream SDL_AudioStreamPut SDL_AudioStreamGet SDL_AudioStreamAvailable SDL_AudioStreamClear SDL_FreeAudioStream
9fd0d619 2017-10-18 08:52:04 Fixed bug 3821 - Allow SDL_CreateWindow and SDL_CreateRenderer with OpenGL ES 3.0 (GLES3) for Angle (Windows) Carlos Angle supports GLES3 but when using these functions (SDL_CreateWindow and SDL_CreateRenderer), defaults again to GLES2.0. A current workaround (hack) to retrieve a GLES3.0 context with Angle is: 1) set SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); after InitSDL AND after calling SDL_CreateWindow (before SDL_CreateRenderer) 2) Comment lines 2032-2044 in SDL_render_gles2.c, funtion GLES2_CreateRenderer window_flags = SDL_GetWindowFlags(window); if (!(window_flags & SDL_WINDOW_OPENGL) || profile_mask != SDL_GL_CONTEXT_PROFILE_ES || major != RENDERER_CONTEXT_MAJOR || minor != RENDERER_CONTEXT_MINOR) { changed_window = SDL_TRUE; SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, RENDERER_CONTEXT_MAJOR); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, RENDERER_CONTEXT_MINOR); if (SDL_RecreateWindow(window, window_flags | SDL_WINDOW_OPENGL) < 0) { goto error; } } This retrives a GLES3 context as confirmed using glGetString(GL_VERSION). This should be fixed by modifying a few if's.
556a8544 2017-10-16 15:22:40 Fixed compiler warning on iOS
e4ef1885 2017-10-16 14:57:42 Fixed bug 3890 - Incomplete fix for CVE-2017-2888 Felix Geyer http://hg.libsdl.org/SDL/rev/a31ee4d64ff6 tries to fix CVE-2017-2888. Unfortunately compilers may optimize the second condition "(size / surface->pitch) != surface->h" away. See https://bugzilla.redhat.com/show_bug.cgi?id=1500623#c2 I've verified that this is also the case on Debian unstable (gcc 7.2).
8e98bdaa 2017-10-15 21:21:19 Fixed bug 3883 - SDL_assert / SDL_PromptAssertion in TTY mode does not accept options ("abriA") shoerbaffen fgets can read a newline and SDL_strcmp will never return zero.
a223560a 2017-10-13 19:30:34 Fixed bug 3880 - X Error upon quit since rev. 11607 Ozkan Sezer Since changeset 11607:60cd425a2f14, I am getting the following error upon quit. Running testsprite2, clicking the mouse, and quiting it is enough to trigger it. This is on my old Fedora9 x86-Linux: X Error of failed request: BadCursor (invalid Cursor parameter) Major opcode of failed request: 2 (X_ChangeWindowAttributes) Resource id in failed request: 0xb057340 Serial number of failed request: 905 Current serial number in output stream: 906 Reverting https://hg.libsdl.org/SDL/rev/60cd425a2f14 removes the error.
cf923648 2017-10-13 09:50:04 Fixed bug 3879 - add missing SDLCALL to SDLTest_TrackedMalloc & co. Ozkan Sezer The attached trivial patch adds missing SDLCALL to SDLTest_TrackedMalloc & co.
fa156741 2017-10-13 01:15:29 coreaudio: changed device close procedure to prevent long hangs in some cases. The audioqueue thread needs to keep running, and processing the CFRunLoop until the AudioQueue is disposed of, otherwise CoreAudio will hang waiting for final data to feed the device. At least, I think this is how it all works. It definitely fixes the bug here! Since AudioQueueDispose() calls AudioQueueStop() internally, there's no need for our thread to handle this, either, which is good because the AudioQueue would be disposed by this point. So now the AudioQueue is disposed first, and then our thread is joined, and everything works out okay. Just in case, we mark the device "paused" before setting everything in motion, so any further callbacks from CoreAudio will write silence and not fire the app's audio callback again. Fixes Bugzilla #3868.
fc60db86 2017-10-12 17:17:09 Fixed compiler warning
22b6df51 2017-10-12 14:46:28 Use the lower-case hex output to match other stack trace printouts
70791956 2017-10-12 14:44:54 Fixed compiler warning
5fc20176 2017-10-12 14:25:07 Fixed bug 3877 - missing SDLCALL in SDLTest_ExampleHitTestCallback Ozkan Sezer Following trivial patch adds missing SDLCALL to SDLTest_ExampleHitTestCallback()
41a60394 2017-10-12 14:20:17 Added missing file
21cd2df6 2017-10-12 14:02:24 Fixed compiler warning
ba10d2b6 2017-10-12 13:55:35 Fixed compiler warning
9c580e14 2017-10-12 13:44:28 Added functions to query and set the SDL memory allocation functions: SDL_GetMemoryFunctions() SDL_SetMemoryFunctions() SDL_GetNumAllocations()
1887c54c 2017-10-12 13:28:48 Fixed memory leak in Cocoa mouse code The video quit call cleans up the mouse cursor driver data, which happens after mouse quit
f4f9e39f 2017-10-12 08:41:11 Fixed bug 3874 - Compiler warnings SDL_Surface.c and SDL_cocoakeyboard.m
a7c79c5e 2017-10-12 08:37:55 Normalize touch events to the render viewport (thanks Sylvain!)
5bed4ca9 2017-10-12 08:27:22 Fixed divide by zero with a 1x1 sized window
0ce23a54 2017-10-12 08:08:04 Updated version to 2.0.7
bef0fec1 2017-10-12 14:28:05 make sure that SDL_malloc(0) or SDL_calloc(0,x) doesn't return NULL.
c0019b7f 2017-10-11 13:31:21 Fixed bug 3871 - Touch events are not normalised on X11 Trent Gamblin The documentation for SDL_TouchFingerEvent says that the x and y coordinates are normalised between 0-1. I've found that to be true on Windows, Android and iOS but on X11 they are in pixel coordinates. This patch fixes the issue. This was the cleanest way I could do it with what was available without changing things around a lot but you may know a better way.
b53c35df 2017-10-11 13:26:58 Fixed size in realloc
5e5f2290 2017-10-11 12:07:43 audio: Turns out the accumulation errors sound better. :/ Moving to double fixed the overflows, but using "time = i * incr" instead of "time += incr" causes clicks in the output.
9bd2c6b4 2017-10-11 11:51:14 audio: Moved the resampler state up to double precision. Fixes more buffer overflows.
b2f5123b 2017-10-11 11:43:35 audio: calculate resampling time directly, don't increment (thanks, Eric!). Fixes buffer overruns as floating point errors accumulate. Partially fixes Bugzilla #3848.
763c3871 2017-10-11 02:33:55 audio: clamp resampler interpolation values to prevent buffer overflow. Partially fixes Bugzilla #3848.
0085f917 2017-10-11 02:31:58 audio: Moved unchanging variable out of loop.
cb8bf6bb 2017-10-11 02:03:05 audio: Make sure audio stream resampling doesn't overflow buffers.
459e2b0b 2017-10-11 01:37:11 audio: Fixed check for minimum audio stream put size.
8446d4a0 2017-10-10 20:11:05 Changed overlapping memcpy to memmove
eb9e6938 2017-10-10 19:44:33 Fixed potentially calling a callback after it has been removed (and userdata possibly deleted)
903ff641 2017-10-10 22:31:02 audio: SDL_ResampleCVT() should use memmove instead of memcpy. This copy can overlap. Fixes Bugzilla #3849.
42fff7ce 2017-10-10 22:18:46 audio: Don't stack-allocate resampler padding. (I thought padding size ranged from 5 frames to ~30 frames (based around RESAMPLER_ZERO_CROSSINGS, which is 5), but it's actually between 512 and several thousands (based on RESAMPLER_SAMPLES_PER_ZERO_CROSSING)). It gets big fast when downsampling.
b647bd06 2017-10-10 17:41:41 The event filter and event watch functions are now thread-safe
84fb4893 2017-10-10 20:22:15 Check SDL_UDEV_DYNAMIC first, then SDL_UDEV_LIBS separately
37d89aa1 2017-10-10 16:12:56 audio: reworked audio streams to have right-hand resampling padding available. Fixes Bugzilla #3851.
d90fce3c 2017-10-10 11:10:15 Exposed the joystick locking functions for multi-threaded access to the joystick API
28149e11 2017-10-10 11:56:54 Added SDL_PeekIntoDataQueue().
2657dfae 2017-10-09 11:45:15 Fixed crash in SDL_IsGameController() on Windows if called when a controller is being removed
b120fb87 2017-10-08 10:59:03 Fixed bug 3865 - [PATCH] Support for GreenAsia Inc. PSX to USB converter as SDL_GameController Manuel I would like this small patch merged that adds support for my GreenAsia Inc. PSX to USB converter, so SDL_IsGameController() returns true when using this adaptor. It's interesting because PSX/PS2 controllers connected using this model won't be detected as gamecontrollers otherwise, only as joysticks.
d2a2b0c1 2017-10-07 15:26:55 Fixed bug 3857 - SDL_ConvertPixels misses YUV conversions Sylvain There are various YUV-RGB conversion coefficients, according to https://www.fourcc.org/fccyvrgb.php I choose the first (from Video Demystified, with integer multiplication), but the current SDL2 Dither functions use in fact the next one, which follows a specifications called CCIR 601. Here's a patch to use the second ones and with previous warning corrections. There are less multiplications involved because Chroma coefficient is 1. Also, doing float multiplication is as efficient with vectorization. In the end, the YUV decoding is faster: ~165 ms vs my previous 195 ms. Moreover, if SDL2 is compiled with -march=native, then YUV decoding time drops to ~130ms, while older ones remains around ~220 ms. For information, from jpeg-9 source code: jpeg-9/jccolor.c * YCbCr is defined per CCIR 601-1, except that Cb and Cr are * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. * The conversion equations to be implemented are therefore * Y = 0.29900 * R + 0.58700 * G + 0.11400 * B * Cb = -0.16874 * R - 0.33126 * G + 0.50000 * B + CENTERJSAMPLE * Cr = 0.50000 * R - 0.41869 * G - 0.08131 * B + CENTERJSAMPLE jpeg-9/jdcolor.c * YCbCr is defined per CCIR 601-1, except that Cb and Cr are * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5. * The conversion equations to be implemented are therefore * * R = Y + 1.40200 * Cr * G = Y - 0.34414 * Cb - 0.71414 * Cr * B = Y + 1.77200 * Cb
1bfe6d60 2017-10-06 21:43:59 Fixed restoring window size when coming out of fullscreen desktop mode. Use the style of the window as it will be, not as it currently is at the time of the AdjustWindowRect call.
e9652b19 2017-10-06 16:50:24 Fixed bug 3857 - SDL_ConvertPixels misses YUV conversions Sylvain Few issues with YUV on SDL2 when using odd dimensions, and missing conversions from/back to YUV formats. 1) The big part is that SDL_ConvertPixels() does not convert to/from YUV in most cases. This now works with any format and also with odd dimensions, by adding two internal functions SDL_ConvertPixels_YUV_to_ARGB8888 and SDL_ConvertPixels_ARGB8888_to_YUV (could it be XRGB888 ?). The target format is hard coded to ARGB888 (which is the default in the internal of the software renderer). In case of different YUV conversion, it will do an intermediate conversion to a ARGB8888 buffer. SDL_ConvertPixels_YUV_to_ARGB8888 is somehow redundant with all the "Color*Dither*Mod*". But it allows some completeness of SDL_ConvertPixels to handle all YUV format. It also works with odd dimensions. Moreover, I did some benchmark(SDL_ConvertPixel vs Color32DitherYV12Mod1X and Color32DitherYUY2Mod1X). gcc-6.3 and clang-4.0. gcc performs better than clang. And, with gcc, SDL_ConvertPixels() performs better (20%) than the two C function Color32Dither*(). For instance, to convert 10 times a 3888x2592 image, it takes ~195 ms with SDL_ConvertPixels and ~235 ms with Color32Dither*(). Especially because of gcc vectorize feature that optimises all conversion loops (-ftree-loop-vectorize). Nb: I put no image pitch for the YUV buffers. because it complexify a little bit the code and the API : There would be some ambiguity when setting the pitch exactly to image width: would it a be pitch of image width (for luma and chroma). or just contiguous data ? (could set pitch=0 for the later). 2) Small issues with odd dimensions: If width "w" is odd, luma plane width is still "w" whereas chroma planes will be "(w + 1)/2". Almost the same for odd h. Solution is to strategically substitute "w" by "(w+1)/2" at the good places ... - In the repository, SDL_ConvertPixels() handles YUV only if yuv source format is exactly the same as YUV destination format. It basically does a memcpy of pixels, but it's done incorrectly when width or height is odd (wrong size of chroma planes). This is fixed. - SDL Renderers don't support odd width/height for YUV textures. This is fixed for software, opengl, opengles2. (opengles 1 does not support it and fallback to software rendering). This is *not* fixed for D3D and D3D11 ... (and others, psp ?) Only *two* Dither function are fixed ... not sure if others are really used. - This is not possible to create a NV12/NV12 texture with the software renderer, whereas other renderers allow it. This is fixed, by using SDL_ConvertPixels underneath. - It was not possible to SDL_UpdateTexture() of format NV12/NV21 with the software renderer. this is fixed. Here's also two testcases: - that do all combination of conversion. - to test partial UpdateTexture
d9e1036e 2017-10-06 16:17:50 Fixed potential overflow in surface allocation (thanks Yves!)
312da262 2017-10-05 09:37:28 Fixed bug 3854 - arguments to dbus_type_is_basic() were incorrect Aaron As of 2.0.6, all of my games are failing with the following error: process 31778: arguments to dbus_type_is_basic() were incorrect, assertion "dbus_type_is_valid (typecode) || typecode == DBUS_TYPE_INVALID" failed in file dbus-signature.c line 322. This is normally a bug in some application using the D-Bus library. D-Bus not built with -rdynamic so unable to print a backtrace (patch by Ozkan Sezer)
db20e71d 2017-10-02 10:50:33 Fixed bug 3855 - Memory leak in SDL_FreeSurface
e564da78 2017-09-29 10:15:44 revert files I didnt mean to commit!
e27f12e0 2017-09-29 10:07:37 wayland: Fix bug 3814 -Wmissing-field-initializers
aad58c62 2017-09-29 07:44:30 Fixed bug 3852 - SDL_FreeSurface deallocates surface->map even if the surface is not yet freed Evgeny Kapun Commit 490bb5b49f11 [1], which was a fix for bug #3790, introduced a new bug: now, calling SDL_FreeSurface(surface) deallocates surface->map even if there are other references to the surface. This is bad, because some functions (such as SDL_ConvertSurface) assume that surface->map is not NULL.
54685787 2017-09-26 15:07:35 Fixed bug 3847 - Hit Test x coordinate wrong on secondary monitor Robert Turner SDL_windowsevents.c contains code to retrieve the x and y coordinate for a requested hit test. It does this as follows: POINT winpoint = { (int) LOWORD(lParam), (int) HIWORD(lParam) }; LOWORD(lParam) does not correctly mask off high bits that are set if the point is on a second (or third, etc.) monitor. This effectively offsets the x-coordinate by a large value. MSDN documentation suggests that LOWORD() and HIWORD() are the wrong macros for the task, instead suggesting we should be doing something like the following: POINT winpoint = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; Testing this change on my Windows 10 machine with 2 monitors gives the correct results.
fb071a4c 2017-09-25 20:49:31 Mac: Fix the menu bar not always working for non-.app-bundled apps. Fixes bug #3051.
099ae43e 2017-09-22 22:28:21 audio: Fixed compiler warning on Visual Studio.
58d1c54d 2017-09-22 17:32:05 Fixed spacing
0fea9164 2017-09-22 17:29:32 Added an example for SDL_SetWindowHitTest() when you create a borderless resizable window.
fe6b8f1c 2017-09-22 11:25:52 Fixed Mac OS X build
407e1693 2017-09-22 11:15:14 Fixed audio being silent on older iOS devices Tested on an iPod running iOS 6.1
5ab5c9b7 2017-09-22 08:56:09 Avoid duplicate joystick axis events
d74c00e6 2017-09-22 08:51:45 Fixed memory leak when HAVE_ALLOCA isn't defined
2fd52351 2017-09-22 08:32:31 Added stubs for simple Steam Controller support
d8286479 2017-09-22 08:30:52 Added stubs for simple Steam Controller support
53b2c91d 2017-09-22 08:30:46 Separated out SDL Android java code so audio, controller, and filesystem APIs can be used independently of the SDL activity, in Qt apps for example.
ad86eff1 2017-09-22 08:30:37 Guarded EGL code with SDL_VIDEO_OPENGL_EGL
499f928c 2017-09-22 07:15:41 borderless windows will have WM_NCCALCSIZE return 0 for the non-client area. When this happens, it looks like windows will send a resize message expanding the window client area to the previous window + chrome size, so shouldn't need to adjust the window size for the set styles.
3176a7f5 2017-09-22 07:11:36 sdl - Fixing rendering borderless window. Need to force windows to send a WM_NCCALCSIZE then return 0 for non-client area size. - Adding WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX to borderless windows, for reasons noted in comments. - Fix SetupWindowData() setting SDL_WINDOW_BORDERLESS. This was being cleared at window creation, causing hanlding for the first WM_NCCALCSIZE message to fail
59d17bde 2017-09-22 22:30:02 Avoid hitting ERR_MAX_STRLEN limit.
6d206a7b 2017-09-22 07:42:24 audio: Stream resampling now saves some samples from previous run for padding. Previously, the padding was silence, which was a problem when streaming since you would sample a little bit of this silence between each buffer. We still need a means to get padding data for the right hand side, but this patch makes the resampler output more correct.
466ba57d 2017-09-21 18:38:07 [egl/mir] Need eglGetProc to find gl 4.5 core profile extensions
e5cfb58f 2017-09-21 20:30:25 iOS MoltenVK code style cleanup.
b3ac0b6f 2017-09-21 14:48:03 A hint with an empty string should be treated as the default value
eaab6098 2017-09-21 10:29:17 Only apply the jitter filter to prevent unexpected motion on axes that haven't been touched.