|
3c6004fe
|
2020-09-10T15:07:23
|
|
kmsdrm: Choose how to swap buffers based on EGL extension availability.
|
|
c7e761f8
|
2020-09-10T15:05:55
|
|
kmsdrm: Patched to compile if EGL headers lack EGL_ANDROID_native_fence_sync.
|
|
224aa45b
|
2020-09-10T15:04:35
|
|
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.
|
|
092162ed
|
2020-09-10T15:02:51
|
|
video: Set up default before calling GL_DefaultProfileConfig().
This way, the implementation can opt to do nothing to accept SDL's defaults.
|
|
e758dd53
|
2020-09-10T15:02:00
|
|
egl: Make SDL_EGL_HasExtension() available outside of SDL_egl.c.
|
|
055cad49
|
2020-09-10T02:15:53
|
|
kmsdrm: no need to re-connect/reactivate things in SwapWindow() anymore because we use a dumb buffer on KMS buffers destruction now.
|
|
351219bf
|
2020-09-09T03:18:26
|
|
kmsdrm: On VideoQuit(), only destroy dumb buffer if it exists.
|
|
8709f67e
|
2020-09-08T08:42:30
|
|
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.
|
|
244d0ad8
|
2020-09-08T15:30:45
|
|
kmsdrm: Tell SDL that mouse has entered the window via artificial event. Fixes sticky mouse in Scummvm.
|
|
550e1533
|
2020-09-08T02:42:32
|
|
kmsdrm: No need to test for display driverdata when freeing a plane.
|
|
6e03fab9
|
2020-09-07T23:15:33
|
|
kmsdrm: add temporary RPI4_COMPAT define to try RPI4+current Rasbian compatibility.
|
|
0f807fd6
|
2020-09-07T22:54:15
|
|
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.
|
|
4d1c2a18
|
2020-09-07T19:00:21
|
|
Fix false compiler warning: initialize the variable 'memdiff'
|
|
ebc12a2f
|
2020-09-07T18:50:30
|
|
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
|
|
cce6c605
|
2020-09-07T01:33:04
|
|
kmsdrm: fix errors when trying to free up videomode driverdata pointers on quit.
|
|
9501b1c6
|
2020-09-07T00:18:13
|
|
kmsdrm: fix scaling for SDL_WINDOW_FULLSCREEN windows.
|
|
daa752b1
|
2020-09-06T23:19:54
|
|
kmsdrm: fix first frame display: no need to wait for SwapWindow() for EGL surface creation.
|
|
68ac9349
|
2020-09-06T12:48:39
|
|
kmsdrm: more coherent returns for SwapWindow.
|
|
d3d9d432
|
2020-09-06T12:17:27
|
|
kmsdrm: Remove debug printfs in SwapWindow.
|
|
d7aebbd5
|
2020-09-06T12:08:22
|
|
kmsdrm: Don't create surfaces until EGL context is available.
|
|
1b6de9a9
|
2020-09-05T15:01:45
|
|
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.
|
|
97fad045
|
2020-09-02T19:38:03
|
|
Fixed bug 5278 - export SDL_AndroidRequestPermission() (Thanks Huki!)
|
|
f4e02a5c
|
2020-08-31T19:17:17
|
|
kmsdrm: Do NOT modify window size manually from the backend: doing so caused renderer scaling params miscalculation.
|
|
c09d1cee
|
2020-08-28T23:04:00
|
|
kmsdrm: Apply window reconfiguration in SetWindowSize(), too.
|
|
31b17945
|
2020-08-28T22:38:26
|
|
kmsdrm: use PLANE and CRTC to do hardware-driven window scaling and AR-correction.
|
|
fe3f9796
|
2020-08-26T01:37:30
|
|
kmsdrm: unload EGL and GL lib only if using them.
|
|
9b43464d
|
2020-08-25T16:30:23
|
|
kmsdrm: Add programmer credits to the Atomic KMSDRM driver.
|
|
9316a8d9
|
2020-08-25T16:18:49
|
|
kmsdrm: move FENCE FD props setting to SwapWindow(), where it belongs.
|
|
3f38009b
|
2020-08-25T15:40:36
|
|
kmsdrm: comment out atomic commit fast-debugging printf.
|
|
0d16761c
|
2020-08-25T05:53:13
|
|
kmsdrm: fix segfault on quit beacuse of freed _this->egl_data.
|
|
d43e666e
|
2020-08-25T04:05:36
|
|
kmsdrm: Buffer management refactoring. Fixes for compatibility with more video drivers.
|
|
eade05ca
|
2020-08-24T12:51:20
|
|
kmsdrm: Finetune integer type usage. Add some comments.
|
|
a76f1763
|
2020-08-24T01:10:11
|
|
kmsdrm: Move cursor plane setup and freeing to MouseInit() and MouseQuit(), for better consistency.
|
|
0d593d7e
|
2020-08-23T23:44:07
|
|
kmsdrm: Add error control to plane prop setting function. Do most plane prop setting with a single function.
|
|
e06e9c35
|
2020-08-23T11:26:55
|
|
kmsdrm: move cursor-related atomic helper functions and related struct typedefs to the SDL_kmsdrmmouse unit.
|
|
0b7b7721
|
2020-08-23T03:13:50
|
|
kmsdrm: remove redundant function, use drm_atomic_setbuffers() for disconnecting planes instead.
|
|
16c04f26
|
2020-08-23T02:58:57
|
|
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.
|
|
0d0ba111
|
2020-08-19T01:34:56
|
|
kmsdrm: correct parameter name.
|
|
5d32eda9
|
2020-08-19T01:31:22
|
|
kmsdrm: implement smarter surface recreation function to be used in videomode changes. Other minor arrangements.
|
|
f79da817
|
2020-08-18T01:52:15
|
|
kmsdrm: free all connector, crtc and plane memory on KMSDRM_VideoQuit().
|
|
96d555e2
|
2020-08-17T20:09:01
|
|
Android: remove un-needed java import (bug 4297)
|
|
965b466e
|
2020-08-17T19:50:20
|
|
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".
|
|
92cb9192
|
2020-08-17T18:35:04
|
|
kmsdrm: move hardware cursor functionality to the ATOMIC interface. Disconnect the display plane from the GBM surface buffers before destroying the GBM surface.
|
|
86517d3e
|
2020-08-10T08:42:35
|
|
Fixed bug 5242 - KMOD_* flags unnecessarily macros; breaks OGRE
Rainer Deyke
While most of the KMOD_* flags are enums, the combination flags KMOD_CTRL, KMOD_ALT, KMOD_SHIFT and KMOD_GUI are defined as macros. This breaks third-party code that uses these KMOD_* names for local identifiers, such as OGRE. The correct thing to do is to make them all enums.
|
|
a720d1a2
|
2020-08-09T00:55:39
|
|
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.
|
|
c437729b
|
2020-08-08T14:27:55
|
|
kmsdrm: separate requests in different functions so we only need one atomic commit for everything, as expected by atomic design.
|
|
3b9f1073
|
2020-08-07T11:53:04
|
|
kmsdrm: wait for possible pending atomic commits before destroying surfaces, and before restoring video on quit. Move messages to the SDL_Log* functions.
|
|
96c99693
|
2020-08-06T01:36:56
|
|
kmsdrm: wait for pending atomic commits before restoring videomode and crtc->buffer on VideoQuit, and simplify double-buffer SwapWindow() implementation.
|
|
09692b61
|
2020-08-05T18:55:22
|
|
kmsdrm: move videomode restoration on VideoQuit() to using the atomic interface instead of the legacy drmModeSetCrtc() function. Refactoring of get_plane_id().
|
|
fc722b2d
|
2020-08-05T15:28:51
|
|
kmsdrm: free memory for plane, crtc and connector property tables on VideoQuit.
|
|
2d69ce08
|
2020-08-05T02:06:59
|
|
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.
|
|
8996ee17
|
2020-08-03T22:24:49
|
|
kmsdrm: update SwapWindow fn, moving it to triple-buffer.
|
|
ea171c05
|
2020-08-01T18:58:42
|
|
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.
|
|
b131661c
|
2020-08-01T18:23:34
|
|
kmsdrm: rewrite the new SwapWindow() fn to avoid tearing. Double-buffer only for now.
|
|
282e4c65
|
2020-07-31T19:42:23
|
|
winrt: Patched to compile...?
Microsoft's C++/CX is weird, no idea if this will actually fix it. :/
|
|
1a5503ce
|
2020-07-28T21:11:25
|
|
kmsdrm: Moved to the ATOMIC KMS/DRM interface for buffer swapping, leaving DRM-legacy behind.
|
|
e410b34f
|
2020-07-24T22:24:03
|
|
stdlib: Corrected implementation of SDL_wcsncmp.
It was a copy/paste of SDL_strcmp, apparently, not SDL_strncmp, so it ignored
the maxlen parameter.
Thanks to Jack Powell for pointing this out!
|
|
c3ecf18c
|
2020-07-21T23:38:42
|
|
Linux: Add hint for disabling deadzones
|
|
c0943328
|
2020-07-21T13:14:24
|
|
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.
|
|
c7eb557d
|
2020-07-20T10:09:07
|
|
kmsdrm: do not leak drmModeConnector
Previously conn was leaked on the success path (when available was
set to SDL_TRUE).
|
|
412b21b0
|
2020-07-20T11:42:23
|
|
Rename the gbm device struct from gbm to gbm_dev for better readabilty.
|
|
155fdc7a
|
2020-07-19T21:48:17
|
|
kmsdrm: settle with first card that has a connected connector
Previously the first card with non-empty connectors, encoders
and crtcs would be selected, however KMSDRM_VideoInit could still reject
it if the connector was not connected. This allow finding the first card
(in a multi GPU setup) that is actually connected to a display.
|
|
b78b88f7
|
2020-07-19T21:46:41
|
|
kmsdrm: fix typo
|
|
75fe4b14
|
2020-07-19T19:53:57
|
|
Added comment about window creation behaviour in KMSDRM.
|
|
2f660c4f
|
2020-07-19T19:11:02
|
|
Delete windata variable no longer needed in KMSDR_SetDisplayMode().
|
|
3a1d7d9c
|
2020-07-19T19:09:15
|
|
Surfaces have to be recreated immediately from KMSDRM_SetDisplayMode().
|
|
b6a818b6
|
2020-07-19T18:45:29
|
|
Fix SDL_Window recreation: drmModeSetCrtc() has to be called everytime the EGL and GBM surfaces are recreated.
|
|
71e9df99
|
2020-07-19T08:55:01
|
|
Fixed bug 5231 - Fix for hardware cursor: size and alpha-premultiplication.
Manuel Alfayate Corchete
I noticed pt2-clone had problems with it's optional hardware mouse on the KMSDRM backend: cursor had a transparent block around it.
So I was investigating and it seems that a GBM cursor needs it's pixels to be alpha-premultiplied instead of straight-alpha.
A
lso, I was previously relying on "manual testing" for the cursor size, but it's far better to use whatever the DRM driver recommends via drmGetCap(): any working driver should make a size recommendation via drmGetCap(), so that's what we use now. I took this decision because I found out that the AMDGPU driver reported working cursor sizes that would appear garbled on screen, and only the recommended cursor size works.
|
|
b0ca8efd
|
2020-07-17T22:21:37
|
|
Re-add check for Metal on x86, where it's not supported.
|
|
b7a4fdd3
|
2020-07-17T11:16:35
|
|
metal: Make sure we have a command buffer available before trying to present.
This fixes a case where you render to the backbuffer, then render to a render
target, set the current target back to the backbuffer, and then present
without drawing anything else; in this circumstance, the Present command
would never happen.
Fixes Bugzilla #5011.
|
|
b5affd12
|
2020-07-16T13:28:59
|
|
Patched to compile.
|
|
3b38e61a
|
2020-07-16T13:25:50
|
|
winrt: Fix casting a pointer to int.
Fixes Bugzilla #5202.
|
|
8babda2c
|
2020-07-16T13:18:19
|
|
egl: SDL_EGL_LoadLibaryOnly() shouldn't set _this->gl_config.driver_loaded = 1
This is handled in in the higher-level SDL_GL_LoadLibrary().
All uses of SDL_EGL_LoadLibrary (which calls the Only version) are just
target-specific wrappers for their own GL_LoadLibrary hook, with two
exceptions which now handle driver_loaded correctly (although it's
questionable if these init-if-no-one-did-it-correctly-already code blocks
should exist at all, fwiw).
Fixes Bugzilla #5190.
|
|
af71510c
|
2020-07-16T04:43:08
|
|
assert: Implement SDL_TriggerBreakpoint for Apple ARM hardware.
|
|
45f5eb06
|
2020-07-16T04:37:14
|
|
configure: On Apple platforms, only exclude Vulkan on x86.
This catches both x86-64 and ARM devices.
|
|
968b830d
|
2020-07-15T16:12:44
|
|
Fixed bug 5232 - SDL2 configure script detects Apple Silicon Macs as iPhones; fails to build due to missing components
jackmacwindowslinux
I'm testing my application that uses SDL2 on the new Apple Silicon Macs. I set up the SDL 2.0.12 source code from the website and tried to build it. The first issue I ran into was that it was always building OpenGL ES, even if --disable-video-opengles was passed to configure. OpenGL ES headers do not seem to be present on the Apple Silicon macOS SDK, except for the iOS SDK headers. Then I had problems with the joystick driver, where some classes used on iOS were not available on macOS.
After looking through the configure.ac script a bit, I found that iOS targets are selected when the build host matches "arm*-apple-darwin*". Clang on macOS 11.0 on arm64 reports the host as "arm64-apple-darwin20.0.0", which matches the iOS target. This means that ARM Mac compilation will always be detected as iOS. Unfortunately, there doesn't seem to be an easy way to detect Mac vs. iOS targets, since they now both use the same triplet & compiler for building.
I'm not sure what the best way to fix this is, but maybe there could be an additional target flag to specify whether to build for macOS or iOS? This might break compatibility, though: with this approach, either all old scripts that used configure to build for iOS fail, or all new builds on macOS without a flag fail (silently?).
|
|
cab1a715
|
2020-07-15T10:15:52
|
|
Fixed bug 5233 - PS3 Gamepad Motion Control not correctly ignored on Linux
Igor Morgado
PS3 Controller motion sensor string is being reported as
`Gasia Co.,Ltd PS(R) Gamepad Motion Sensors`
But `src/joystick/SDL_gamecontroller.c` line1690 only ignores if matches the string `Controller Motion Sensors`.
```
#if defined(__LINUX__)
if (name && SDL_strstr(name, "Controller Motion Sensors")) {
/* Don't treat the PS3 and PS4 motion controls as a separate game controller */
return SDL_TRUE;
}
#endif
```
Therefore, SDL is mapping 2 Game controllers instead one.
Maybe reduce the substring to match `Motion Sensors` instead.
A simple log from my application is shown below:
INFO: Game controller device 0 - PS3 Controller:PS3 Controller found.
INFO: Controller 0: Player 0: 054c:0268:8111 - PS3 Controller - PS3 Controller - Gasia Co.,Ltd PS(R) Gamepad
INFO: Game controller device 1 - PS3 Controller:PS3 Controller found.
INFO: Controller 1: Player 1: 054c:0268:8111 - PS3 Controller - PS3 Controller - Gasia Co.,Ltd PS(R) Gamepad Motion Sensors
|
|
8669a87f
|
2020-07-14T21:13:27
|
|
Reuse X11 connection from availability check
Instead of creating an X11 connection to test that X11 is available,
closing the connection, and then reconnecting for real, use the same
connection to handle both cases.
The X11 connection retry delay mechanism in the case where X11 is
dynamically loaded has been removed. It was only necessary to avoid
authetnication token reuse from the XOpenDisplay call that used to
exist in X11_Available. Now that this call is only made once, it
is no longer needed.
Also drop unused and inapplicable code from a comment.
***
|
|
a78b9763
|
2020-07-14T19:18:16
|
|
Reuse Wayland connection from availability check
|
|
052a1373
|
2020-07-12T19:11:15
|
|
Merge VideoBootStrap::available into VideoBootStrap::create
The two are only ever called together, and combining them makes it possible
to eliminate redundant symbol loading and redundant attempts to connect
to a display server.
|
|
49ec6558
|
2020-07-11T08:10:02
|
|
fix bug #5228 -- Add AltiVec detection for FreeBSD.
thanks Piotr Kubaj.
|
|
b1626295
|
2020-07-08T17:28:34
|
|
cmake: Fix building with -DSDL_HAPTIC=Off
|
|
fe97f01b
|
2020-07-05T22:33:10
|
|
configure: corretly print --enable-arm-simd default value.
|
|
6aec6da4
|
2020-06-28T17:45:07
|
|
stdinc: Let Clang static analysis see more C runtime functions.
For systems without strlcpy and strlcat, just declare them as if they exist;
the analyzer possibly still knows the details of these functions and can
utilize that in its analysis.
Most of this patch was from meyraud705 at gmail and Martin Gerhardy. Thanks!
Fixes Bugzilla #5163.
|
|
0e98040d
|
2020-06-28T16:23:05
|
|
joystick: Linux joysticks now recover better from dropped events.
Fixes Bugzilla #4830.
|
|
e594a673
|
2020-06-27T16:25:47
|
|
emscripten: Introduce SDL_HINT_EMSCRIPTEN_ASYNCIFY
See https://github.com/emscripten-core/emscripten/issues/10746
and
https://github.com/emscripten-ports/SDL2/pull/112
Fixes Bugzilla #4997.
|
|
01af7b02
|
2020-06-27T16:22:50
|
|
emscripten: support pseudo-synchronous screen refresh and events update using asyncify
|
|
3b71ebec
|
2020-06-27T02:38:13
|
|
configure: Accidentally deleted a ')'
Sorry!
|
|
e294639a
|
2020-06-27T02:00:58
|
|
cmake: Fix Metal detection on macOS/iOS.
Apparently the "-x objective-c" made it down to the linker, who then treats
the .o file as Objective-C source code. Apparently the -ObjC argument does
the same thing but gets ignored by the linker.
Fixes Bugzilla #4988.
|
|
363fd52b
|
2020-06-26T23:30:59
|
|
configure/cmake: Disable ARM SIMD and NEON by default.
It's buggy at the moment.
|
|
694fea8a
|
2020-06-26T21:37:29
|
|
video: Make SDL_CreateWindow use SDL_Init(SDL_INIT_VIDEO), not SDL_VideoInit.
Otherwise, the video subsystem won't deinitialize during SDL_Quit().
Fixes Bugzilla #5067.
|
|
50fd0dd1
|
2020-06-26T21:35:54
|
|
test: testspriteminimal wasn't calling SDL_Quit() on exit.
|
|
1947ca70
|
2020-06-26T20:16:43
|
|
video: Changed SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS to default to FALSE.
Fixes Bugzilla #5106. (and probably many others, too!)
|
|
21482c15
|
2020-06-26T20:11:32
|
|
cmake: Bump minimum required CMake to 3.0.0 and mark link libraries PRIVATE.
Fixes Bugzilla #2992.
|
|
d955d63b
|
2020-06-26T17:42:30
|
|
cmake: Build Linux-specific files like the configure script does.
Otherwise we unconditionally compile things we shouldn't.
Fixes Bugzilla #5175.
|
|
718e1fb8
|
2020-06-26T22:45:15
|
|
cmake: Fix building with -DSDL_SENSOR=Off
|
|
dd753ce7
|
2020-06-26T15:04:57
|
|
cmake: Fix building with -DSDL_POWER=Off
Fixes Bugzilla #5193.
|
|
ce293eed
|
2020-06-23T10:12:24
|
|
Fixed bug 5208 - Fix libGL loading on OpenBSD
|
|
c2b85305
|
2020-06-23T10:09:29
|
|
Fixed bug 5209 - cpuinfo recognize OpenBSD ARM
Brad Smith
OpenBSD/arm only supports ARMv7 and and not any CPUs that do not support NEON.
|
|
4ba0a847
|
2020-06-22T23:24:02
|
|
core/linux/SDL_threadprio.c: fix build against older glibc versions
|