Ryan C. Gordon
7cc0a606d8
testgesture: minor cleanups.
2019-03-15 22:17:21 -04:00
Ryan C. Gordon
5897ed85f5
test: Moved testgesture.c over to the common SDLtest framework.
2019-03-15 22:16:02 -04:00
Ryan C. Gordon
f95ca7bb8e
events: Disable all the signal-handling code on platforms without support.
...
So on Windows, for example, this mostly becomes a few empty functions.
2019-03-15 16:13:19 -04:00
Ryan C. Gordon
8a5a05c168
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.
2019-03-15 15:51:05 -04:00
Ryan C. Gordon
911bf6241b
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.
2019-03-15 14:08:30 -04:00
Sylvain Becker
cbe80d4708
KMSDRM: valid file descriptors could positive or 0. -1 is invalid. (Bug 4530)
2019-03-13 14:54:51 +01:00
Sylvain Becker
3bc1a8b619
Android: minor comment update
2019-03-13 14:08:21 +01:00
Sylvain Becker
063c0c2a73
Android: check SDL is initialized before sending the event
...
Avoid error message:
SDLActivity thread ends (error=Video subsystem has not been initialized)
2019-03-13 09:39:30 +01:00
Sam Lantinga
82758efc46
[iOS DAC] Fix touch events getting from SDL2 to source2.
2019-03-12 14:45:04 -07:00
Sam Lantinga
d05eec7207
Fixed initial display orientation at Android app start
2019-03-12 14:44:25 -07:00
Sam Lantinga
1a8e3a0270
HIDAPI: fix bug that caused non-HID class parts of composite devices to have windows HID functions called on them.
2019-03-12 14:44:12 -07:00
Sylvain Becker
cddb285cdb
Fixed bug 4513 - Wayland, fix crash when remove event is sent (from Sebastian Krzyszkowiak)
2019-03-12 20:04:08 +01:00
Sylvain Becker
052b4f2969
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)
2019-03-12 14:20:37 +01:00
Sylvain Becker
b28e956b8c
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
2019-03-12 07:59:53 +01:00
Sylvain Becker
28f54ee439
SDL_MouseQuit(): clear mouse->cur_cursor (Bug 4530)
2019-03-11 15:31:46 +01:00
Sylvain Becker
7b27594274
KMSDRM: missing return value in VideoInit() (Bug 4530)
2019-03-11 15:27:42 +01:00
Sylvain Becker
3b49ee5261
KMSDRM: change calls free() to SDL_free() (Bug 4529)
2019-03-11 15:22:40 +01:00
Sylvain Becker
2fd4aee149
Un-activate some routine on mips because they are slowers (Bug 4503)
2019-02-23 09:36:56 +01:00
Sylvain Becker
47fb781b94
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.
2019-02-22 09:30:45 +01:00
Ryan C. Gordon
6fbe9e23fa
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.
2019-02-19 23:46:54 -05:00
Sylvain Becker
90a075d75f
Fix windows build
2019-02-18 22:48:14 +01:00
Sylvain Becker
e9a7b6973a
Fix bug 4053: Blit issues on Big Endian CPU
2019-02-18 22:06:53 +01:00
Sam Lantinga
ea4c4cfc28
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.
2019-02-18 07:50:33 -08:00
Sylvain Becker
afd1b3dae4
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)
2019-02-17 16:20:23 +01:00
Sylvain Becker
1aa2ad2fe8
Better naming for the blit permutation variables
2019-02-09 17:40:32 +01:00
Sylvain Becker
f6a2ae6007
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)
2019-02-09 17:20:53 +01:00
Sylvain Becker
604b44f20f
Fix wrong access and simplify
2019-02-08 17:15:30 +01:00
Sylvain Becker
5ed30f844d
Some simplification of previous commit
2019-02-07 22:45:50 +01:00
Sylvain Becker
5fd228921c
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)
2019-02-07 22:03:30 +01:00
Sylvain Becker
704e62bbf4
Code factorization of the pixel format permutation
2019-02-07 21:49:24 +01:00
Sylvain Becker
0a007a9bea
Fix wrong comment
2019-02-07 18:52:49 +01:00
Sylvain Becker
e5192384d0
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)
2019-02-07 18:51:14 +01:00
Sylvain Becker
7372295ec9
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)
2019-02-07 17:52:28 +01:00
Sylvain Becker
bb9a9080dc
Fix pointer warnings
2019-02-07 16:13:25 +01:00
Sylvain Becker
3543a44ae4
Faster blit when using CopyAlpha + ColorKey
...
Applied to following formats:
ABGR8888 -> ARGB8888 : faster x7 (3959672 -> 537227)
ABGR8888 -> BGRA8888 : faster x7 (4008716 -> 532064)
ABGR8888 -> RGBA8888 : faster x7 (3998576 -> 530964)
ARGB8888 -> ABGR8888 : faster x7 (3942420 -> 532503)
ARGB8888 -> BGRA8888 : faster x7 (3995382 -> 527722)
ARGB8888 -> RGBA8888 : faster x7 (4259330 -> 543033)
BGRA8888 -> ABGR8888 : faster x7 (4110411 -> 529402)
BGRA8888 -> ARGB8888 : faster x7 (4071906 -> 538393)
BGRA8888 -> RGBA8888 : faster x6 (4038320 -> 585141)
RGBA8888 -> ABGR8888 : faster x7 (3937018 -> 534127)
RGBA8888 -> ARGB8888 : faster x7 (3979577 -> 537810)
RGBA8888 -> BGRA8888 : faster x7 (3975656 -> 528355)
2019-02-07 15:12:17 +01:00
Sylvain Becker
03cbac4040
Android/openslES: fix warnings, comment out un-used interface
2019-02-05 15:14:15 +01:00
Sylvain Becker
614c8aea20
Android/openslES: set number of buffers of DATALOCATOR to internal NUM_BUFFER
...
If we increase NUM_BUFFER, Enqueue won't fail with SL_RESULT_BUFFER_INSUFFICIENT
2019-02-05 15:09:41 +01:00
Sylvain Becker
bf823bf2dc
Android/openslES: prevent to run out of buffers if Enqueue() fails.
2019-02-05 15:05:32 +01:00
Ryan C. Gordon
40781dfb15
opengles2: patched to compile.
2019-02-04 23:35:18 -05:00
Ryan C. Gordon
b7504f311b
opengles2: keep cached texturing state correct.
2019-02-04 23:32:28 -05:00
Ryan C. Gordon
a609c03ac6
opengles1: keep cached texturing state correct.
2019-02-04 23:24:10 -05:00
Ryan C. Gordon
40a52ceef7
render: Fix OpenGL draw state cache for various points of texture binding.
2019-02-04 18:55:39 -05:00
Sylvain Becker
670f3d3327
Fixed bug 4484 - use SIMD aligned memory for SDL_Surface
...
Surfaces are allocated using SDL_SIMDAlloc()
They are marked with SDL_SIMD_ALIGNED flag to appropriatly free them with SDL_SIMDFree()
(Flag is cleared when pixels is free'd in RLE, in case user would hijack the pixels ptr)
When providing its own memory pointer (SDL_CreateRGBSurfaceFrom()) and clearing
SDL_PREALLOC to delegate to SDL the memory free, it's the responsability of the user
to add SDL_SIMD_ALIGNED or not, whether the pointer has been allocated with SDL_malloc() or
SDL_SIMDAlloc().
2019-02-04 09:11:07 +01:00
Sylvain Becker
9292dc7ca1
Fix include path compilation
2019-02-04 08:43:37 +01:00
Sylvain Becker
9a98dcc516
Rename surface aligned memory flag to SDL_SIMD_ALIGNED
2019-02-04 08:34:24 +01:00
Alex Szpakowski
65e07b3884
iOS/tvOS: fix support for SDL_GameControllerGetButton(controller, GUIDE) with MFi controllers (thanks Caleb!)
...
Fixes bug #4463 .
2019-01-31 19:52:47 -04:00
Sylvain Becker
e5d194e902
Add SDL_MEMALIGNED flag for SDL_Surface using aligned memory.
...
If an SDL_Surface has an aligned memory pointers, it should be freed
using SDL_SIMDFree() (will be used by SDL_ttf).
2019-01-31 11:45:31 +01:00
Sylvain Becker
7b8bac5958
Add fast paths in BlitNtoNKey
...
All following conversions are faster (with colorkey, but no blending).
(ratio isn't very accurate)
ABGR8888 -> BGR888 : faster x9 (2699035 -> 297425)
ARGB8888 -> RGB888 : faster x8 (2659266 -> 296137)
BGR24 -> BGR24 : faster x5 (2232482 -> 445897)
BGR24 -> RGB24 : faster x4 (2150023 -> 448576)
BGR888 -> ABGR8888 : faster x8 (2649957 -> 307595)
BGRA8888 -> BGRX8888 : faster x9 (2696041 -> 297596)
BGRX8888 -> BGRA8888 : faster x8 (2662011 -> 299463)
BGRX8888 -> BGRX8888 : faster x9 (2733346 -> 295045)
RGB24 -> BGR24 : faster x4 (2154551 -> 485262)
RGB24 -> RGB24 : faster x4 (2149878 -> 484870)
RGB888 -> ARGB8888 : faster x8 (2762877 -> 324946)
RGBA8888 -> RGBX8888 : faster x8 (2657855 -> 297753)
RGBX8888 -> RGBA8888 : faster x8 (2661360 -> 296655)
RGBX8888 -> RGBX8888 : faster x8 (2649287 -> 308268)
2019-01-30 22:50:20 +01:00
Sylvain Becker
cd25c83aad
Fix blit with blending (Blit_A) to RGB332 which has no palette
2019-01-30 17:16:08 +01:00
Sylvain Becker
5b07148f73
Fixed failing SDL_ConvertSurface() when blit has failed.
...
Some blit combination are not supported (eg ARGB8888 -> SDL_PIXELFORMAT_INDEX1MSB)
So prevent SDL_ConvertSurface from creating a broken surface, which cannot be blitted
2019-01-30 16:36:47 +01:00