|
04b1494c
|
2019-01-29T12:19:23
|
|
Emscripten: resize canvas to 0x0 in DestroyWindow
Closest we can get to actually destroying it
|
|
d60546aa
|
2019-01-29T12:19:06
|
|
Emscripten: don't zero the display mode before adding it
|
|
4a2888af
|
2019-01-29T12:19:03
|
|
Emscripten: use UTF8ToString instead of Pointer_stringify
|
|
aacb1091
|
2019-01-29T12:19:00
|
|
Emscripten: call emscripten_sample_gamepad_data
|
|
8dab9c95
|
2019-01-29T12:18:56
|
|
Emscripten: Use set_canvas_element_size
This will be needed for supporting multiple canvases and set_canvas_size
is deprecated anyway.
|
|
ed66a430
|
2019-01-29T12:14:54
|
|
Emscripten: Do not consume mouseup event outside of the canvas
|
|
2838abb5
|
2019-01-29T12:14:44
|
|
Emscripten: fix duplicate mousebuttonup/mousebuttondown events when touch events are disabled
|
|
1767d091
|
2019-01-29T12:14:41
|
|
Emscripten: use a fake size for external sizing check
The check would fail if the canvas happened to be the correct size
already. (#66, mentioned in #58)
|
|
80d690a2
|
2019-01-29T12:14:33
|
|
Emscripten: reset fullscreen_window when leaving fullscreen
If the browser left fullscreen mode by the user pressing ESC, the next
call to SDL_SetWindowFullscreen(1) will fail as it thinks the window is
already fullscreen. (#65)
|
|
82b2c849
|
2019-01-21T23:41:43
|
|
Fixed bug 4024 - GameController error "Unexpected controller element"
If mapping string is terminated with a comma, there is no more values to parse.
|
|
adabfdc0
|
2019-01-21T20:49:08
|
|
Revert SDL_gamecontrollerdb.h and sort_controllers.py from bug 4024
|
|
d984f323
|
2019-01-21T19:53:06
|
|
Fixed bug 3827 - issue with MapRGB, palette and colorkey
For palette surface, SDL_MapRGB() returns different values whether colorkey is
set or not.
|
|
2bd26b8d
|
2019-01-21T18:45:15
|
|
Fixed bug 3827 - issue with MapRGB, palette and colorkey
For a palettized surface, prevent SDL_MapRGB() value to change whether colorkey is set or not.
|
|
7b354dda
|
2019-01-20T13:53:16
|
|
Fixed compiler warning
|
|
8ad4000c
|
2019-01-20T22:17:41
|
|
Android: some typos
|
|
b9aa3768
|
2019-01-20T22:11:56
|
|
Android: automatically attach to the JVM non-SDL threads
It allows a thread created with pthread_create() to access the JNI Env
|
|
61827c6d
|
2019-01-20T12:02:12
|
|
Fixed compiler warning on Android
|
|
07548602
|
2019-01-19T16:47:43
|
|
Fixed bug 3657 - Color-key doesn't work when an alpha channel is present
When surface format is the same as renderer format, it still needs an
intermediate conversion to transform colorkey to alpha.
|
|
9d10c738
|
2019-01-17T16:30:19
|
|
Android: remove duplicate code in SDLGenericMotionListener_API24
and use parent method
|
|
55838d8b
|
2019-01-17T14:59:46
|
|
Android: remove another hard-coded constant for Samsung DeX (no op!)
|
|
56f4a711
|
2019-01-17T13:42:13
|
|
Android: minor change in the evaluation of SOURCE_CLASS_JOYSTICK (no op!)
InputDevice.SOURCE_CLASS_* are one bit
More readable to check that the source has this class_joystick set,
compared to the other statements, where the source is gamepad or dpad.
(Clean-up from bug 3958)
|
|
8f828a8e
|
2019-01-17T12:25:19
|
|
Android: remove hard-coded constant for Samsung DeX (no op!)
12290 = 0x3002 = SOURCE_MOUSE | SOURCE_TOUCHSCREEN
SOURCE_MOUSE Constant Value: 8194 (0x00002002)
SOURCE_TOUCHSCREEN Constant Value: 4098 (0x00001002)
SOURCE_CLASS_POINTER Constant Value: 2 (0x00000002)
https://developer.android.com/reference/android/view/InputDevice.html
|
|
e5f8801f
|
2019-01-17T11:05:05
|
|
Android: prevent concurrency in Android_SetScreenResolution() when exiting
by checking Android_Window validity
- SDLThread: user application is exiting:
SDL_VideoQuit() and clearing SDL_GetVideoDevice()
- ActivityThread is changing orientation/size
surfaceChanged() > Android_SetScreenResolution() > SDL_GetVideoDevice()
- Separate function into Android_SetScreenResolution() and Android_SendResize(),
formating, and mark Android_DeviceWidth/Heigh as static
|
|
6690a469
|
2019-01-17T09:28:30
|
|
Android: also update APP_PLATFORM to android-16 in Application.mk
https://hg.libsdl.org/SDL/rev/701c83eeb6e7
https://hg.libsdl.org/SDL/rev/0a69e71b715a
|
|
ede0fc4f
|
2019-01-16T14:03:35
|
|
Fixed bug 4024 - remove trailing comma of Controller mappings
because it reports an error "Unexpected controller element"
|
|
8a19ff3e
|
2019-01-16T10:48:28
|
|
Android: add mutex protection to onNativeOrientationChanged
it's possible receive try to send an event between the check first for SDL_GetVideoDevice
and SDL_VideoQuit is called
|
|
e994be58
|
2019-01-16T10:31:51
|
|
Android: move static variable isPaused/isPausing to SDL_VideoData structure
- remove unneed check to Android_Window->driverdata
- add window check into context_backup/restore
|
|
291f6006
|
2019-01-16T09:22:20
|
|
Android: merge SDLJoystickHandler_API12 and SDLJoystickHandler_API16
|
|
a8675416
|
2019-01-16T09:12:31
|
|
Android: remove trailing spaces
|
|
d86de288
|
2019-01-16T09:11:13
|
|
Android: remove old code after Android-16 has been set as minimum requirement
|
|
861a21f9
|
2019-01-14T19:43:25
|
|
evdev: don't debug log on a BTN_TOUCH from a non-touch device.
|
|
2755a505
|
2019-01-14T19:36:54
|
|
evdev: Add touchscreen mouse emulation and pressure support (thanks, Zach!).
This also solves reports of this log message:
"INFO: The key you just pressed is not recognized by SDL. To help get this
fixed, please report this to the SDL forums/mailing list
<https://discourse.libsdl.org/> EVDEV KeyCode 330"
(EVDEV KeyCode 330 is BTN_TOUCH.)
Fixes Bugzilla #4147.
|
|
dc263450
|
2019-01-14T23:33:48
|
|
Android: create Pause/ResumeSem semaphore at higher level than CreateWindow()
- If you call onPause() before CreateWindow(), SDLThread will run in infinite loop in background.
- If you call onPause() between a DestroyWindow() and a new CreateWindow(), semaphores are invalids.
SDLActivity.java: the first resume() starts the SDLThread, don't call
nativeResume() as it would post ResumeSem. And the first pause would
automatically be resumed.
|
|
1b24b2ec
|
2019-01-14T22:56:57
|
|
Android/openslES: fix Pause/ResumeDevices when openslES is not used
|
|
ae41831e
|
2019-01-14T21:34:12
|
|
Android: minor, remove static attributes, move mIsSurfaceReady to SDLSurface
|
|
647b1f6a
|
2019-01-14T14:36:13
|
|
Android/openslES: check for non NULL variable, some intialization.
use the previous naming
|
|
7b1cc441
|
2019-01-14T14:31:06
|
|
Android/openslES: start playing, after creating ressources
|
|
955d8789
|
2019-01-14T12:33:29
|
|
Android/openslES: set audio in paused/resumed state for Android event loop
And also in "stopped" state before closing the device.
|
|
59c8c7b6
|
2019-01-14T10:58:57
|
|
Android/openslES: move a few static variables to SDL_PrivateAudioData structure
|
|
5aeeaaab
|
2019-01-14T10:16:26
|
|
Android/openslES: register and use CloseDevice function.
|
|
365fd9c6
|
2019-01-14T10:04:54
|
|
Android/openslES: some space and indentation to match SDL conventions
|
|
7dc92a76
|
2019-01-12T12:18:44
|
|
Initial Android OpenSL ES implementation, contributed by ANTA
|
|
fb8cb95f
|
2019-01-12T12:12:43
|
|
Fixed compiler warning
|
|
390459d8
|
2019-01-12T12:11:06
|
|
Updated minimum supported Android version to API 16, to match latest NDK toolchain
|
|
be991f3a
|
2019-01-12T13:34:03
|
|
Fixed bug 4453 - GLES / GLES2: first white renderer clear cmd is drawn as black
|
|
7b42f03f
|
2019-01-11T21:52:43
|
|
Android: move and group JNIEnv helper functions
|
|
7f347830
|
2019-01-11T21:42:52
|
|
Android: change the way JNIEnv is retrieved
- Currently, it tries to Attach the JVM first and update the thread local storage, which are two operations.
Now, it simply gives back the JNI Env stored for the thread.
- Android_JNI_SetupThreadi() should only be used for external.
For internal SDL thread, it's already called in RunThread() (SDL_systhread.c),
and other thread are Java threads which don't need to be attached. i
(even if it doesn't hurt to do it, since it's a no-op).
- JNI_OnLoad is filled with pthread_create, GetEnv, AttachCurrentThread...
It's called for all shared libraries which may don't want this setup,
and loading libraries can be also modified to be done from a static context,
or with relinker. So it's not really clear how, who and what it sets up.
=> Reduce this function to the minimal
|
|
dc10d96c
|
2019-01-11T15:36:16
|
|
Android: use the same naming for JNI env local variables
|
|
3cfd907d
|
2019-01-11T15:33:02
|
|
Android: Audio thread is already setup for the JVM
In 'src/thread/pthread/SDL_systhread.c' RunThread() calls first 'Android_JNI_SetupThread()'
|
|
9d82f4e9
|
2019-01-11T15:27:53
|
|
Android: use pthread_once for creating thread key 'mThreadKey'
|
|
9a98e5af
|
2019-01-11T14:50:43
|
|
Android: don't call Android_JNI_ThreadDestroyed() for Java SDLThread
SDLThread is a Java Thread, it's not needed to call 'Detach' from the JVM.
Clear mThreadKey, so that the pthread_create destructor is not called for this
thread.
|
|
42e18bd0
|
2019-01-11T14:25:32
|
|
Android: fix bad merge from previous commit
|
|
b44a7aea
|
2019-01-10T21:49:00
|
|
Android: fix prototype of Android_JNI_InitTouch
|
|
7a1d1bae
|
2019-01-10T21:40:57
|
|
Android: add name for Touch devices and simplification, from bug 3958
|
|
d23c2f07
|
2019-01-10T18:05:56
|
|
Fixed bug 3930 - Android, set thread priorities and names
SDLActivity thread priority is unchanged, by default -10 (THREAD_PRIORITY_VIDEO).
SDLAudio thread priority was -4 (SDL_SetThreadPriority was ignored) and is now -16 (THREAD_PRIORITY_AUDIO).
SDLThread thread priority was 0 (THREAD_PRIORITY_DEFAULT) and is -4 (THREAD_PRIORITY_DISPLAY).
|
|
0e0e0272
|
2019-01-10T16:04:52
|
|
Android: remove deprecated PixelFormat in surfaceChanged()
Can be check by adding in build.grable:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
SDLActivity.java:1691: warning: [deprecation] A_8 in PixelFormat has been deprecated
case PixelFormat.A_8:
SDLActivity.java:1694: warning: [deprecation] LA_88 in PixelFormat has been deprecated
SDLActivity.java:1697: warning: [deprecation] L_8 in PixelFormat has been deprecated
SDLActivity.java:1700: warning: [deprecation] RGBA_4444 in PixelFormat has been deprecated
SDLActivity.java:1704: warning: [deprecation] RGBA_5551 in PixelFormat has been deprecated
SDLActivity.java:1716: warning: [deprecation] RGB_332 in PixelFormat has been deprecated
|
|
5c11e5ef
|
2019-01-10T15:48:43
|
|
Android: some simplification, don't need mExitCalledFromJava
|
|
66fbfe1d
|
2019-01-10T15:43:07
|
|
Android: nativeQuit for SDLActivity thread
- destroy Android_ActivityMutex
- display any SDL error message that may have occured in this thread,
since SDL_GetError() is thread specific, and user has no access to it.
|
|
dad81611
|
2019-01-10T15:35:46
|
|
Android: only send Quit event to SDLThread if it's not already terminated
And it avoids reporting errors using Android_Pause/ResumeSem that are NULL.
|
|
61d37de0
|
2019-01-10T15:29:37
|
|
Android: un-needed transition to Pause state.
- Don't need to go into Pause state, since onPause() has been called before.
- Don't need to call nativePause is SDLThread is already ended
|
|
8dd91550
|
2019-01-09T23:19:26
|
|
Android: prevent a dummy error message sending SDL_DISPLAYEVENT_ORIENTATION
In the usual case, first call to onNativeOrientationChanged() is done before
SDL has been initialised and would just set an error message
"Video subsystem has not been initialized" without sending the event.
|
|
02f292eb
|
2019-01-09T22:49:49
|
|
Android: add some SetError for Android_SetWindowFullscreen
First error could happen if Android_SetWindowFullscreen somehow gets
called between SurfaceDestroyed() and SurfaceCreated()
Second error should not happen has native_window validity is guaranteed.
(It would happens previously with error -19)
|
|
68c0e69f
|
2019-01-09T22:41:52
|
|
Android: native_window validity is guaranteed between surfaceCreated and Destroyed
It's currently still available after surfaceDestroyed().
And available (but invalid) between surfaceCreated() and surfaceChanged().
Which means ANativewindow_getWidth/Height/Format() fail in those cases.
https://developer.android.com/reference/android/view/SurfaceHolder.html#getSurface()
|
|
1803944b
|
2019-01-09T15:18:41
|
|
Android: concurrency issue for Android_SetWindowFullscreen()
It accesses data->native_window, which can be changed by onNativeSurfacedChanged().
Currently, Android_SetWindowFullscreen() may access data->native_window after it
has been released, and before a new reference is acquired.
(can be reproduced by adding some SDL_Delay() in onNativeSurfacedChanged and
Android_SetWindowFullscreen() ).
|
|
59df6d6b
|
2019-01-07T17:06:50
|
|
Android: don't allow multiple instance of SDLActivity
Default launch mode (standard) allows multiple instances of the SDLActivity.
( https://developer.android.com/guide/topics/manifest/activity-element#lmode )
Not sure this is intended in SDL as this doesn't work. There are static
variables in Java, in C code which make this impossible (allow one android_window) and
also Audio print errors.
There is also some code added in onDestroy as if it would be able to
re-initialize: https://hg.libsdl.org/SDL/rev/27686adb08c3
Bug Android activity life-cycle seems to show there is not transition to get out
of onDestroy()
https://developer.android.com/reference/android/app/Activity#ActivityLifecycle
( can be tested with "adb shell am start my.package.org/.MainActivity"
and "adb shell am start -n my.package.org/.MainActivity" )
Send me a message if there are real use-case for this !
|
|
cfe2924d
|
2019-01-07T11:35:31
|
|
Android: some robustness when quitting application from onDestroy()
Make sure there is not pending Pause accumulated, so the the application doesn't
remain paused and stucked in onDestroy().
Can be tested by adding:
SDLActivity.nativePause();
SDLActivity.nativePause();
mSingleton.finish();
|
|
462e62e1
|
2019-01-06T20:25:54
|
|
Android: better fix for bug 3186. Run those commands from SDL thread.
|
|
9f23d181
|
2019-01-06T17:35:42
|
|
Android: allow multiple calls to nativeResume()
Doesn't seem to happen manually, but symetrical to the pause handling.
Can be tested by adding:
mNextNativeState = SDLActivity.NativeState.PAUSED;
handleNativeState();
mNextNativeState = SDLActivity.NativeState.RESUMED;
handleNativeState();
mNextNativeState = SDLActivity.NativeState.PAUSED;
handleNativeState();
mNextNativeState = SDLActivity.NativeState.RESUMED;
handleNativeState();
Before, it ends in 'paused' state.
Now, it ends in 'resumed' state.
|
|
911f1d3e
|
2019-01-05T22:49:50
|
|
Android: remove SURFACE_TYPE_GPU, deprecated in API level 5.
https://developer.android.com/reference/android/view/SurfaceHolder
This constant was deprecated in API level 5. this is ignored, this value is set automatically when needed.
|
|
e4f558a5
|
2019-01-05T22:46:52
|
|
Android: un-needed check of "isPausing" and minor typos
|
|
35722b64
|
2019-01-05T22:27:25
|
|
Android: fix wrong state after immediate sequence pause() / resume() / pause()
It may happen to have the sequence pause()/resume()/pause(), before polling
any events.
Before, it ends in 'resumed' state because as the check is greedy.
Now, always increase the Pause semaphore, and stop at each pause.
It ends in 'paused' state.
Related to bug 3250: set up a reconfiguration of SurfaceView holder.
Turn the screen off manually before the app starts
(repro rate is not 100%..)
|
|
d4c0f498
|
2019-01-04T22:09:38
|
|
Fixed bug 4255 - SDL_GetGlobalMouseState() returns incorrect Y on secondary display
Julian Raschke
I use an open Mac laptop with an additional external monitor. The coordinate spaces from SDL_GetGlobalMouseState() and SDL_GetWindowPosition() match on the primary display, but not on the secondary display.
Cocoa window coordinates are vertically flipped in relation to the primary display:
https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoawindow.m#L219-L222
However, Cocoa_GetGlobalMouseState inverts the cursor Y coordinate per-display:
https://github.com/spurious/SDL-mirror/blob/release-2.0.8/src/video/cocoa/SDL_cocoamouse.m#L320-L323
Suggested fix: Replace the for-loop with this simpler calculation:
*x = (int) cocoaLocation.x;
*y = (int) (CGDisplayPixelsHigh(kCGDirectMainDisplay) - cocoaLocation.y);
|
|
5e13087b
|
2019-01-04T22:01:14
|
|
Updated copyright for 2019
|
|
2a885eb0
|
2019-01-04T23:39:27
|
|
Android: fixed immediate transition to pause and resume.
"Pause" transition will add events:
SDL_WINDOWEVENT_ENTER
SDL_WINDOWEVENT_FOCUS_LOST
SDL_WINDOWEVENT_MINIMIZED
SDL_APP_WILL ENTER BACKGROUND
SDL_APP_DID ENTER BACKGROUND
"Resume" transition will add events:
SDL_APP_WILL ENTER FOREGROUND
SDL_APP_DID ENTER FOREGROUND
SDL_WINDOWEVENT_FOCUS_GAINED
SDL_WINDOWEVENT_RESTORED
If Android application doesn't empty the event loop in between, it enters in
"paused" state when SDL_WINDOWEVENT_RESTORED is fetched.
See bug 3250 for pratical case.
|
|
cf122344
|
2019-01-04T23:11:21
|
|
Android: make Android_PumpEvents() more readable
No behavior change in this commit.
|
|
ca184ac3
|
2019-01-03T23:22:50
|
|
Android: concurrency issue with egl_surface EGL_BAD_SURFACE - (bug 4142)
Occurs when application goes to background:
- Java activity is destroying SurfaceView holder and "egl_surface" (in onNativeSurfaceDestroyed())
- While native thread is in Android_GLES_SwapWindow(), prepared to call SDL_EGL_SwapBuffers()
The error is "call to eglSwapBuffers failed, reporting an error of EGL_BAD_SURFACE"
It an be reproduced easily by adding a SDL_Delay(100) at the begining of SDL_EGL_SwapBuffers(),
and putting the application into background.
|
|
2e19343d
|
2019-01-03T20:18:29
|
|
Android: use Mutex instead of Semphore for bug 4142
|
|
23478642
|
2019-01-03T16:22:33
|
|
Android: prevent the error message from SDL_EGL_CreateSurface() to be masked.
|
|
cc8f1136
|
2019-01-03T14:18:06
|
|
Fixed bug 4142 - Concurrency issues in Android backend
Use a semaphore to prevent concurrency issues between Java Activity and Native thread code, when using 'Android_Window'.
(Eg. Java sending Touch events, while native code is destroying the main SDL_Window. )
|
|
d11f7615
|
2019-01-03T13:38:33
|
|
Android: minor preparation for bug 4142 (concurrency issues)
|
|
5dc25fef
|
2019-01-03T13:14:16
|
|
Android: preparation bug 4142, reduce usage of global variable Android_Window
|
|
a95f91bc
|
2019-01-02T18:06:33
|
|
Fixed bug 3250 - Wrong backbuffer pixel format on Android, keep getting RGB_565
Use the egl format to reconfigure java SurfaceView holder format.
If there is a change, it triggers a surfaceDestroyed/Created/Change sequence.
|
|
a02998a2
|
2019-01-02T17:41:33
|
|
Android: make sure surfaceChanged try to enter into 'resumed' state.
|
|
4d2b5c79
|
2019-01-02T17:08:01
|
|
Fixed bug 4424 - Android windowed mode is broken (Thanks Jonas Thiem!)
|
|
03b0e1de
|
2018-12-30T22:44:25
|
|
Android: on rare occasion, prevent Android_JNI_GetNativeWindow() from crashing
If Java getNativeSurface() returns null, then ANativeWindow_fromSurface() would crash().
|
|
1e22fc15
|
2018-12-30T15:41:28
|
|
Android: fixed comments and spaces
|
|
2a412eb9
|
2018-12-30T15:39:37
|
|
Fixed bug 3186 - Android SW keyboard not restored when app becomes foreground.
|
|
d09774a4
|
2018-12-30T14:23:25
|
|
Fixed bug 3511 - documentation to end an Android application
|
|
9cdd0dd9
|
2018-12-29T17:59:34
|
|
PSP renderer: use colors from 'draw' union (very likely, but un-tested)
|
|
ebd9efb3
|
2018-12-29T16:37:44
|
|
opengles 1: same fix as in bug #4433
|
|
87b76369
|
2018-12-29T16:34:50
|
|
opengles 1: use color from 'draw' union in SetDrawState()
|
|
dc344360
|
2018-12-21T20:53:31
|
|
render: Fix internal state getting out of sync when destroying a texture that was just rendered and then creating a new one, in the GL and GLES2 backends. Fixes bug #4433.
|
|
0a705901
|
2018-12-19T18:10:02
|
|
render: Prefer the Metal renderer over OpenGL.
This is the best option for macOS and iOS, the only platforms with Metal.
Pre-Metal versions of these platforms will fall back to OpenGL (ES), as
appropriate.
Huge thanks to Alexander Szpakowski, who worked incredibly hard to get the
Metal renderer to such a high-quality state!
|
|
c7db6ade
|
2018-12-19T18:27:21
|
|
metal: Implement SDL_LockTexture for YUV formats.
|
|
ce8c716a
|
2018-12-18T14:23:05
|
|
metal: Implement SDL_LockTexture for non-YUV textures.
|
|
c0c8f2d7
|
2018-12-16T11:15:21
|
|
Gesture: remove warnings when ENABLE_DOLLAR is undefined.
|
|
c3e3503e
|
2018-12-16T01:04:07
|
|
testgl2: Press 'o' or 'p' to decrease/increase OpenGL swap interval.
|
|
13869f19
|
2018-12-16T01:03:17
|
|
cocoa: Implement OpenGL swap interval support with CVDisplayLink.
Not only does this fix macOS 10.14 ("Mojave")'s broken NSOpenGLCPSwapInterval
support, it also lets us implement "adaptive vsync" on macOS!
CVDisplayLink is supported back to macOS 10.4 ("Tiger"), so we just use it
universally without version checks and dump NSOpenGLCPSwapInterval, Mojave or
not.
|
|
1ed60219
|
2018-12-15T16:21:24
|
|
Fixed bug 4426 - allows re-creation of software renderer
Switching between renderers "software -> opengl -> opengles2 -> software" fails.
"opengl -> opengles2" calls SDL_RecreateWindow() and frees "window->surface"
without marking it as "surface_invalid".
|
|
18296927
|
2018-12-15T09:57:05
|
|
emscripten: SDL_PrivateJoystickAdded() wants an instance id, not device index.
|