Ozkan Sezer
59795822d0
make SDL_SensorGetDeviceNonPortableType match its prototype.
2020-11-11 12:33:55 +03:00
Ozkan Sezer
53b166797d
SIZE_MAX need not be defined in limits.h
...
it can be in limits.h (windows) or stdint.h.
2020-11-11 12:33:55 +03:00
Sam Lantinga
e12457d8bf
Added support for the Xbox Series X controller to the HIDAPI driver
2020-11-10 12:26:30 -08:00
Ryan C. Gordon
7b5a0a9f97
uikit: Don't implement main() twice for iOS static libs.
...
I think this was a leftover from before the two Xcode projects were merged.
2020-11-10 13:12:10 -05:00
Ryan C. Gordon
940419b0a6
uikit: Fixed a typo in a comment.
2020-11-10 13:09:59 -05:00
Sam Lantinga
c3dea23120
Added support for reading the paddles on a Xbox Elite Series 2 controller in Bluetooth mode
2020-11-09 22:39:33 -08:00
Dylan Fan
02de820008
Add Zhaoxin processor support
...
CPU Vendor ID "Shanghai" and "CentaurHauls" belongs to Zhaoxin.
Background:
Shanghai Zhaoxin Semiconductor Co., Ltd ("Zhaoxin") , established in 2013,
headquartered in Zhangjiang, Shanghai, China. Zhaoxin aims at providing
general-purpose x86 processors.
Related Zhaoxin Linux Kernel patch can be found at
https://lore.kernel.org/lkml/01042674b2f741b2aed1f797359bdffb@zhaoxin.com
Best regards.
2020-11-09 20:36:35 -08:00
Sam Lantinga
fb4a406af2
Don't put 'm' in the GUID for Xbox and PS4 controllers on iOS
2020-11-09 18:45:22 -08:00
Sam Lantinga
f8b8bd0ba1
ControllerList: recategorize controller as swtich pro and not switch input-only controller
2020-11-09 10:12:02 -08:00
Sam Lantinga
f76ca05729
ControllerList: add unknown xbox controller from minidumps
2020-11-09 10:11:59 -08:00
Sam Lantinga
94924f012b
Fix failing to set high priority for threads on Linux desktop.
...
Debugging inside rtkit showed we were failing the RLIMIT_RTTIME check, now that we're asking for realtime and not just high-priority due to a change in SDL.
Between that and the DBus code in SDL being wrong in previous changelist I'm not sure how this could have ever worked.
2020-11-09 10:11:55 -08:00
Sam Lantinga
abf9dfd5c2
Fix MakeThreadRealtime DBus method call on Linux, type mismatch due to copy paste.
...
Nov 02 20:34:15 redcore rtkit-daemon[2825]: Failed to parse MakeThreadRealtime() method call: Argument 1 is specified to be of type "uint32", but is actually of type "int32"
Nov 02 20:34:15 redcore rtkit-daemon[2825]: Failed to parse MakeThreadRealtime() method call: Argument 1 is specified to be of type "uint32", but is actually of type "int32"
Docs:
http://git.0pointer.net/rtkit.git/tree/README
CLIENTS:
To be able to make use of realtime scheduling clients may
request so with a small D-Bus interface that is accessible on
the interface org.freedesktop.RealtimeKit1 as object
/org/freedesktop/RealtimeKit1 on the service
org.freedesktop.RealtimeKit1:
void MakeThreadRealtime(u64 thread_id, u32 priority);
void MakeThreadHighPriority(u64 thread_id, s32 priority);
2020-11-09 10:11:38 -08:00
Sam Lantinga
1577366c36
Fixed duplicated switch statement processing Xbox controller dpad state
2020-11-08 23:49:03 -08:00
Bart van der Werf
3d92e8c742
hidapi: Also parse data[12] with dpad values on the xb1s controller
2020-10-21 10:43:46 -04:00
Sam Lantinga
1ef45c1801
Fixed bug 5339 - Minor memory leak in SDL_x11events.c
...
wcodelyokoyt
The atom name that X11_GetAtomName() returns never gets freed, which result in a minor memory leak (14 bytes?) every time the user drops a file on a window.
You can see the line in question here:
6b6170caf6/src/video/x11/SDL_x11events.c (L1350)
Fix: call XFree on name after the while loop.
2020-11-08 23:40:17 -08:00
Sam Lantinga
723d76c8ec
Fixed bug 5333 - Replace character of legacy code page with utf-8 one.
...
Joel Linn
This patch fixes a MSVC warning, which is dependent on the regional settings of the build system. Although the character is inside a comment and harmless, it is undesirable to disable the warning for this.
2020-11-08 23:34:59 -08:00
Ryan C. Gordon
0e4ce84801
opengl: Make diagonal lines match the software renderer.
...
OpenGL leaves the final line segment open, SDL's software renderer does not,
so we need a tiny bit of trigonometry here to move one more pixel in the right
direction.
2020-11-08 20:57:17 -05:00
Ryan C. Gordon
da49f79500
opengles: use glDrawArrays() correctly with GL_LINE_STRIP.
2020-11-08 19:56:12 -05:00
Ryan C. Gordon
de6d0ac55a
uikit: Patched to compile on older iOS SDKs.
2020-11-08 18:11:42 -05:00
Ryan C. Gordon
93a2c58c7e
opengl: Use GL_LINE_STRIP instead of breaking down into seperate GL_LINES.
...
Surely GL drivers have improved in the last seven years. I hope...?
2020-11-08 12:37:09 -05:00
Ryan C. Gordon
731a5d1c53
metal: Fix line drawing, again.
2020-11-08 03:18:05 -05:00
Sam Lantinga
4ea1a10bd2
Added stub controller LED functions for WGI and RAWINPUT (thanks meyraud!)
2020-11-07 02:49:22 -08:00
Sam Lantinga
009b62f1c2
Be explicit about mapping the new game controller paddle buttons
2020-11-07 02:22:15 -08:00
Sam Lantinga
749062e72b
Implemented SDL_GameControllerSetLED() for iOS/tvOS
2020-11-06 16:53:13 -08:00
Sam Lantinga
faeac6e86c
Added additional game controller button support on iOS/tvOS
2020-11-06 16:42:46 -08:00
Sam Lantinga
3a3aaac221
Added 4 auxiliary buttons to the game controller API
...
Xbox Elite controllers use AUX1-AUX4 to represent the paddle buttons when using the HIDAPI driver
PS4 and PS5 controllers use AUX1 to represent the touchpad button
Nintendo Switch Pro controllers use AUX1 to represent the capture button
2020-11-06 11:30:52 -08:00
Sam Lantinga
a22beef402
Moved the PS5 controller driver to a separate file, as the advanced feature protocol is very different from that of the PS4
2020-11-05 17:03:28 -08:00
Sam Lantinga
bd2dd3f6bb
Added Android mapping for the Sony PS5 Controller
2020-11-05 15:36:15 -08:00
Sam Lantinga
4d79f9662f
Added initial support for the Sony PS5 Controller
2020-11-05 15:02:54 -08:00
Sam Lantinga
e555d45331
Added SDL_JoystickHasLED
...
Currently, this is only supported by the PS4 HIDAPI driver.
2020-11-05 11:07:54 -08:00
Ethan Lee
83cddd2ebc
Add SDL_JoystickSetLED.
...
Currently, this is only supported by the PS4 HIDAPI driver.
2020-04-30 11:57:29 -04:00
Ryan C. Gordon
1b8dee7caf
coreaudio: Remove unnecessary include of CoreServices.h
2020-10-31 11:32:40 -04:00
Sam Lantinga
ddc0727bba
Fixed implicit memcpy() when building for ARM64 on Windows (thanks Seigo!)
2020-10-27 09:00:42 -07:00
Ryan C. Gordon
010d5fba93
kmsdrm: Make this build with significantly older system libraries.
...
This allows one to build Raspberry Pi versions on an ancient version of
Raspbian and get both the KMSDRM and RPI video targets built into SDL, giving
maximum binary compatibility from linking against an older glibc, etc, but
also making one library that can access video on all RPi models and OS
releases.
2020-10-26 09:49:09 -04:00
Ozkan Sezer
f0c5841714
SDL_shape_internals.h: forward-declare struct SDL_ShapeTree.
2020-10-25 10:10:10 +03:00
Ozkan Sezer
a4040293dd
os2: misc build fixes
2020-10-25 10:10:02 +03:00
Ozkan Sezer
bfc80d83c2
minor coding style cleanup
2020-10-25 03:55:02 +03:00
Ryan C. Gordon
ba36eb0437
metal: Make line drawing match software renderer.
...
Partially fixes Bugzilla #2711 .
2020-10-21 00:03:33 -04:00
Ryan C. Gordon
c33f808354
render: Restoring line rendering fixes that were previously put on hold.
...
(Backed out hg changeset 7a4240daba46)
2020-10-20 11:12:49 -04:00
Sam Lantinga
5dc6c3c951
Updated Vulkan headers to version 1.2.158
...
https://github.com/KhronosGroup/Vulkan-Headers
2020-10-24 10:46:18 -07:00
Manuel Alfayate Corchete
5682b066e9
kmsdrm: Add comment about KMSDRM_VideoQuit() changes.
2020-10-22 19:51:57 +02:00
Manuel Alfayate Corchete
63b7827709
kmsdrm: properly exit with an error when ATOMIC interface is not yet available, instead of just segfaulting.
2020-10-22 19:44:38 +02:00
Manuel Alfayate Corchete
a3262205b5
kmsdrm: rearrange init function so we try ATOMIC compatibility first.
2020-10-22 17:55:45 +02:00
Manuel Alfayate Corchete
b1ea0be865
kmsdrm: Add missing checks after SDL_calloc() calls.
2020-10-22 17:06:34 +02:00
Manuel Alfayate Corchete
ad9ec8b363
kmsdrm: Small fix, missing bracket.
2020-10-22 16:15:34 +02:00
Manuel Alfayate Corchete
87a86675ed
kmsdrm: Always use spaces for indentation. Always use SDL_calloc() for calloc.
2020-10-22 16:01:51 +02:00
Ozkan Sezer
cfc1362011
os2 video: updates to my_gradd.h
2020-10-21 23:28:02 +03:00
Sam Lantinga
f1b603ac6a
Fixed bug 5323 - SDL_SetWindowMaximumSize fails if Width or Height is equal to minimum Height or Width
...
batyastudios
Basicly there is problem and somewhat a solution: https://discourse.libsdl.org/t/setwindowmaximumsize-bug/28267
If you SDL_SetWindowMaximumSize() after SDL_SetWindowMinimumSize() with one of axes have the same value, function will have no effect.
This: (line 2144@SDL_video.c)
if (max_w <= window->min_w || max_h <= window->min_h) {
SDL_SetError("SDL_SetWindowMaximumSize(): Tried to set maximum size smaller than minimum size");
return;
}
May be changed to this:
if (max_w < window->min_w || max_h < window->min_h) {
SDL_SetError("SDL_SetWindowMaximumSize(): Tried to set maximum size smaller than minimum size");
return;
}
2020-10-20 11:51:23 -07:00
Ozkan Sezer
cbadd1e380
geniconv/os2iconv.c: make it build correctly against os2tk headers.
2020-10-20 20:32:20 +03:00
Manuel V?gele
554037a6f7
audio: fix popping sounds caused by signed/unsigned conversion
...
When converting audio from signed to unsigned values of vice-versa
the silence value chosen by SDL was the value of the device, not
of the stream that the data was being put into. After conversion
this would lead to a very high or low value, making the speaker
jump to a extreme positon, leading to an audible noise whenever
creating, destroying or playing scilence on a device that reqired
such conversion.
2020-09-26 09:30:08 +02:00
Sam Lantinga
f311e0a826
Removed debug log message
2020-10-19 17:29:16 -07:00
Yiding Jia
f31ad57fde
Implement keyboard repeat in wayland video driver
2020-10-05 19:17:52 -07:00
Alberts Muktup?vels
73010da4dc
x11events: ignore UnmapNotify events from XReparentWindow
...
UnmapNotify event does not mean that window has been iconified. It
just reports that window changed state from mapped to unmapped.
XReparentWindow can unmap and remap window if it was mapped. This
causes unnecessary events - HIDDEN, MINIMIZED, RESTORED and SHOW.
These events are problematic with Metacity 3.36+ which started to
remove window decorations from fullscreen windows.
- SDL makes decorated window fullscreen
- Metacity removes decorations
- SDL gets UnmapNotify and exits from fullscreen
- Metacity re-adds decorations
As SDL will also get MapNotify event it will try to restore
window state causing above steps to repeat.
https://bugzilla.libsdl.org/show_bug.cgi?id=5314
2020-10-19 17:26:33 -07:00
Sylvain Becker
ffb307e4dc
Fixed bug 5304 - add SDL_HasSurfaceRLE() (Thanks Rene Dudfield and Dan Lawrence)
2020-10-18 09:52:56 +02:00
Sylvain Becker
19a65a46a6
Fixed bug 5321 - crash in SDL_ConvertSurface with RLE surfaces
...
keep RLE information in flags when converting the surface
2020-10-17 21:47:05 +02:00
Ozkan Sezer
c70191d2b7
SDL_os2video.c (OS2_CreateDevice): remove duplicated assignment.
2020-10-17 07:37:00 +03:00
Ozkan Sezer
77d0f043e5
os2video.c: add missing FOURCC_R666 define, enable FOURCC_R666 case in _getSDLPixelFormatData().
2020-10-16 23:50:00 +03:00
Sam Lantinga
99ed0d7ab9
Map the guide button by default on Android 11
2020-10-16 12:40:12 -07:00
Sam Lantinga
3755f6920f
Added mapping for Xbox One S controller and PS4 controller on Android 11, including guide button
2020-10-16 12:40:10 -07:00
Sam Lantinga
58976bda31
Allow more than one window on iOS as long as they're on different displays
2020-10-15 12:00:15 -07:00
Ozkan Sezer
a90f0400a5
os2: a _lot_ of coding style cleanup, sot that they match the SDL style.
...
also renamed the 'debug' macro to debug_os2: the former was dangerously
a common name.
the binary (dll) output is precisely the same as before.
2020-10-15 21:37:30 +03:00
Sam Lantinga
bdc5129f13
Use a high priority dispatch queue for GCKeyboard and GCMouse events for the lowest latency possible
...
This appears to reduce latency between 1-4 ms on an iPad Pro.
2020-10-15 10:13:46 -07:00
Sam Lantinga
a3a0ef7527
Added support for low latency mouse and keyboard handling in iOS 14
...
The mouse support in iOS 14.0 has a bug with accumulating duplicate mouse deltas that won't be fixed until iOS 14.1, so we don't enable it until then.
2020-10-15 10:13:44 -07:00
Sam Lantinga
d9aea0c3a0
Update the existing haptic player when we rumble on iOS
2020-10-15 10:13:42 -07:00
Manuel Alfayate Corchete
cca16c9cb1
kmsdrm: merge GetDisplayDPI implementation by bms20 <brett@mynah-software.com>
2020-10-15 17:56:19 +02:00
Ozkan Sezer
d27238751f
os2: integrate the port into main tree.
2020-10-14 23:01:06 +03:00
Ozkan Sezer
5807cb3d31
os2: remove dependency to gradd.h from IBM's ddk which is non-free:
...
Add a minimal my_gradd.h containing structures and constants only used
by SDL_os2vman.c -- based on public knowledge from around the internet
including pages from http://www.osfree.org and http://www.edm2.com .
2020-10-14 23:01:06 +03:00
Ozkan Sezer
b6965a1774
os2: Andrey Vasilkin agreed that his code to be put under Zlib license:
...
add SDL license headers to geniconv sources.
2020-10-14 23:01:05 +03:00
Ozkan Sezer
1d9cf23e4c
os2: updated copyright dates for 2020. header guard fixes.
2020-10-14 23:01:05 +03:00
Ozkan Sezer
a3d7913c07
SDL_os2audio.c (OS2_OpenDevice): change spec->samples assignment:
...
Original code assigned MCIMixSetup.ulSamplesPerSec value to it, but it
is just the freq... We now change spec->samples only either if it is 0
or we changed the frequency, by picking a default of ~46 ms at desired
frequency (code taken from SDL_audio.c:prepare_audiospec()).
With this, the crashes I have been experiencing are gone.
2020-10-14 23:01:05 +03:00
Ozkan Sezer
e112b776fc
SDL_os2audio.c (OS2_OpenDevice): change {0} initializers to SDL_zero()
2020-10-14 23:01:05 +03:00
Ozkan Sezer
72594e255a
SDL_os2audio.c (OS2_OpenDevice): remove assignment to wrong spec member
...
Correct assignment to 'format' member is done below, already.
2020-10-14 23:01:04 +03:00
Ozkan Sezer
fe2cc8d86c
OS2_VideoQuit(): avoid double free()ing of displays.
...
Our caller SDL_VideoQuit() already frees display_modes, driverdata, etc.
Noticed in bitwiseworks' version at https://github.com/bitwiseworks/SDL2-os2
2020-10-14 23:01:04 +03:00
Ozkan Sezer
fba32ee21f
OS2_VideoInit: zero the stSDLDisplay and stSDLDisplayMode variables
...
Fixes testdisplayinfo.exe crashing in SDL2-2.0.13. (How it did work before?..)
2020-10-14 23:01:04 +03:00
Ozkan Sezer
54ced668c4
port from 2.0.12 to 2.0.13 / current SDL-hg repository.
...
- video: VideoBootStrap->available() is gone.
- thread: all important SDL_CreateThread internal data now put into
struct SDL_Thread: changes to SDL_SYS_CreateThread().
2020-10-14 23:01:04 +03:00
Ozkan Sezer
5da796fe52
os/2: port from SDL2-2.0.5 to SDL2-2.0.12
...
- events / video: SDL_SetDoubleClickTime() removed -- functionality
moved to SDL_mouse.c:SDL_MouseDoubleClickTimeChanged().
- video: struct SDL_VideoDevice-> CreateWindow and CreateWindowFrom
members renamed to CreateSDLWindow and CreateSDLWindowFrom
2020-10-14 23:01:03 +03:00
Ozkan Sezer
5d89217f6b
os2/SDL_sysfilesystem.c: fix crash if one of the parameters is NULL
...
Has been happening with testfilesystem from 2.0.6 and newer because
of commit 572a721879ef.
Also set error strings in certain error conditions.
Also applied coding style / whitespace fixes, while I was there.
2020-10-14 23:01:03 +03:00
Ozkan Sezer
222f026899
os/2: port from SDL2-2.0.4 to SDL2-2.0.5:
...
changes to SDL_os2audio.c, SDL_os2video.c, os2/SDL_systhread.c in order
to accomodate SDL2-2.0.5 changes.
- audio: WaitDone() is gone, CloseDevice() interface changes.
- events / video: DropFile() changes:
SDL_DROPBEGIN and SDL_DROPCOMPLETE events, window IDs for drops.
- thread: struct SDL_Thread->stacksize
2020-10-14 23:01:03 +03:00
Ozkan Sezer
5f3f67b16b
os2/SDL_sysfilesystem.c: use OS/2 api DosCreateDir() instead of mkdir().
...
mkdir() from watcom and emx differ - the latter being unix-ish, so this
change avoids ifdefs.
2020-10-14 23:01:03 +03:00
Ozkan Sezer
1b99d805db
os2: updates from Andrey Vasilkin's 2020-09-07 sources.
2020-10-14 23:01:02 +03:00
Ozkan Sezer
aa790837eb
os2: several warning fixes.
...
mostly those "W007: '&array' may not produce intended result" warnings
from Watcom, visible only in C++ mode. one or two others here & there.
2020-10-14 23:01:02 +03:00
Ozkan Sezer
f9af19f51d
os2: updates to SDL_systhread.c:
...
removed lots of garbage. added SDL_PASSED_BEGINTHREAD_ENDTHREAD guard,
because the code requires it.
2020-10-14 23:01:02 +03:00
Ozkan Sezer
c218861946
os2: added a 2-byte padding to os2 SDL_PrivateAudioData
2020-10-14 23:01:01 +03:00
Ozkan Sezer
d1323eb0a9
os2: better error reporting from loadso
2020-10-14 23:01:01 +03:00
Ozkan Sezer
861ac81b37
os2: changes to debug macros
2020-10-14 23:01:01 +03:00
Ozkan Sezer
110a0f7bb1
os2: update include paths. add missing libc includes to geniconv.
2020-10-14 23:01:01 +03:00
Ozkan Sezer
74cfb81dbb
os2: add port files for SDL2-2.0.4 from Andrey Vasilkin
...
only geniconv/iconv.h (was from LGPL libiconv) is replaced with a generic
minimal iconv.h based on public knowledge.
2020-10-14 23:01:00 +03:00
Ozkan Sezer
93e1449764
SDL_waylanddatamanager.c (mime_data_list_add): constify the buffer param
...
Fixes -Wdiscarded-qualifiers warnings from Wayland_data_source_add_data()
2020-10-14 15:50:04 +03:00
Sam Lantinga
b9cbea354f
video: Refresh Windows display list on WM_DISPLAYCHANGE
...
- Displays may have been added, removed or changed and all cached monitor
handles are invalidated as a result.
- Display events are handled in three steps:
1. Mark all currently know displays as invalid
2. Enumerate all displays, adding new ones and marking known displays as valid
3. Remove all displays still invalid after enumeration
- Display connect/disconnect events are sent when displays are added or removed
after initial setup
2020-10-13 21:08:20 -07:00
Sam Lantinga
a558409b2e
Only include CoreHaptics if we're building with rumble support
2020-10-13 21:08:18 -07:00
Sam Lantinga
75d5be974c
Fixed compiling with an older iOS SDK
2020-10-13 21:08:17 -07:00
Sam Lantinga
6b62494ee4
Added support for controller battery status on iOS 14
2020-10-13 21:08:15 -07:00
Sam Lantinga
1b31e9f6dc
Added support for game controller rumble on iOS 14
2020-10-13 21:08:13 -07:00
Sam Lantinga
2d7b33cb41
Added support for the controller home button on iOS 14
2020-10-13 21:08:11 -07:00
Cameron Cawley
59022829f4
riscos: Implement SDL_OpenURL()
2020-10-11 17:32:32 +01:00
Ozkan Sezer
34a82fca49
SDL_cpuinfo.c (OS2): undefine HAVE_SYSCTLBYNAME
2020-10-10 20:50:02 +03:00
Sam Lantinga
b546db2f85
Only watch for display connect/disconnect events while the video subsystem is initialized
2020-10-09 12:58:28 -07:00
Ozkan Sezer
7991cc38bc
dynapi: move SDL_SIMDRealloc down below, after SDL_GetPreferredLocales.
...
https://hg.libsdl.org/SDL/rev/884cb29cb80e wrongly added it after its
family i.e. SDL_SIMDAlloc, not at the end of the list.
2020-10-09 21:40:28 +03:00
Ryan C. Gordon
b79832ba11
cocoa: Cut and paste from HTML strikes again!
2020-10-08 21:11:09 -04:00
Ozkan Sezer
19aaa2944d
Fix https://bugzilla.libsdl.org/show_bug.cgi?id=5306
...
(Also see: https://bugzilla.libsdl.org/show_bug.cgi?id=4822 )
Building the current tree against 10.8 SDK, clang emits the following warning:
src/video/cocoa/SDL_cocoawindow.m:1846:27: warning: instance method '-isOperatingSystemAtLeastVersion:' not found (return type defaults to 'id') [-Wobjc-method-access]
![processInfo isOperatingSystemAtLeastVersion:version]) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/MacOSX10.8.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSProcessInfo.h:20:12: note: receiver is instance of class declared here
@interface NSProcessInfo : NSObject {
^
1 warning generated.
isOperatingSystemAtLeastVersion is an 10.10 thing.
2020-10-09 04:00:00 +03:00
Ozkan Sezer
69fbd60d25
Fix https://bugzilla.libsdl.org/show_bug.cgi?id=4877#c2
...
loadNibNamed:owner:topLevelObjects is available on 10.8 and newer.
There is an issue report here about an app failing to function on
10.7 and earlier: https://discourse.libsdl.org/t/28179
2020-10-09 04:00:00 +03:00
Sam Lantinga
bd14f2676c
Removed unused variable
2020-10-08 16:58:34 -07:00
Ozkan Sezer
d86a746542
SDL_video.c: fix whitespace
2020-10-09 02:55:00 +03:00
Sam Lantinga
76980e30f2
Added events for dynamically connecting and disconnecting displays, with an iOS implementation
2020-10-08 16:42:20 -07:00
Sam Lantinga
cd703b5628
Fixed whitespace
2020-10-08 16:41:48 -07:00
Ozkan Sezer
54bb9aaccb
k_rem_pio2.c: fix typo in second memset(): iq, not q. fixes bug #5309 .
2020-10-08 11:51:02 +03:00
Ryan C. Gordon
061256a3b3
metal: Clear the framebuffer if presenting without any other operations.
2020-10-07 14:45:24 -04:00
Ryan C. Gordon
003a16980c
wav: Make sure the data size is a multiple of blockalign, not an exact match.
...
I _think_ this is a right thing to do; it fixes a .wav file I have here that
has blockalign==2 when channels==2 and bitspersample==16, which otherwise
would fail.
2020-10-06 11:07:50 -04:00
Ryan C. Gordon
4627426994
url: WinRT actually works now (and has been tested, hooray!).
2020-10-06 00:42:17 -04:00
Ryan C. Gordon
fc05a696ad
url: Attempt #23235 at WinRT support...
2020-10-05 18:08:58 -04:00
Ryan C. Gordon
02addf135d
url: Another attempt at WinRT implementation.
2020-10-05 18:01:47 -04:00
Ozkan Sezer
1f4b5d54ca
windows/SDL_syslocale.c: make it build against older SDKs.
2020-10-06 00:20:20 +03:00
Ryan C. Gordon
7bec9df11a
url: Add to Xcode project files, iOS/mac fixes.
2020-10-05 16:10:10 -04:00
Ryan C. Gordon
57e3003d3f
url: Attempt at WinRT support.
2020-10-05 15:47:47 -04:00
Ryan C. Gordon
566479c8ef
url: ShellExecuteW returns an HINSTANCE, so deal with that more correctly.
2020-10-05 15:37:37 -04:00
Ryan C. Gordon
ee56090d3d
url: Cleanups and compiler warning fixes.
2020-10-05 15:03:44 -04:00
Ryan C. Gordon
cc158f2983
url: removed "extern" from function declaration.
2020-10-05 14:36:37 -04:00
Ryan C. Gordon
a3802cc533
url: Patched to compile on C89 compilers.
2020-10-05 14:30:33 -04:00
Ryan C. Gordon
0099e38a9a
url: More win32 fixes.
2020-10-05 14:21:03 -04:00
Ryan C. Gordon
1f4fecc5c1
url: Patched to compile on Windows.
2020-10-05 14:07:32 -04:00
Ryan C. Gordon
777d0f19f8
url: patched to compile on macOS.
2020-10-05 14:06:25 -04:00
Ryan C. Gordon
d068d05aa5
url: Make sure Haiku's C++ implementation is flagged as 'extern "C"'
2020-10-05 14:01:08 -04:00
Ryan C. Gordon
bf9fcb539a
url: The function is "SDL_Unsupported" not "SDL_Unimplemented"
2020-10-05 14:00:08 -04:00
Ryan C. Gordon
2d82cf78e1
url: put the Android bits in core/android
2020-10-05 13:59:03 -04:00
Ryan C. Gordon
efd665e2c7
Backed out changeset a43cb4e54949
...
Trying this a different way.
2020-10-05 13:56:45 -04:00
Ryan C. Gordon
913aa610b5
url: Include SDL_misc.h to get public function declaration.
2020-10-05 13:53:15 -04:00
Ryan C. Gordon
5f68812249
url: patched to compile on Android.
2020-10-05 13:52:52 -04:00
Ryan C. Gordon
84f1b95008
url: fixed wrong include.
2020-10-05 13:39:39 -04:00
Ryan C. Gordon
77c9d73b63
Removed SDL_AndroidOpenURL, added SDL_OpenURL.
...
Still needs to be wired into Xcode and Visual Studio projects.
2020-10-05 11:30:33 -04:00
Sylvain Becker
cd6670bff3
SDL_Surface refcount: fix memory leak when blitting between stack'ed surfaces
...
(see bug 5226)
2020-10-02 10:48:27 +02:00
Ozkan Sezer
883509fc84
ran gendynapi.pl after new (android-only) api additions.
2020-10-01 17:01:00 +03:00
Sylvain Becker
dd55bfe89c
Android: add helper function to open an URL/URI (see bug 2783)
2020-10-01 14:41:09 +02:00
Sam Lantinga
45c644cc99
Added support for the MOGA XP5-X Plus
2020-09-28 21:19:45 -07:00
Manuel Alfayate Corchete
78c274cb5d
kmsdrm: merge patches from Ozkan Sezer for removing c-99'isms and raising libgbm version reqeriments.
2020-09-26 19:18:09 +02:00
Sylvain Becker
955f3184f9
Fixed bug 5239 - Play audio on Android while backgrounded (Thanks Superfury)
...
Add hint SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO not to pause audio when
the app goes to background.
(It requires SDL_ANDROID_BLOCK_ON_PAUSE as "Non blocking")
2020-09-25 10:14:42 +02:00
Ryan C. Gordon
7ef188a1fb
jack: Fixed memory leak on device close.
2020-09-19 14:01:57 -04:00
Cameron Gutman
9a769da04a
X11: Remove our X11 error callback in X11_DeleteDevice()
...
If we don't remove it, we will infinitely recurse if X11_CreateDevice() is
called again and orig_x11_errhandler becomes X11_SafetyNetErrHandler().
2020-09-07 20:10:50 -07:00
Manuel Alfayate Corchete
9c342e76dd
kmsdrm: merge heap buffer overflow and cursor creation patches from meyraud705.
2020-09-13 21:41:10 +02:00
Manuel Alfayate Corchete
0cb9bfa502
kmsdrm: less excessive error checkhing
2020-09-12 15:58:47 +02:00
Manuel Alfayate Corchete
5bed30dd61
kmsdrm: also do pending modeseting in SwapWindowDoubleBuffered().
2020-09-12 04:56:55 +02:00
Manuel Alfayate Corchete
9e9227add3
kmsdrm: reimplement modesetting for fullscreen window scaling and AR-correction.
2020-09-12 04:52:56 +02:00
Manuel Alfayate Corchete
4575c6942a
kmsdrm: delete ununsed variable.
2020-09-12 02:36:02 +02:00
Manuel Alfayate Corchete
01b0cf1c90
Backed out changeset 4a45d1a30d25
...
kmsdrm: Fake KMSDRM_SetDisplayMode() is needed for some programs after all.
2020-09-12 00:47:00 +02:00
Manuel Alfayate Corchete
7b67654872
kmsdrm: don't fool SDL into thinking that changing the physical videomode is done.
2020-09-12 00:16:08 +02:00
Manuel Alfayate Corchete
a6d182d326
kmsdrm: no need to reconnect/reactivate things in SwapWindowDoubleBuffered().
2020-09-11 23:47:26 +02:00
Manuel Alfayate Corchete
47e2d0304e
kmsdrm: greatly improve comments in SwapBuffersFenced() for future reference.
2020-09-10 23:26:02 +02:00
Ryan C. Gordon
3c6004feb7
kmsdrm: Choose how to swap buffers based on EGL extension availability.
2020-09-10 15:07:23 -04:00
Ryan C. Gordon
c7e761f872
kmsdrm: Patched to compile if EGL headers lack EGL_ANDROID_native_fence_sync.
2020-09-10 15:05:55 -04:00
Ryan C. Gordon
224aa45b59
kmsdrm: Implement GL_DefaultProfileConfig for Raspberry Pi compatibility.
...
If we think this might be a Raspberry Pi device, default to ES2. Otherwise,
accept SDL's higher-level defaults.
2020-09-10 15:04:35 -04:00
Ryan C. Gordon
092162ede7
video: Set up default before calling GL_DefaultProfileConfig().
...
This way, the implementation can opt to do nothing to accept SDL's defaults.
2020-09-10 15:02:51 -04:00
Ryan C. Gordon
e758dd53dc
egl: Make SDL_EGL_HasExtension() available outside of SDL_egl.c.
2020-09-10 15:02:00 -04:00
Manuel Alfayate Corchete
055cad49b6
kmsdrm: no need to re-connect/reactivate things in SwapWindow() anymore because we use a dumb buffer on KMS buffers destruction now.
2020-09-10 02:15:53 +02:00
Manuel Alfayate Corchete
351219bfd8
kmsdrm: On VideoQuit(), only destroy dumb buffer if it exists.
2020-09-09 03:18:26 +02:00
Sam Lantinga
8709f67ebc
Fixed bug 5215 - Fixing filenames passed to dlopen for OpenBSD
...
Brad Smith
Attached is a patch to use the proper filenames when trying to dlopen the respective shared libraries on OpenBSD.
2020-09-08 08:42:30 -07:00
Cameron Gutman
1b6de9a987
Fix SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH=1 on Metal windows
...
SDL_cocoametalview was consuming the first click rather than passing it
through to the SDLView underneath which overrides [NSView acceptsFirstMouse]
based on the user's SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH preference.
2020-09-05 15:01:45 -07:00
Manuel Alfayate Corchete
244d0ad854
kmsdrm: Tell SDL that mouse has entered the window via artificial event. Fixes sticky mouse in Scummvm.
2020-09-08 15:30:45 +02:00
Manuel Alfayate Corchete
550e153365
kmsdrm: No need to test for display driverdata when freeing a plane.
2020-09-08 02:42:32 +02:00
Manuel Alfayate Corchete
6e03fab982
kmsdrm: add temporary RPI4_COMPAT define to try RPI4+current Rasbian compatibility.
2020-09-07 23:15:33 +02:00
Manuel Alfayate Corchete
0f807fd607
kmsdrm: use a black dumb buffer for keeping the PRIMARY PLANE occupied when we destroy the KMS buffers, instead of using the TTY buffer, to avoid flickering.
2020-09-07 22:54:15 +02:00
Sylvain Becker
4d1c2a1857
Fix false compiler warning: initialize the variable 'memdiff'
2020-09-07 19:00:21 +02:00
Sylvain Becker
ebc12a2fd2
SDL_Surface refcount: destination surface keep track of surfaces
...
that are mapped to it and automatically invalidate them when it is freed
- refcount is kept so that an external application can still create a reference
to SDL_Surface.
- lock_data was un-used and is now renamed and used as a list keep track of the blitmap
2020-09-07 18:50:30 +02:00
Manuel Alfayate Corchete
cce6c60518
kmsdrm: fix errors when trying to free up videomode driverdata pointers on quit.
2020-09-07 01:33:04 +02:00
Manuel Alfayate Corchete
9501b1c698
kmsdrm: fix scaling for SDL_WINDOW_FULLSCREEN windows.
2020-09-07 00:18:13 +02:00
Manuel Alfayate Corchete
daa752b10e
kmsdrm: fix first frame display: no need to wait for SwapWindow() for EGL surface creation.
2020-09-06 23:19:54 +02:00
Manuel Alfayate Corchete
68ac9349aa
kmsdrm: more coherent returns for SwapWindow.
2020-09-06 12:48:39 +02:00
Manuel Alfayate Corchete
d3d9d432ac
kmsdrm: Remove debug printfs in SwapWindow.
2020-09-06 12:17:27 +02:00
Manuel Alfayate Corchete
d7aebbd58f
kmsdrm: Don't create surfaces until EGL context is available.
2020-09-06 12:08:22 +02:00
Sylvain Becker
97fad04551
Fixed bug 5278 - export SDL_AndroidRequestPermission() (Thanks Huki!)
2020-09-02 19:38:03 +02:00
Manuel Alfayate Corchete
f4e02a5c1b
kmsdrm: Do NOT modify window size manually from the backend: doing so caused renderer scaling params miscalculation.
2020-08-31 19:17:17 +02:00
Manuel Alfayate Corchete
c09d1cee95
kmsdrm: Apply window reconfiguration in SetWindowSize(), too.
2020-08-28 23:04:00 +02:00
Manuel Alfayate Corchete
31b1794534
kmsdrm: use PLANE and CRTC to do hardware-driven window scaling and AR-correction.
2020-08-28 22:38:26 +02:00
Manuel Alfayate Corchete
fe3f97961b
kmsdrm: unload EGL and GL lib only if using them.
2020-08-26 01:37:30 +02:00
Manuel Alfayate Corchete
9b43464d81
kmsdrm: Add programmer credits to the Atomic KMSDRM driver.
2020-08-25 16:30:23 +02:00
Manuel Alfayate Corchete
9316a8d979
kmsdrm: move FENCE FD props setting to SwapWindow(), where it belongs.
2020-08-25 16:18:49 +02:00
Manuel Alfayate Corchete
3f38009b2f
kmsdrm: comment out atomic commit fast-debugging printf.
2020-08-25 15:40:36 +02:00
Manuel Alfayate Corchete
0d16761cbe
kmsdrm: fix segfault on quit beacuse of freed _this->egl_data.
2020-08-25 05:53:13 +02:00
Manuel Alfayate Corchete
d43e666eed
kmsdrm: Buffer management refactoring. Fixes for compatibility with more video drivers.
2020-08-25 04:05:36 +02:00
Manuel Alfayate Corchete
eade05ca03
kmsdrm: Finetune integer type usage. Add some comments.
2020-08-24 12:51:20 +02:00
Manuel Alfayate Corchete
a76f176361
kmsdrm: Move cursor plane setup and freeing to MouseInit() and MouseQuit(), for better consistency.
2020-08-24 01:10:11 +02:00
Manuel Alfayate Corchete
0d593d7ead
kmsdrm: Add error control to plane prop setting function. Do most plane prop setting with a single function.
2020-08-23 23:44:07 +02:00
Manuel Alfayate Corchete
e06e9c35c8
kmsdrm: move cursor-related atomic helper functions and related struct typedefs to the SDL_kmsdrmmouse unit.
2020-08-23 11:26:55 +02:00
Manuel Alfayate Corchete
0b7b7721b9
kmsdrm: remove redundant function, use drm_atomic_setbuffers() for disconnecting planes instead.
2020-08-23 03:13:50 +02:00
Manuel Alfayate Corchete
16c04f266a
kmsdrm: Init cursor surface on SetCursor() ONLY. Removal of dynamic modeset because it causes A LOT of problems with some kernel video drivers. Some refactoring and cleanups.
2020-08-23 02:58:57 +02:00
Manuel Alfayate Corchete
0d0ba111ae
kmsdrm: correct parameter name.
2020-08-19 01:34:56 +02:00
Manuel Alfayate Corchete
5d32eda956
kmsdrm: implement smarter surface recreation function to be used in videomode changes. Other minor arrangements.
2020-08-19 01:31:22 +02:00
Manuel Alfayate Corchete
f79da81721
kmsdrm: free all connector, crtc and plane memory on KMSDRM_VideoQuit().
2020-08-18 01:52:15 +02:00
Sylvain Becker
965b466ee8
Fixed bug 4297 - Android StrictMode policy. Remove APK expansion support
...
"In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play"
(see https://developer.android.com/guide/app-bundle )
And "Android App Bundles don't support APK expansion (*.obb) files".
2020-08-17 19:50:20 +02:00
Manuel Alfayate Corchete
92cb9192e3
kmsdrm: move hardware cursor functionality to the ATOMIC interface. Disconnect the display plane from the GBM surface buffers before destroying the GBM surface.
2020-08-17 18:35:04 +02:00
Kai Krakow
c3ecf18cc4
Linux: Add hint for disabling deadzones
2020-07-21 23:38:42 +02:00
Tudor Brindus
c094332825
wayland: defer pointer confine creation until pointer unlock
...
It is a protocol error to attempt to create a pointer confine (i.e.
`SDL_SetWindowGrab`) while a locked pointer is active, and vice-versa.
Instead of aborting due to a protocol error, this commit makes SDL
gracefully downgrade locked pointers to confines when appropriate.
2020-07-21 13:14:24 -04:00
Ryan C. Gordon
a720d1a294
render: fixes to how we convert touch events for logical scaling.
...
We now handle HiDPI correctly, and touches are clamped to the viewport. So
if you are rendering to a logical 640x480 in a 720p window, and touch the
letterboxing at point (640,700), it will report the touch at (0.5,1.0) instead
of outside the documented range.
2020-08-09 00:55:39 -04:00
Manuel Alfayate Corchete
c437729b21
kmsdrm: separate requests in different functions so we only need one atomic commit for everything, as expected by atomic design.
2020-08-08 14:27:55 +02:00
Manuel Alfayate Corchete
3b9f1073c6
kmsdrm: wait for possible pending atomic commits before destroying surfaces, and before restoring video on quit. Move messages to the SDL_Log* functions.
2020-08-07 11:53:04 +02:00
Manuel Alfayate Corchete
96c99693a2
kmsdrm: wait for pending atomic commits before restoring videomode and crtc->buffer on VideoQuit, and simplify double-buffer SwapWindow() implementation.
2020-08-06 01:36:56 +02:00
Manuel Alfayate Corchete
09692b6170
kmsdrm: move videomode restoration on VideoQuit() to using the atomic interface instead of the legacy drmModeSetCrtc() function. Refactoring of get_plane_id().
2020-08-05 18:55:22 +02:00
Manuel Alfayate Corchete
fc722b2d21
kmsdrm: free memory for plane, crtc and connector property tables on VideoQuit.
2020-08-05 15:28:51 +02:00
Manuel Alfayate Corchete
2d69ce08ba
kmsdrm: double and triple buffered versions of SwapWindow() are now both reimplemented in atomic pageflipping versions, and can be selected via SDL_VIDEO_DOUBLE_BUFFER env variable.
2020-08-05 02:06:59 +02:00
Manuel Alfayate Corchete
8996ee1786
kmsdrm: update SwapWindow fn, moving it to triple-buffer.
2020-08-03 22:24:49 +02:00
Ryan C. Gordon
ea171c0564
winrt: Another attempt at getting this to compile.
...
IntPtr isn't a POD type like I thought, so hopefully we can just construct
one that works out? C++/CX is so weird.
2020-08-01 18:58:42 -04:00
Manuel Alfayate Corchete
b131661c6d
kmsdrm: rewrite the new SwapWindow() fn to avoid tearing. Double-buffer only for now.
2020-08-01 18:23:34 +02:00