|
5f341620
|
2019-05-19T12:06:58
|
|
Fixed bug 4474 - Add support for an ASUS Gamepad variation
Trent Gamblin
This patch adds a variation of the ASUS Gamepad to the game controller DB. All the values are the same except the GUID.
|
|
41c718db
|
2019-05-19T12:04:06
|
|
Fixed bug 4469 - make SDL_CreateTextureFromSurface pick a more appropriate format
Sylvain
Currently SDL_CreateTextureFromSurface picks first valid format, and do a conversion.
format = renderer->info.texture_formats[0];
for (i = 0; i < renderer->info.num_texture_formats; ++i) {
if (!SDL_ISPIXELFORMAT_FOURCC(renderer->info.texture_formats[i]) &&
SDL_ISPIXELFORMAT_ALPHA(renderer->info.texture_formats[i]) == needAlpha) {
format = renderer->info.texture_formats[i];
break;
It could try to find a better format, for instance :
if SDL_Surface has no Amask, but a colorkey :
if surface fmt is RGB888, try to pick ARGB8888 renderer fmt
if surface fmt is BGR888, try to pick ABGR8888 renderer fmt
else
try to pick the same renderer format as surface fmt
if no format has been picked, use the fallback.
I think it goes with bug 4290 fastpath BlitNtoN
when you expand a surface with pixel format of size 24 to 32, there is a fast path possible.
So with this issue:
- if you have a surface with colorkey (RGB or BGR, not palette), it takes a renderer format where the conversion is faster.
(it avoids, if possible, RGB -> ABGR which means switching RGB to BGR)
- if you have a surface ABGR format, it try to take the ABGR from the renderer.
(it avoids, if possible, ABGR -> ARGB, which means switch RGB to BGR)
|
|
c377de54
|
2019-05-19T11:56:26
|
|
Fixed bug 4436 - [OpenBSD] fix D-pad
Thomas Frohwein
Hi,
If a gamepad lists the Dpad as 4 buttons (Dpad Up,Down, Left, Right) like with the Xbox 360 gamepad / XInput report descriptor used by OpenBSD (https://github.com/openbsd/src/blob/master/sys/dev/usb/uhid_rdesc.h#L184), this is not recognized by the SDL BSD backend and no hat or any other listing for the D-pad exists, e.g. in sdl2-jstest (https://gitlab.com/sdl-jstest/sdl-jstest).
The attached diff fixes this and makes the D-pad on my Xbox 360 and Logitech F310 controllers usable. It adds a hat to nhats when usage HUG_DPAD_UP is found, reads the state of the D-pad buttons into array dpad[], and turns the value of dpad[] into an SDL hat direction (dpad_to_sdl()).
Tested and works with Xbox 360 controller and Logitech F310 in XInput mode. Software-side tested with sdl2-jstest and Owlboy where this worked without problems or regressions.
I don't know if this would be applicable to other *BSDs and don't have an install to test it with, therefore wrapped it in __OpenBSD__ ifdefs.
Thanks,
thfr
|
|
ee0a482a
|
2019-05-19T11:52:25
|
|
Fixed bug 4401 - SDL_GetWindowPosition() wrong after SDL_SetWindowPosition() until window is moved on macOS
Removed incorrect call to SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, x, y);
If the position of the window isn't adjusted in the SetWindowPosition() call, then sending the window event would have no effect because x and y equals the window x and y. If the position of the window is adjusted in the SetWindowPosition() call, then we don't want to clobber it with values that the user passed in.
|
|
2ee9b1dd
|
2019-05-19T11:01:36
|
|
Fixed bug 4025 - SDL_Renderer OpenGL : add support for textures ABGR, RGB, BGR
Sylvain
OpenGLES2 SDL renderer has support for textures ARGB, ABGR, RGB and BGR, whereas OpenGL SDL renderer only had ARGB.
If you think it's worth adding it, here's a patch. I quickly tried and it worked, but there may be missing things or corner case.
|
|
8dea23c7
|
2019-05-19T10:44:14
|
|
Fixed bug 3911 - SYSWM generic X11 events missing event data
Andrei Drexler
For X11 GenericEvents, the associated data is only available between a call to XGetEventData and the matching XFreeEventData, i.e. in X11_HandleGenericEvent. Trying to call XGetEventData a second time on the same event will fail, so an application that wants to inspect XInput2 events (e.g. for stylus pressure) has no way of retrieving its data from queued SYSWM events.
The attached patch (based on SDL-2.0.7-11629) sends SYSWM messages from X11_HandleGenericEvent while the data is still available, allowing client code to register an event filter/watcher and process the event inside the callback.
|
|
29f34453
|
2019-05-19T10:36:44
|
|
video: Add Vulkan support for vivante fb
Vivante drivers use the VK_KHR_display extension for rendering directly
to the frame buffer. This patch adds support to the video driver for
Vulkan rendering using that method.
- Add an utility function SDL_Vulkan_Display_CreateSurface that creates
a surface using this extension. The display to use (if there are
multiple) can be overridden using the environment variable
"SDL_VULKAN_DISPLAY".
- Use this function in a new compilation unit SDL_vivantevideo.c,
which implements the SDL_VIDEO_VULKAN methods of the driver structure.
|
|
00e5eeb4
|
2019-05-19T01:45:15
|
|
test: added SDLTest_CommonDefaultArgs()
This is for test apps that don't need custom command line arguments; it lets
us reduce the boilerplate code a tiny bit.
|
|
62a57970
|
2019-05-15T14:01:15
|
|
Windows are not in a minimized state when they are shown
This fixes https://github.com/ValveSoftware/steam-for-linux/issues/4313
"Exiting game a in Steam Big Picture Mode gets semi-windowed BPM"
|
|
abcfe804
|
2019-05-14T14:20:54
|
|
[SDL] iOS fix bug with audio interrupted by a phone call not restoring.
|
|
59da5b72
|
2019-05-14T07:55:42
|
|
[SDL] ios Touch Fix.
|
|
ba0fc92d
|
2019-05-11T12:41:21
|
|
Patched to compile.
|
|
6eb05211
|
2019-05-09T12:09:45
|
|
Emscripten: Use EMSCRIPTEN_EVENT_TARGET_*
|
|
4e5b5cba
|
2019-05-09T12:09:40
|
|
Emscripten: Switch from canvas[XY] to target[XY]
Allows mouse/touch events to work on non-default canvases
|
|
60c48ed7
|
2019-05-09T12:09:34
|
|
Emscripten: Store canvas id in WindowData
Also replace all hardcoded uses of "#canvas" or NULL
|
|
f0a4fea8
|
2019-04-25T14:17:07
|
|
Fixed bug 4608 - Android: not getting SDL_WINDOWEVENT_FOCUS_GAINED on start of our app
Dan Ginsburg
I've seen this on several devices including Moto Z running Android 7 and a Snapdragon 845 running Android 9.
What happens is as follows:
SDLActivity.onWindowFocusChanged(true) happens pretty early on, but it's before we've done SDL_CreateWindow and so Android_Window is 0x0 thus this message does not get sent:
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeFocusChanged)(
JNIEnv *env, jclass cls, jboolean hasFocus)
{
SDL_LockMutex(Android_ActivityMutex);
if (Android_Window) {
__android_log_print(ANDROID_LOG_VERBOSE, "SDL", "nativeFocusChanged()");
SDL_SendWindowEvent(Android_Window, (hasFocus ? SDL_WINDOWEVENT_FOCUS_GAINED : SDL_WINDOWEVENT_FOCUS_LOST), 0, 0);
}
SDL_UnlockMutex(Android_ActivityMutex);
}
When the window does get created, in Android_CreateWindow it does this:
window->flags &= ~SDL_WINDOW_RESIZABLE; /* window is NEVER resizeable */
window->flags &= ~SDL_WINDOW_HIDDEN;
window->flags |= SDL_WINDOW_SHOWN; /* only one window on Android */
window->flags |= SDL_WINDOW_INPUT_FOCUS; /* always has input focus */
/* One window, it always has focus */
SDL_SetMouseFocus(window);
SDL_SetKeyboardFocus(window);
The SDL_SetKeyboardFocus does send an SDL_WINDOWEVENT_FOCUS_GAINED message, but it gets eaten in SDL_SendWindowEvent because we've forced SDL_WINDOW_INPUT_FOCUS beforehand:
case SDL_WINDOWEVENT_FOCUS_GAINED:
if (window->flags & SDL_WINDOW_INPUT_FOCUS) {
return 0;
}
window->flags |= SDL_WINDOW_INPUT_FOCUS;
SDL_OnWindowFocusGained(window);
break;
I can fix the problem if I comment out this line from Android_CreateWindow:
window->flags |= SDL_WINDOW_INPUT_FOCUS; /* always has input focus */
I would propose that as a fix unless there is a reason not to.
|
|
f79190f4
|
2019-04-23T07:59:31
|
|
Use _Exit() when available
|
|
2c92c8e8
|
2019-04-23T14:24:58
|
|
Android: add static variable initialization in non blocking event loop
|
|
cb18117c
|
2019-04-22T16:34:42
|
|
Added a helper function to tell whether or not a window can be minimized
|
|
f1b57f37
|
2019-04-22T16:25:49
|
|
Only leave fullscreen mode if we're actually going to minimize
|
|
9950271b
|
2019-04-22T16:19:52
|
|
Fixed bug 4580 - Android 8: immersive fullscreen notification causes flickering between fullscreen and non-fullscreen and app is unresponsive
Sylvain 2019-04-18 21:22:59 UTC
Changes:
- SDL_WINDOWEVENT_FOCUS_GAINED and SDL_WINDOWEVENT_FOCUS_LOST are sent when the java method onWindowFocusChanged() is called.
- If we have support for MultiWindow (eg API >= 24), SDL event loop is blocked/un-blocked (or simply egl-backed-up or not), when java onStart()/onStop() are called.
- If not, this behaves like now, SDL event loop is blocked/un-blocked when onPause()/onResume() are called.
So if we have two app on screen and switch from one to the other, only FOCUS events are sent (and onPause()/onResume() are called but empty. onStart()/onStop() are not called).
The SDL app, un-focused, would still continue to run and display frames (currently the App would be displayed, but paused).
Like a video player app or a chronometer that would still be refreshed, even if the window hasn't the focus.
It should work also on ChromeBooks (not tested), with two apps opened at the same time.
I am not sure this fix Dan's issue. Because focus lost event triggers Minimize function (which BTW is not provided on android).
https://hg.libsdl.org/SDL/file/bb41b3635c34/src/video/SDL_video.c#l2653
https://hg.libsdl.org/SDL/file/bb41b3635c34/src/video/SDL_video.c#l2634
So, in addition, it would need to add by default SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS to 0.
So that the lost focus event doesn't try to minimize the window. And this should fix also the issue.
|
|
90b08881
|
2019-04-17T20:41:05
|
|
iOS: Remove code trying to support compilation on the iOS 7 SDK, the deployment target has been set to iOS 8 for years and there's other unconditionally compiled code that depends on newer SDKs so that code is useless.
|
|
9d7b2615
|
2019-04-17T20:14:40
|
|
macOS: Fix compilation when using the 10.9 SDK or older.
|
|
bd344c22
|
2019-04-12T23:15:26
|
|
Android: when event loop is not blocking in pause, backup EGL context (Bug 4578)
Backup the EGL context when SDL_APP_DIDENTERBACKGROUND has been removed from the
event queue.
|
|
00c824a8
|
2019-04-10T22:30:58
|
|
Fix disabling OpenGL vsync on macOS 10.14.4+ (bug #4575).
|
|
aae49015
|
2019-04-10T10:59:53
|
|
Fixed bug 4581 - generate synthetic mouse events at window boundaries
when real touch events are actually outside the window.
|
|
cfefe543
|
2019-04-08T21:27:24
|
|
Fixed bug 4581 - mouse events with SDL_TOUCH_MOUSEID make window lost focus
Virtual mouse events should never leave the window or change focus for single window applications.
|
|
d68e501d
|
2019-04-08T13:43:48
|
|
Fixed bug 4582 - Maximize/Resize not working on Windows 10
When viewport is set, projectionAndView changes, but ID3D11DeviceContext_UpdateSubresource was not called.
|
|
eb7affee
|
2019-04-06T21:52:51
|
|
SDL_HINT_MOUSE_TOUCH_EVENTS: move tracking appart in case of 'window' is null
|
|
a1a9fd50
|
2019-04-06T21:43:16
|
|
Bug 4581: move tracking appart so it doesn't require the window to have focus
|
|
a46af76b
|
2019-04-05T08:15:01
|
|
Fixed bug 4579 - SDL_android.c s_active not being atomic
Isaias Brunet
This bug cause a false assert due to multiple threads modifying the same variable without any atomic operation.
|
|
9eac91dd
|
2019-04-05T08:10:12
|
|
Set SDL_HINT_MOUSE_TOUCH_EVENTS for iPhone and iPad as well
|
|
b6f33a68
|
2019-04-05T07:51:11
|
|
https://bugzilla.libsdl.org/show_bug.cgi?id=4577
SDL_GetWindowDisplayMode was returning an incorrect result on iPhone Plus devices (tested on iOS 12.1/12.2). The problem was that the value returned by UIScreenMode was assumed to be the physical pixels on the display, rather than the scaled retina pixels. The fix is to use the scale returned by UIScreen.scale rather than the nativeScale.
|
|
05333a6e
|
2019-04-05T09:16:30
|
|
Android: add hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE
to set whether the event loop will block itself when the app is paused.
|
|
b470cd9b
|
2019-04-05T08:36:31
|
|
Android: default SDL_HINT_MOUSE_TOUCH_EVENTS to 1 as previous behaviour
|
|
bfdd0b22
|
2019-04-04T17:01:02
|
|
Android: remove SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH
java layer runs as if separate mouse and touch was 1,
Use SDL_HINT_MOUSE_TOUCH_EVENTS and SDL_HINT_TOUCH_MOUSE_EVENTS
for generating synthetic touch/mouse events
|
|
e4157618
|
2019-04-04T16:51:50
|
|
Add hint SDL_HINT_MOUSE_TOUCH_EVENTS for mouse events to generate touch events
controlling whether mouse events should generate synthetic touch events
By default SDL will *not* generate touch events for mouse events
|
|
ab03892d
|
2019-04-04T15:19:00
|
|
Bug 4576: track both FingerId and TrackId
|
|
e39c0a1f
|
2019-04-03T10:14:42
|
|
Bug 4576: fix wrong scaling
|
|
236b8606
|
2019-04-02T18:07:27
|
|
Bug 4576: one more warning
|
|
b45abbb2
|
2019-04-02T17:57:27
|
|
Bug 4576: fix warning and compile
|
|
9b3c2258
|
2019-04-02T17:23:55
|
|
Bug 4576: remove touch/mouse duplication for Android
|
|
9d28156f
|
2019-04-02T17:18:47
|
|
Bug 4576: remove touch/mouse duplication for IOS
|
|
42de5f97
|
2019-04-02T17:13:22
|
|
Bug 4576: remove touch/mouse duplication for WinRT
|
|
b086edc9
|
2019-04-02T17:10:29
|
|
Bug 4576: remove touch/mouse duplication for Emscripten
|
|
b8e5c561
|
2019-04-02T17:07:54
|
|
Bug 4576: remove touch/mouse duplication for Wayland
|
|
6bc2d9de
|
2019-04-02T17:03:58
|
|
Bug 4576: remove touch/mouse duplication for linux/EVDEV
|
|
1a4c3b57
|
2019-04-02T16:58:11
|
|
Bug 4576: remove touch/mouse duplication for Windows
|
|
a3f2c446
|
2019-04-02T16:46:17
|
|
Bug 4576: handle mapping of TouchEvents to MouseEvents at higher level
|
|
9a8d5215
|
2019-03-27T08:17:05
|
|
Handle potentially calling SDL_JoystickUpdate() and SDL_JoystickQuit() at the same time.
|
|
2fbfe8b9
|
2019-03-25T12:59:30
|
|
coreaudio: Set audio callback thread priority.
Fixes Bugzilla #4155.
|
|
6a3356ab
|
2019-03-25T12:24:38
|
|
Backed out changeset cec31de4e126
This was meant to migrate CoreAudio onto the same SDL_RunAudio() path that
most other audio drivers are on, but it introduced a bug because it doesn't
deal with dropped audio buffers...and fixing that properly just introduces
latency.
I might revisit this later, perhaps by reworking SDL_RunAudio to allow for
this sort of API better, or redesigning the whole subsystem or something, I
don't know. I'm not super-thrilled that this has to exist outside of the usual
codepaths, though.
Fixes Bugzilla #4481.
|
|
8ab698af
|
2019-03-21T10:39:49
|
|
opengles2: Fix static analysis warning.
Not clear if this could ever dereference NULL in real life, but better safe
than sorry!
|
|
01c924fa
|
2019-03-19T17:20:54
|
|
Hopefully fixed the mingw32 build
|
|
deb7d08c
|
2019-03-19T17:05:22
|
|
Fixed Visual Studio build
|
|
ac23d78f
|
2019-03-19T16:53:55
|
|
Didn't need to add SDL_windows.h include, that was already included
|
|
b2e76d86
|
2019-03-19T16:52:09
|
|
Fixed Windows RT build
|
|
de82759c
|
2019-03-19T07:53:33
|
|
Added support for building SDL as a dynamic library on iOS
|
|
f07c992b
|
2019-03-17T12:36:40
|
|
hidapi: Add GCN L/R buttons, just in case someone wants them...
|
|
6311c7cf
|
2019-03-16T19:08:59
|
|
emscripten: force resize event when pixel ratio changes
Without this, applications can't react to changed canvas size on window zoom.
|
|
b8bd0aa0
|
2019-03-16T19:07:34
|
|
Fixed bug 4450 - SDL_mouse.c fails to compile with CMake generated Visual Studio files if SDL_VIDEO_VULKAN 0/undefined
Max Waine
SDL_mouse.c, if compiled for Windows, requires GetDoubleClickTime to compile (available from winuser.h). Without Vulkan present this fails to compile as the include chain for winuser.h is the following.
SDL_mouse.c -> SDL_sysvideo.h -> SDL_vulkan_internal.h -> SDL_windows.h -> windows.h -> winuser.h.
Problem is that SDL_vulkan_internal.h doesn't include SDL_windows.h if Vulkan isn't present, so under MinGW/GCC it will give a -Wimplicit-function-declaration warning for GetDoubleClickTime, and under MSVC fails to compile completely.
The solution to this would be to simplify the include chain: including SDL_windows.h under the same condition as GetDoubleClickTime (#ifdef __WIN32__) in SDL_mouse.c (or another file that isn't quite so indirectly included).
|
|
faf97978
|
2019-03-16T19:03:13
|
|
Fixed bug 4511 - SDL_gamecontrollerdb Mapping for Sony Playstation USB controller
Renaud Lepage
Simply submitting a new mapping.
|
|
35255342
|
2019-03-16T18:48:21
|
|
Fixed bug 4525 - Fix crash in ALSA_HotplugThread caused by bad return value check
Anthony Pesch
Fix snd_device_name_hint return value check
According to the ALSA documentation, snd_device_name_hint returns 0 on
success, otherwise a negative error code. The code previously only
considered -1 to be an error, which let other error codes through
resulting in a segfault when hints (which was NULL) was dereferenced
|
|
8bc59f87
|
2019-03-16T18:34:33
|
|
Fixed CVE-2019-7635 and bug 4498 - Heap-Buffer Overflow in Blit1to4 pertaining to SDL_blit_1.c
Petr Pisar
The root cause is that the POC BMP file declares 3 colors used and 4 bpp palette, but pixel at line 28 and column 1 (counted from 0) has color number 3. Then when the image loaded into a surface is passed to SDL_DisplayFormat(), in order to convert it to a video format, a used bliting function looks up a color number 3 in a 3-element long color bliting map. (The map obviously has the same number entries as the surface format has colors.)
Proper fix should refuse broken BMP images that have a pixel with a color index higher than declared number of "used" colors. Possibly more advanced fix could try to relocate the out-of-range color index into a vacant index (if such exists).
|
|
0f148eb6
|
2019-03-16T18:12:26
|
|
Fix polling left trigger reporting right trigger's values.
|
|
58ca76be
|
2019-03-16T18:11:09
|
|
Fix DirectInput error codes being lost
|
|
12c5cda6
|
2019-03-16T00:08:19
|
|
Fix compiler warnings.
|
|
f95ca7bb
|
2019-03-15T16:13:19
|
|
events: Disable all the signal-handling code on platforms without support.
So on Windows, for example, this mostly becomes a few empty functions.
|
|
8a5a05c1
|
2019-03-15T15:51:05
|
|
events: Let arbitrary signals to simulate iOS/Android backgrounding events.
This lets you build a custom embedded device that roughly offers the "this
process is going to the background NOW" semantics of SDL on a mobile device.
|
|
911bf624
|
2019-03-15T14:08:30
|
|
events: Make debug logging of the event queue a hint instead of an #ifdef.
This makes it easy to toggle it on when debugging a new platform (or just
getting more visibility into an app) without having to rebuild SDL.
|
|
cbe80d47
|
2019-03-13T14:54:51
|
|
KMSDRM: valid file descriptors could positive or 0. -1 is invalid. (Bug 4530)
|
|
063c0c2a
|
2019-03-13T09:39:30
|
|
Android: check SDL is initialized before sending the event
Avoid error message:
SDLActivity thread ends (error=Video subsystem has not been initialized)
|
|
c5286156
|
2019-03-12T20:27:54
|
|
hidapi: Add support for Wii U/Switch USB GameCube controller adapter.
Note that a single USB device is responsible for all 4 joysticks, so a large
rewrite of the DeviceDriver functions was necessary to allow a single device to
produce multiple joysticks.
|
|
82758efc
|
2019-03-12T14:45:04
|
|
[iOS DAC] Fix touch events getting from SDL2 to source2.
|
|
d05eec72
|
2019-03-12T14:44:25
|
|
Fixed initial display orientation at Android app start
|
|
1a8e3a02
|
2019-03-12T14:44:12
|
|
HIDAPI: fix bug that caused non-HID class parts of composite devices to have windows HID functions called on them.
|
|
cddb285c
|
2019-03-12T20:04:08
|
|
Fixed bug 4513 - Wayland, fix crash when remove event is sent (from Sebastian Krzyszkowiak)
|
|
052b4f29
|
2019-03-12T14:20:37
|
|
SDL_EVDEV_kbd_init: uninitialized data for ioctl (Bug 4530)
Only two chars are used but the full prototype is:
int tioclinux(struct tty_struct *tty, unsigned long arg)
==5010== Syscall param ioctl(TIOCLINUX) points to uninitialised byte(s)
==5010== at 0x53E73C7: ioctl (syscall-template.S:78)
==5010== by 0x4A887DA: SDL_EVDEV_Init (SDL_evdev.c:163)
==5010== by 0x4A7D157: KMSDRM_VideoInit (SDL_kmsdrmvideo.c:509)
==5010== by 0x497D959: SDL_VideoInit_REAL (SDL_video.c:529)
==5010== by 0x487ACBC: SDL_InitSubSystem_REAL (SDL.c:171)
==5010== by 0x487B052: SDL_Init_REAL (SDL.c:256)
==5010== by 0x488F7D6: SDL_Init (SDL_dynapi_procs.h:85)
|
|
b28e956b
|
2019-03-12T07:59:53
|
|
Fixed bug 4542 - Image flipped vertically when rendering on texture
Have to recompute viewport because projection/glOrtho is different
wether rendering is on target texture or not
|
|
28f54ee4
|
2019-03-11T15:31:46
|
|
SDL_MouseQuit(): clear mouse->cur_cursor (Bug 4530)
|
|
7b275942
|
2019-03-11T15:27:42
|
|
KMSDRM: missing return value in VideoInit() (Bug 4530)
|
|
3b49ee52
|
2019-03-11T15:22:40
|
|
KMSDRM: change calls free() to SDL_free() (Bug 4529)
|
|
2fd4aee1
|
2019-02-23T09:36:56
|
|
Un-activate some routine on mips because they are slowers (Bug 4503)
|
|
47fb781b
|
2019-02-22T09:30:45
|
|
BlitNtoN BlitNtoNKey: remove non-aligned word read/store (bpp 3<->4) (Bug 4503)
Mips and (old) ARM doesn't allow word read/write when adress isn't 4bytes
aligned. So just remove that.
|
|
6fbe9e23
|
2019-02-19T23:46:54
|
|
raspberry: expose second display.
This lets apps see and choose between both an HDMI and DSI-connected display,
such as a television and the Pi Foundation's official touchscreen. It only
exposes the second display if the hardware reports that it is connected.
|
|
90a075d7
|
2019-02-18T22:48:14
|
|
Fix windows build
|
|
e9a7b697
|
2019-02-18T22:06:53
|
|
Fix bug 4053: Blit issues on Big Endian CPU
|
|
ea4c4cfc
|
2019-02-18T07:50:33
|
|
Fixed bug 4500 - Heap-Buffer Overflow in Map1toN pertaining to SDL_pixels.c
Petr Pisar
The reproducer has these data in BITMAPINFOHEADER:
biSize = 40
biBitCount = 8
biClrUsed = 131075
SDL_LoadBMP_RW() function passes biBitCount as a color depth to SDL_CreateRGBSurface(), thus 256-color pallete is allocated. But then biClrUsed colors are read from a file and stored into the palette. SDL_LoadBMP_RW should report an error if biClrUsed is greater than 2^biBitCount.
|
|
afd1b3da
|
2019-02-17T16:20:23
|
|
Fix invalid memory access and optimise Blit_3or4_to_3or4__*
Fix invalid write at last pixel of the surface:
when surface has no padding (pitch == w * bpp) and bpp is 3
with Blit, no colorkey, and NO_ALPHA same or inverse rgb triplet
Optimise by using int32 access:
BGR24 -> ARGB8888 : faster x1.897875 (362405 -> 190953)
RGB24 -> ABGR8888 : faster x1.660416 (363304 -> 218803)
ABGR8888 -> RGB24 : faster x1.686319 (334962 -> 198635)
ARGB8888 -> BGR24 : faster x1.691868 (324524 -> 191814)
BGR24 -> RGB888 : faster x1.678459 (326811 -> 194709)
BGR888 -> RGB24 : faster x1.731772 (327724 -> 189242)
RGB24 -> BGR888 : faster x1.690989 (328916 -> 194511)
RGB888 -> BGR24 : faster x1.698333 (326175 -> 192056)
|
|
b6a45f1a
|
2019-02-14T20:46:58
|
|
Fixed DualShock 3 mapping
|
|
1aa2ad2f
|
2019-02-09T17:40:32
|
|
Better naming for the blit permutation variables
|
|
f6a2ae60
|
2019-02-09T17:20:53
|
|
Faster blit colorkey or not, applied to bpp: 3->4 and 4->3
===== BlitNtoNKey ========
ABGR8888 -> BGR24 : faster x3 (2168709 -> 562738)
ABGR8888 -> RGB24 : faster x3 (2165055 -> 567458)
ARGB8888 -> BGR24 : faster x3 (2169109 -> 564338)
ARGB8888 -> RGB24 : faster x3 (2165266 -> 567081)
BGR24 -> ABGR8888 : faster x3 (2997675 -> 891636)
BGR24 -> ARGB8888 : faster x3 (2985449 -> 892028)
BGR24 -> BGR888 : faster x3 (2961611 -> 891913)
BGR24 -> BGRA8888 : faster x3 (3116305 -> 891534)
BGR24 -> BGRX8888 : faster x3 (3179654 -> 896978)
BGR24 -> RGB888 : faster x3 (2968191 -> 895112)
BGR24 -> RGBA8888 : faster x3 (2998428 -> 893147)
BGR24 -> RGBX8888 : faster x3 (2976529 -> 914853)
BGR888 -> BGR24 : faster x3 (2161906 -> 563921)
BGR888 -> RGB24 : faster x3 (2168228 -> 566634)
BGRA8888 -> BGR24 : faster x4 (2270501 -> 561873)
BGRA8888 -> RGB24 : faster x3 (2163179 -> 567330)
BGRX8888 -> BGR24 : faster x3 (2162911 -> 562322)
BGRX8888 -> RGB24 : faster x3 (2169617 -> 570927)
RGB24 -> ABGR8888 : faster x3 (2977061 -> 925975)
RGB24 -> ARGB8888 : faster x3 (2978148 -> 923680)
RGB24 -> BGR888 : faster x3 (3001413 -> 935074)
RGB24 -> BGRA8888 : faster x3 (2959003 -> 924096)
RGB24 -> BGRX8888 : faster x3 (2965240 -> 927100)
RGB24 -> RGB888 : faster x3 (2983921 -> 926063)
RGB24 -> RGBA8888 : faster x3 (2963908 -> 925457)
RGB24 -> RGBX8888 : faster x3 (2967957 -> 931700)
RGB888 -> BGR24 : faster x3 (2173299 -> 563226)
RGB888 -> RGB24 : faster x3 (2218374 -> 566164)
RGBA8888 -> BGR24 : faster x3 (2166355 -> 561381)
RGBA8888 -> RGB24 : faster x3 (2170322 -> 566729)
RGBX8888 -> BGR24 : faster x3 (2168524 -> 564072)
RGBX8888 -> RGB24 : faster x3 (2163680 -> 566956)
===== BlitNtoN ========
BGR24 -> BGRA8888 : faster x3 (2458958 -> 797557)
BGR24 -> BGRX8888 : faster x3 (2486085 -> 797745)
BGR24 -> RGBA8888 : faster x3 (2422116 -> 797637)
BGR24 -> RGBX8888 : faster x3 (2454426 -> 799085)
BGRA8888 -> BGR24 : faster x4 (2468206 -> 524486)
BGRA8888 -> RGB24 : faster x4 (2463581 -> 525561)
BGRX8888 -> BGR24 : faster x4 (2583355 -> 524468)
BGRX8888 -> RGB24 : faster x4 (2477242 -> 524284)
RGB24 -> BGRA8888 : faster x2 (2453414 -> 818415)
RGB24 -> BGRX8888 : faster x3 (2414915 -> 800863)
RGB24 -> RGBA8888 : faster x3 (2461114 -> 798148)
RGB24 -> RGBX8888 : faster x3 (2400922 -> 799203)
RGBA8888 -> BGR24 : faster x4 (2494472 -> 526428)
RGBA8888 -> RGB24 : faster x4 (2462260 -> 526791)
RGBX8888 -> BGR24 : faster x4 (2541115 -> 524390)
RGBX8888 -> RGB24 : faster x4 (2469059 -> 525416)
|
|
604b44f2
|
2019-02-08T17:15:30
|
|
Fix wrong access and simplify
|
|
5ed30f84
|
2019-02-07T22:45:50
|
|
Some simplification of previous commit
|
|
5fd22892
|
2019-02-07T22:03:30
|
|
Faster blit with CopyAlpha, no ColorKey
Applied to following formats:
ABGR8888 -> BGRA8888 : faster x3 (2727179 -> 704761)
ABGR8888 -> RGBA8888 : faster x3 (2707808 -> 705309)
ARGB8888 -> BGRA8888 : faster x3 (2745371 -> 712437)
ARGB8888 -> RGBA8888 : faster x3 (2746230 -> 705236)
BGRA8888 -> ABGR8888 : faster x3 (2745026 -> 707045)
BGRA8888 -> ARGB8888 : faster x3 (2752760 -> 727373)
BGRA8888 -> RGBA8888 : faster x3 (2769544 -> 704607)
RGBA8888 -> ABGR8888 : faster x3 (2725058 -> 706669)
RGBA8888 -> ARGB8888 : faster x3 (2704866 -> 707132)
RGBA8888 -> BGRA8888 : faster x3 (2710351 -> 704615)
|
|
704e62bb
|
2019-02-07T21:49:24
|
|
Code factorization of the pixel format permutation
|
|
0a007a9b
|
2019-02-07T18:52:49
|
|
Fix wrong comment
|
|
e5192384
|
2019-02-07T18:51:14
|
|
Faster blit with no ColorKey
Applied to following formats:
ABGR8888 -> BGRX8888 : faster x5 (3177493 -> 630439)
ABGR8888 -> RGBX8888 : faster x5 (3178104 -> 628925)
ARGB8888 -> BGRX8888 : faster x4 (3141089 -> 629448)
ARGB8888 -> RGBX8888 : faster x5 (3216413 -> 630465)
BGR888 -> BGRA8888 : faster x4 (3145403 -> 637701)
BGR888 -> BGRX8888 : faster x4 (3142106 -> 630144)
BGR888 -> RGBA8888 : faster x4 (3202685 -> 649384)
BGR888 -> RGBX8888 : faster x4 (3170617 -> 658670)
BGRA8888 -> BGR888 : faster x4 (3203308 -> 657697)
BGRA8888 -> RGB888 : faster x5 (3201475 -> 631747)
BGRA8888 -> RGBX8888 : faster x5 (3274544 -> 630409)
BGRX8888 -> ABGR8888 : faster x4 (3149753 -> 638682)
BGRX8888 -> ARGB8888 : faster x5 (3164101 -> 631273)
BGRX8888 -> BGR888 : faster x4 (3144454 -> 630712)
BGRX8888 -> RGB888 : faster x4 (3160490 -> 638047)
BGRX8888 -> RGBA8888 : faster x5 (3308988 -> 631232)
BGRX8888 -> RGBX8888 : faster x5 (3216775 -> 638065)
RGB888 -> BGRA8888 : faster x4 (3143135 -> 655146)
RGB888 -> BGRX8888 : faster x4 (3141790 -> 653771)
RGB888 -> RGBA8888 : faster x5 (3214402 -> 637001)
RGB888 -> RGBX8888 : faster x4 (3143082 -> 630009)
RGBA8888 -> BGR888 : faster x3 (3157048 -> 920375)
RGBA8888 -> BGRX8888 : faster x5 (3196692 -> 632996)
RGBA8888 -> RGB888 : faster x4 (3141570 -> 652151)
RGBX8888 -> ABGR8888 : faster x5 (3175401 -> 631218)
RGBX8888 -> ARGB8888 : faster x4 (3144690 -> 639440)
RGBX8888 -> BGR888 : faster x4 (3144250 -> 630171)
RGBX8888 -> BGRA8888 : faster x5 (3220321 -> 630731)
RGBX8888 -> BGRX8888 : faster x4 (3178453 -> 637445)
RGBX8888 -> RGB888 : faster x5 (3203623 -> 632596)
|
|
7372295e
|
2019-02-07T17:52:28
|
|
Faster blit when using No Alpha or Set Alpha, + ColorKey
Applied to following formats:
ABGR8888 -> BGRX8888 : faster x4 (2794295 -> 610587)
ABGR8888 -> RGB888 : faster x4 (2835693 -> 615561)
ABGR8888 -> RGBX8888 : faster x4 (2880475 -> 610479)
ARGB8888 -> BGR888 : faster x4 (2802718 -> 610702)
ARGB8888 -> BGRX8888 : faster x4 (2792481 -> 606311)
ARGB8888 -> RGBX8888 : faster x4 (2821621 -> 624745)
BGR888 -> ARGB8888 : faster x4 (2791705 -> 637889)
BGR888 -> BGRA8888 : faster x4 (2793195 -> 652299)
BGR888 -> BGRX8888 : faster x4 (2800713 -> 609326)
BGR888 -> RGB888 : faster x4 (2812260 -> 610471)
BGR888 -> RGBA8888 : faster x4 (2792327 -> 629288)
BGR888 -> RGBX8888 : faster x4 (2799224 -> 607073)
BGRA8888 -> BGR888 : faster x4 (2800520 -> 606897)
BGRA8888 -> RGB888 : faster x4 (2825274 -> 616156)
BGRA8888 -> RGBX8888 : faster x4 (2812530 -> 610340)
BGRX8888 -> ABGR8888 : faster x4 (2793940 -> 628596)
BGRX8888 -> ARGB8888 : faster x4 (2822686 -> 638899)
BGRX8888 -> BGR888 : faster x4 (2818141 -> 613659)
BGRX8888 -> RGB888 : faster x4 (2929017 -> 611794)
BGRX8888 -> RGBA8888 : faster x4 (2799709 -> 629750)
BGRX8888 -> RGBX8888 : faster x4 (2911010 -> 605640)
RGB888 -> ABGR8888 : faster x4 (2800671 -> 631542)
RGB888 -> BGR888 : faster x4 (2802644 -> 604461)
RGB888 -> BGRA8888 : faster x4 (2801919 -> 628729)
RGB888 -> BGRX8888 : faster x4 (2938244 -> 604135)
RGB888 -> RGBA8888 : faster x4 (2912447 -> 642185)
RGB888 -> RGBX8888 : faster x4 (2831676 -> 634293)
RGBA8888 -> BGR888 : faster x4 (2928896 -> 614960)
RGBA8888 -> BGRX8888 : faster x4 (2821422 -> 608146)
RGBA8888 -> RGB888 : faster x4 (2825927 -> 617184)
RGBX8888 -> ABGR8888 : faster x4 (2803852 -> 654129)
RGBX8888 -> ARGB8888 : faster x4 (2923615 -> 642644)
RGBX8888 -> BGR888 : faster x4 (2806523 -> 610447)
RGBX8888 -> BGRA8888 : faster x4 (2813388 -> 630305)
RGBX8888 -> BGRX8888 : faster x4 (2800052 -> 607881)
RGBX8888 -> RGB888 : faster x4 (2807722 -> 610263)
|
|
bb9a9080
|
2019-02-07T16:13:25
|
|
Fix pointer warnings
|