|
f8839289
|
2020-12-15T12:22:48
|
|
Potential fix for bug 5393 - KMSDRM: using atomic mode setting breaks GPU compatibility
Substring
I was trying the KMSDRM video backend with some very simple programs that were working ok on 2.0.12. The same code won?t work on the current dev branch and I get:
DEBUG: check_modesetting: probing ?/dev/dri/card0?
DEBUG: /dev/dri/card0 connector, encoder and CRTC counts are: 4 5 6
DEBUG: check_modesetting: probing ?/dev/dri/card0?
DEBUG: /dev/dri/card0 connector, encoder and CRTC counts are: 4 5 6
DEBUG: KMSDRM_VideoInit()
DEBUG: Opening device /dev/dri/card0
DEBUG: Opened DRM FD (3)
DEBUG: no atomic modesetting support.
DEBUG: Video subsystem has not been initialized
INFO: Using SDL video driver: (null)
DEBUG: Video subsystem has not been initialized
After carefully checking, the radeon driver doesn?t support atomic modesetting. That?s not the only problem : the same happens with the amdgpu driver if we disable Display Core (kernel parameter amdgpu.dc=0, which is required to get analogue outputs working).
This is a major regression in the KMSDRM driver.
Using atomic mode setting is great, but having no fallback to the "standard KMS" is bad.
|
|
bd032c1f
|
2020-12-09T07:26:59
|
|
Fixed bug 5221 - libusb isn't detected correctly in CMake
Sven-Hendrik Haase
In CMake I currently have trouble activating hidapi support as libusb-1.0 isn't ever correctly detected as it's searched for by the wrong name.
configure.ac correctly does this:
PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], have_libusb=yes, have_libusb=no)
However, sdlchecks.cmake does this:
pkg_check_modules(LIBUSB libusb)
but it needs to be:
pkg_check_modules(LIBUSB libusb-1.0)
|
|
2b7ce8c5
|
2020-04-14T18:14:39
|
|
cmake: Set HAVE_VIDEO_WAYLAND_QT_TOUCH if appropriate (thanks, Michael!).
|
|
952bac7c
|
2020-04-13T15:22:09
|
|
cmake: use check_symbol_exists, not check_function_exists (thanks, Manuel!)
This fixes the problem where we think iOS has fseeko64, etc, but doesn't.
Fixes Bugzilla #4885.
|
|
377f2d35
|
2020-04-01T13:43:53
|
|
configure: Remove wayland-protocols check from configure and CMake scripts.
We ship these with SDL now, don't need the system versions installed.
|
|
f7c9502d
|
2020-03-20T12:13:26
|
|
Fixed bug 5044 - CMake messes up hidapi path when project directory contains spaces
Eric Jing
When the project directory path contains spaces, CMake butchers the include path for the hidapi files.
I traced the problem to the cmake/sdlchecks.cmake file at line 1091, which sets flags for the build process. I surrounded the problem flag with double quotes, shown below, and CMake works with spaces in the project directory path.
|
|
c7a739be
|
2020-03-02T15:24:10
|
|
Fixed bug 4643 - Append EGL CFLAGS in CheckOpenGLESX11
Danilo Spinella
EGL need -DMESA_EGL_NO_X11_HEADERS in systems without X11 installed. Make CMake checks import EGL CFLAGS.
Relevant bug: https://bugzilla.libsdl.org/show_bug.cgi?id=4243
|
|
e149f4c4
|
2019-07-31T11:34:00
|
|
cmake: Fix locating libusb header at configure-time
Removing the CheckUSBHID call is necessary to avoid caching the failed header
check result before we find libusb via pkg-config.
|
|
f7d82e56
|
2019-07-31T12:20:55
|
|
hidapi: Add SDL_hidapi.c, allows support for multiple hidapi backends.
This is currently supported on Linux and macOS. iOS and Android are not
supported at all, Windows support could be added with some changes to the libusb
backend. The Visual Studio and Xcode projects do not use this feature.
Based on Valve Software's hid.cpp, written in collaboration with Andrew Eikum.
|
|
66d4d8e2
|
2019-07-08T16:46:52
|
|
cmake: Added HIDAPI support.
|
|
bc57ac27
|
2018-11-02T21:34:17
|
|
mir: Removed mir client support.
Fixes Bugzilla #4288.
|
|
4f5bd53e
|
2018-06-25T09:37:25
|
|
wayland: Keep protocol XML files in-tree.
Now you don't need the latest Wayland installed to build with
newer protocols supported, as they'll build correctly; even if
your system can't use them, we can make intelligent decisions
at runtime about what's available on the current machine anyhow.
This also simplifies some logic and possible failure cases in
the configure and CMake scripts.
Fixes Bugzilla #4207.
|
|
c70db0ca
|
2018-06-24T15:12:18
|
|
cmake: Look in popular places for X11 headers, export this info properly.
Fixes CMake not being able to find X11 on FreeBSD (which generally has the
headers in /usr/local/include/X11).
List of other popular places borrowed from CMake's FindX11 module.
This worked on the configure script because of magic in the AC_PATH_X macro.
Fixes Bugzilla #4815.
|
|
ba9ede12
|
2018-02-13T13:25:59
|
|
Fixed bug 4027 - CheckLibSampleRate macro in sdlchecks.cmake never defines HAVE_LIBSAMPLERATE{,_SHARED}, so they're always reported as disabled by MESSAGE_TESTED_OPTION macro in macros.cmake
|
|
4ff16ba3
|
2018-02-13T07:59:45
|
|
Fixed bug 4081 - sdlchecks.cmake: typo introduced by rev11848 breaks building with wayland support
|
|
bd0def06
|
2018-02-07T14:12:26
|
|
Set rpath instead of changing environment for RPi
Credit goes to Adrian Perez de Castro for the improvement.
Signed-off-by: Guillermo A. Amaral <g@maral.me>
|
|
cd532207
|
2018-02-07T13:13:55
|
|
wayland: Add support for xdg-shell protocol (unstable v6).
This is meant to be the desktop-enhanced version of wl_shell. Right now we
just match what the existing wl_shell code does, but there are other areas of
functionality available to us now, that we can fill in later.
This uses the "unstable" API, since this is what ships in Ubuntu 17.10 (as
part of Wayland 1.10), but Wayland 1.12 promotes this to stable with extremely
minor changes. We will add support for the stable version when it makes sense
to do so.
|
|
32d421d4
|
2018-02-07T13:07:59
|
|
cmake: Minor cleanup (reuse a string we already calculated).
|
|
35554caf
|
2018-01-17T13:17:10
|
|
Make rpi video cross-compiler friendly.
* Stops using fixed path to find GLES/EGL libs.
* Tries pkg-config to locate bcm_host.
Signed-off-by: Guillermo A. Amaral <g@maral.me>
|
|
c722e58d
|
2017-08-27T23:25:12
|
|
vulkan: Include a copy of vulkan.h and vk_platform.h.
Now we can provide Vulkan support in the build even if the build box doesn't
have a Vulkan SDK, since we dynamically link to the library anyhow.
|
|
25e3a1ec
|
2017-08-27T22:15:57
|
|
vulkan: Initial Vulkan support!
This work was done by Jacob Lifshay and Mark Callow; I'm just merging it
into revision control.
|
|
80c6c2fa
|
2017-08-09T22:34:45
|
|
cmake: whoops, Sam and I both fixed this bug at the same time. :)
|
|
d3af447e
|
2017-08-09T18:47:33
|
|
Fixed bug 3590 - CMAKE: typos in CheckMir
Martin Gerhardy
- list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CLFAGS} ${XKB_CLFLAGS})
+ list(APPEND EXTRA_CFLAGS ${MIR_TOOLKIT_CFLAGS} ${EGL_CFLAGS} ${XKB_CFLAGS})
CFLAGS is spelled wrong in two different ways for EGL and XKB
And while you are on it...
sdl needs mir >= 0.24 afaik - it fails on travis-ci (ubuntu 14.04 LTS with 0.18 installed and in other environments, too (e.g. https://github.com/urho3d/Urho3D/issues/1685)
To fix this one should add a min version check to pkg_check_modules like this
- pkg_check_modules(MIR_TOOLKIT mirclient mircommon)
+ pkg_check_modules(MIR_TOOLKIT mirclient>=0.24 mircommon)
|
|
1b8117be
|
2017-08-09T19:50:18
|
|
cmake: Don't link directly against a libpthread on Android (thanks, Anthony!).
Android has pthreads, but it's just part of their C runtime instead of a
separate library like the usual Linux platforms.
Fixes Bugzilla #3675.
|
|
56363ebf
|
2017-08-02T10:22:48
|
|
Fixed bug 3690 - SDL2 KMS/DRM render context support
Manuel
The attached patch adds support for KMS/DRM context graphics.
It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation.
Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition.
X86 systems use KMS right away in every current GNU/Linux system.
Simple build instructions:
$./autogen.sh
$./configure --enable-video-kmsdrm
$make
|
|
34b29c6a
|
2017-07-10T18:40:35
|
|
Fixed bug 3688 - cmake / pthread check related patch proposal
Juha Niemim?ki
Fix for PTHREAD_MUTEX_RECURSIVE_NP check and restoring the original flags
Two fixes proposed:
1) Looks like there is a copy-paste issue regarding PTHREAD_MUTEX_RECURSIVE_NP check.
2) Compiler flag restoration doesn't look symmetrical regarding if/endif blocks. Moved to an outer block (if PTHREADS).
|
|
2b5a5c51
|
2017-06-08T22:07:55
|
|
Android build fixes
-Enabling checking for GCC_ATOMICS also on clang by default. This way all Android ABIs build successfully
-Android cmake: Threading was not enabled correctly
-Android cmake: Timers and dynamic lib loading were not included in the sources
|
|
d9039f23
|
2017-06-08T13:27:58
|
|
jack: Initial shot at a JACK audio target.
http://jackaudio.org/
Fixes Bugzilla #2163.
(with several more commits following to improve this code.)
|
|
df25258a
|
2017-01-06T20:43:53
|
|
Added configure and cmake support for libsamplerate
|
|
8a0704d1
|
2016-10-11T16:36:40
|
|
cmake: Now generates Wayland protocol source bits like the configure script.
Fixes Bugzilla #3430.
|
|
abefe785
|
2016-10-07T18:03:08
|
|
Fixed bug 3043 - fix alsa configury and cmake checks
Ozkan Sezer
SDL's alsa uses snd_pcm_recover() which has been available only since alsa-lib-1.0.11.
|
|
264e996e
|
2016-09-13T00:03:50
|
|
Fix CMake CMAKE_REQUIRED_FLAGS handling to preserve existing CMake flags required by Emscripten toolchain.
|
|
9fcf5d7d
|
2016-01-03T21:48:17
|
|
CMake: Don't link directly to libGL on Unix.
(we always dynamically load it at runtime when appropriate.)
|
|
0e45984f
|
2015-06-21T17:33:46
|
|
Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
|
|
e3f4ca0d
|
2015-06-08T01:13:51
|
|
configure/cmake/x11: Removed SDL_VIDEO_DRIVER_X11_CONST_PARAM_XDATA32 test.
This was the only thing that made SDL_config.h generate differently between
32 and 64-bit versions of Linux, so instead we force a function cast in our
X11 code to match our dynamic loader version, which removes the compile error
on some machines that prompted this test in the first place.
Xlib never wrote to this data, so if you're on an older Xlib where this param
wasn't const, your data should still be intact when we force the caller to
think it was actually const after all.
Fixes Bugzilla #1893.
|
|
b72938c8
|
2015-04-20T12:22:44
|
|
Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid
this, to save battery, etc, but this fixes several problems in timing, audio
callbacks not firing fast enough, etc.
Fixes Bugzilla #2944.
|
|
fe6c797c
|
2015-04-10T23:30:31
|
|
Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
|
|
5b6e064a
|
2015-04-07T20:01:43
|
|
CMake: fix CHECK_OBJC_SOURCE_COMPILES to work with GCC (thanks, Ivan!).
Apparently -ObjC works with Clang, but -x objective-c works with both.
Fixes Bugzilla #2392.
|
|
161e5d15
|
2015-03-20T23:29:09
|
|
Whoops, lost a newline in here.
|
|
3c76d2ff
|
2015-03-20T21:57:15
|
|
Several corrections to the CMake project files (thanks, Ozkan!).
Fixes Bugzilla #2732.
|
|
c1091f32
|
2015-03-20T10:35:42
|
|
CMake project files no longer force you to link against Wayland or Mir libs.
|
|
b88ca1b4
|
2015-02-10T16:28:56
|
|
the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here.
Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture.
More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
|
|
b48e54aa
|
2015-01-26T22:00:29
|
|
Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation
Jonas Kulla
The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c.
I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
|
|
a228b67d
|
2014-12-13T02:33:52
|
|
CMake: Replace "else(condition)" with "else()", etc.
Bumped required CMake version to 2.8.
Thanks to the SDL/Emscripten porting team for this cleanup.
|
|
70438be2
|
2014-12-03T10:55:23
|
|
WinRT: fixed bug whereby SDL would override an app's default orientation
WinRT apps can set a default, preferred orientation via a .appxmanifest file.
SDL was overriding this on app startup, and making the app use all possible
orientations (landscape and portrait).
Thanks to Eric Wing for the heads up on this!
|
|
9c398852
|
2014-11-22T22:20:40
|
|
Corrected header file documentation comment.
|
|
0302bb77
|
2014-10-17T23:10:33
|
|
Fixed syntax error in cmake file.
|
|
251ca855
|
2014-10-15T09:18:17
|
|
Expanded the iMX6 video driver into a general Vivante video driver that works across multiple SoCs
|
|
24c86b55
|
2014-09-11T19:24:42
|
|
[X11] Reconcile logical keyboard state with physical state on FocusIn
since the window system doesn't do it for us like other platforms.
This prevents sticky keys and missed keys when going in and out
of focus, for example Alt would appear to stick if switching away
from an SDL app with Alt-Tab and had to be pressed again.
CR: Sam
|
|
50cc4efe
|
2014-09-10T08:54:01
|
|
Freescale i.MX6 video driver
---
CMakeLists.txt | 2 +
cmake/sdlchecks.cmake | 20 +++
configure | 51 +++++++
configure.in | 28 ++++
include/SDL_config.h.cmake | 1 +
include/SDL_config.h.in | 1 +
src/video/SDL_sysvideo.h | 3 +
src/video/SDL_video.c | 3 +
src/video/mx6/SDL_mx6events.c | 45 ++++++
src/video/mx6/SDL_mx6events_c.h | 31 +++++
src/video/mx6/SDL_mx6opengles.c | 211 ++++++++++++++++++++++++++++
src/video/mx6/SDL_mx6opengles.h | 68 +++++++++
src/video/mx6/SDL_mx6video.c | 301 ++++++++++++++++++++++++++++++++++++++++
src/video/mx6/SDL_mx6video.h | 78 +++++++++++
14 files changed, 843 insertions(+)
create mode 100644 src/video/mx6/SDL_mx6events.c
create mode 100644 src/video/mx6/SDL_mx6events_c.h
create mode 100644 src/video/mx6/SDL_mx6opengles.c
create mode 100644 src/video/mx6/SDL_mx6opengles.h
create mode 100644 src/video/mx6/SDL_mx6video.c
create mode 100644 src/video/mx6/SDL_mx6video.h
|
|
984d0fc4
|
2014-08-16T23:28:40
|
|
Fixed bug 2683 - Raspberry PI support using CMake
Tobias Himmer
this patch adds a check to the CMake build script to detect whether the VideoCore API is available.
If it is found, it enables SDL_VIDEO_DRIVER_RPI and will also add the needed include/library directory flags to CMAKE_C_FLAGS so the subsequent check for GLES succeeds in picking up the headers.
Seems to work fine on Raspbian.
|
|
8077bf3d
|
2014-07-07T21:27:42
|
|
Fixed bug 2618 - incomplete pthread-based lock support should be removed
binarycrusader
Since changeset 358696c354a8, SDL 2.0 has been broken on Solaris when compiling with the Solaris Studio compiler (which uses the pthread implementation of SDL_AtomicLock).
Notably, it gets stuck at the MemoryBarrierRelease in SDL_GetErrBuf:
6585 # 218
6586 if (!tls_errbuf && !tls_being_created) {
6587 SDL_AtomicLock_REAL ( & tls_lock );
6588 if (!tls_errbuf) {
6589 SDL_TLSID slot;
6590 tls_being_created = SDL_TRUE;
6591 slot = SDL_TLSCreate_REAL ( );
6592 tls_being_created = SDL_FALSE;
6593 { SDL_SpinLock _tmp = 0 ; SDL_AtomicLock_REAL ( & _tmp ) ; SDL_AtomicUnlock_REAL ( & _tmp ) ; };
^^^ loops forever above
6594 tls_errbuf = slot;
6595 }
6596 SDL_AtomicUnlock_REAL ( & tls_lock );
6597 }
Running: testthread
(process id 28926)
^Cdbx: warning: Interrupt ignored but forwarded to child.
signal INT (Interrupt) in __nanosleep at 0xfe52a875
0xfe52a875: __nanosleep+0x0015: jae __nanosleep+0x23 [ 0xfe52a883, .+0xe ]
Current function is SDL_Delay_REAL
204 was_error = nanosleep(&tv, &elapsed);
(dbx) where
[1] __nanosleep(0xfeffe848, 0xfeffe850, 0xfe75a5ac, 0xfe5169d8), at 0xfe52a875
[2] nanosleep(0xfeffe848, 0xfeffe850), at 0xfe516a3b
=>[3] SDL_Delay_REAL(ms = 0), line 204 in "SDL_systimer.c"
[4] SDL_AtomicLock_REAL(lock = 0xfeffe88c), line 104 in "SDL_spinlock.c"
[5] SDL_GetErrBuf(), line 225 in "SDL_thread.c"
[6] SDL_ClearError_REAL(), line 216 in "SDL_error.c"
[7] SDL_InitSubSystem_REAL(flags = 0), line 116 in "SDL.c"
[8] SDL_Init_REAL(flags = 0), line 244 in "SDL.c"
[9] SDL_Init(a = 0), line 89 in "SDL_dynapi_procs.h"
[10] main(argc = 1, argv = 0xfeffe948), line 65 in "testthread.c"
As far as I can tell, this is because pthread_spin_trylock() always returns EBUSY for this particular lock; since it works in other places, I'm suspicious.
Different Solaris Studio compiler versions seem to make no difference.
I've verified this is broken on Linux as well if SDL_spinlock.c is modified to use the pthread implementation.
This appears to be because pthread_spin_init() and pthread_spin_destroy() are not used with the locks as required.
|
|
3dcb451f
|
2014-04-09T21:29:19
|
|
Added a README file regarding WinRT support
To note, this file is currently formatted with CRLF line endings, rather than
LF, to allow the file to be viewed with Notepad.
|
|
295acea9
|
2014-02-23T01:10:33
|
|
CMake: Just assume Apple platforms have Cocoa support.
Fixes Bugzilla #2056.
|
|
89fd0faf
|
2014-02-03T11:52:54
|
|
Hooked up dynamic loading for Mir.
|
|
19f8c622
|
2014-02-02T23:41:46
|
|
Added Mir video target (thanks, Brandon!).
|
|
f02ef298
|
2014-01-21T16:28:53
|
|
Fixed XF86 VidMode extension dynamic loading with CMake project.
|
|
ec1cb49e
|
2013-12-14T20:18:43
|
|
Wayland support
Based on the original port to Wayland by: Joel Teichroeb, Benjamin Franzke, Scott Moreau, et al.
Additional changes in this commit, done by me:
* Wayland uses the common EGL framework
* EGL can now create a desktop OpenGL context
* testgl2 loads GL functions dynamically, no need to link to libGL anymore
* Assorted fixes to the Wayland backend
Tested on the Weston Compositor (v1.0.5) that ships with Ubuntu 13.10,
running Weston under X. Tests ran: testrendercopyex (all backends), testgl2, testgles2,testintersections
|
|
f848adff
|
2013-11-29T10:06:08
|
|
Improve Android pause/resume behavior.
|
|
2f301404
|
2013-11-19T15:25:00
|
|
Fixed SONAME lookup for runtime loading of shared libraries in CMake project.
Fixes Bugzilla #2249.
|
|
825a6898
|
2013-11-19T15:00:39
|
|
-fvisibility=hidden is no longer a requirement for dynamic X11.
We don't clash with Xlib symbols anymore.
|
|
00003e8c
|
2013-11-14T11:51:24
|
|
Renamed things named after BeOS to be named after Haiku instead.
|
|
7550ddcc
|
2013-11-13T22:35:26
|
|
Started BeOS removal: merged BeOS thread and pthread code.
Haiku uses most of the standard pthread API, with a few #ifdefs where we
still need to fallback onto the old BeOS APIs.
BeOS, however, does not support pthreads (or maybe doesn't support it well),
so I'm unplugging support for the platform with this changeset. Be Inc went
out of business in 2001.
|
|
5a026006
|
2013-10-18T00:49:59
|
|
Fixed bug 2108 - CMake does not set X11 includes properly for sdl2-config and friends
Marcus von Appen
The autotools-based code uses X_CFLAGS and some hackish x_includes code to add some necessary includes to SDL_CFLAGS for proper X11 and OpenGL include handling.
At the moment, the cmake-baed build code does not do that. Below is a patch, which provides the necessary changes to add a proper include to the SDL_CFLAGS.
|
|
1c6d5576
|
2013-08-22T14:56:07
|
|
Separate EGL / GL ES detection in CMake
|
|
dad42067
|
2013-08-12T11:13:50
|
|
Fixes #2022, do not resume on Android when surfaceChanged
If the app is in landscape mode and the user presses the power button, a pause
is followed immediately by a surfaceChanged event because the lock screen
is shown in portrait mode. This triggers a "false" resume.
So, we just pause and resume following the onWindowFocusChanged events.
Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before
blocking the event pump.
|
|
1ad936eb
|
2013-08-11T19:56:43
|
|
Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow()
Rainer Deyke
I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.
|