Hajime Hoshi
4d51505eb5
internal/graphicsdriver/metal: bug fix: an app was frozen by fullscreening
...
Closes #3354
2025-12-22 16:15:50 +09:00
Hajime Hoshi
8197db788d
internal/processtest: skip #3272 test for 32bit Windows
...
Updates #3272
2025-12-10 02:53:07 +09:00
Hajime Hoshi
f08cc0edff
internal/graphicsdriver/metal: add an early return to prevent deadlock
...
Updates #3353
2025-12-05 01:10:51 +09:00
Hajime Hoshi
09eebf6cf5
internal/graphicsdriver: bug fix: stop recreating CAMetalDisplayLink after sleep
...
This change fixes the issue where an app freezes after waking up from
sleep.
Apparently, recreating CAMetalDisplayLink is not necessary.
Updates #3353
2025-12-04 13:51:17 +09:00
Hajime Hoshi
3cf2994c3b
internal/graphicsdriver/metal: refactoring
...
Updates #3353
2025-12-04 12:57:48 +09:00
Hajime Hoshi
99a548aa99
internal/graphicsdriver/metal: bug fix: CAMetalDisplayLink should be created on its dedicated thread
...
Updates #3353
2025-12-04 12:40:43 +09:00
liuyueyangxmu
3e2866c664
all: refactoring: omit unnecessary reassignment ( #3350 )
...
Signed-off-by: liuyueyangxmu <liuyueyangxmu@outlook.com >
2025-11-26 20:21:06 +09:00
Hajime Hoshi
43f1312136
internal/graphicsdriver: add Graphics.ColorSpace
...
This is a preparation for automatic color encoding conversion.
Updates #3314
2025-11-23 23:36:08 +09:00
Hajime Hoshi
799a9d9ddd
all: remove internal/restorable
...
Closes #3090
2025-11-23 22:16:36 +09:00
Hajime Hoshi
266d1e4a50
internal/atlas: fix comments
2025-11-23 19:46:21 +09:00
Hajime Hoshi
9e146c305e
internal/restorable: remove unused variables
...
Updates #3090
2025-11-23 19:33:17 +09:00
Hajime Hoshi
a4f15d1926
internal/graphicsdriver/metal: better error message
2025-11-23 19:27:50 +09:00
Hajime Hoshi
e0ae1207f8
internal/restorable: remove unnecessary eviction
...
Updates #3090
2025-11-23 19:02:34 +09:00
Hajime Hoshi
3006cf7cb9
internal/restorable: remove (*Image).ImageType()
...
Updates #3090
2025-11-23 18:12:30 +09:00
Hajime Hoshi
85b1d6e709
internal/atlas: rename backend.restorable -> backendImage
...
Updates #3090
2025-11-23 17:56:22 +09:00
Hajime Hoshi
1fbc1223ff
internal/restorable: remove ImageTypeVolatile
...
Updates #3090
2025-11-23 17:46:56 +09:00
Hajime Hoshi
bd4554d7a3
internal/restorable: remove AlwaysReadPixelsFromGPU
...
Updates #3090
2025-11-23 17:00:35 +09:00
Hajime Hoshi
d32c7209a1
internal/restorable: remove Disable
...
Updates #3090
2025-11-23 16:44:26 +09:00
Hajime Hoshi
2d2aae21d8
internal/restorable: remove Hint
...
Updates #3090
2025-11-23 16:37:53 +09:00
Hajime Hoshi
f2ee34c8eb
ebiten: remove RunOptions.StrictContextRestoration
...
Updates #3090
2025-11-23 16:22:29 +09:00
Hajime Hoshi
01da138c97
internal/graphicsdriver: refactoring: move ColorSpace to internal/color
...
This is a preparation for new color encoding options.
Updates #3314
Updates #3349
2025-11-22 23:01:03 +09:00
Hajime Hoshi
929b4eb5c4
internal/graphicsdriver: refactoring: remove ColorSpaceDefault
2025-11-22 22:32:39 +09:00
Hajime Hoshi
0fc8f397a2
internal/clock: use atomic.Int64 for TPS
2025-11-17 01:51:37 +09:00
Hajime Hoshi
8c90f2a636
internal/ui: refactoring
2025-11-13 17:53:32 +09:00
Hajime Hoshi
8d702026ce
internal/ui: bug fix: make Monitor functions concurrent safe
...
Updates #3339
2025-11-13 17:51:29 +09:00
Hajime Hoshi
fe970e1b68
internal/ui: bug fix: Monitor.Size should reflect the display orientation
...
Closes #3339
2025-11-13 08:54:09 +09:00
rustversion
fe9ab4a12b
all: fix the inconsistent method names in the comments ( #3342 )
...
Signed-off-by: rustversion <rustverion@outlook.com >
2025-11-10 13:42:37 +09:00
Hajime Hoshi
3533c9a2a0
internal/graphicsdriver/opengl/gl: bug fix: always use OpenGL non-ES for Steam
...
Apparently, OpenGL ES caused an issue where Steam overlay didn't
work correctly. We are not sure the root cause, but there are similar
issues reported [1][2].
With Steam, it should be fine to assume that OpenGL non-ES is always
available.
Closes #3338
[1] https://github.com/ValveSoftware/steam-for-linux/issues/8122
[2] https://github.com/godotengine/godot/issues/53352
2025-11-02 02:59:15 +09:00
Hajime Hoshi
a1853bbc7c
internal/atlas: use atomic.Bool for needToRestoreGPUResources
2025-10-27 21:13:43 +09:00
Hajime Hoshi
2ad956d7c1
internal/atlas: do not wait for reading pixels from GPU to be finished
...
Updatse #3215
Updates #3334
2025-10-27 18:01:13 +09:00
Hajime Hoshi
f0f0bb339d
all: use errors.Join to catch all possible errors
...
Closes #3332
2025-10-17 23:39:13 +09:00
Hajime Hoshi
81908d51d6
internal/atlas: bug fix: deadlock at RestoreGPUResources
...
Updates #3327
2025-10-10 19:19:33 +09:00
Hajime Hoshi
7a30e6be6b
internal/atlas: skip saving GPU resources when it is already saved
...
If the GL thread is already suspended, this would cause a dead lock.
This fix mitigates this issue by checking the save state.
Updates #3327
2025-10-10 19:00:10 +09:00
Hajime Hoshi
07f60cc39a
internal/atlas: bug fix: skip SaveGPUResources when a frame doesn't start
...
Closes #3327
2025-10-10 18:32:39 +09:00
Hajime Hoshi
371607544a
cmd/ebitenmobile: save GPU resources at onPause and restore GPU resources on context lost
...
This change adds a logic to save GPU resources at GLSurfaceView.onPause
as a precaution, and restore GPU resources from it when a context lost
happens. This can fix issues where a context lost often occurs when an
interstitial ad is shown.
This change doesn't add any new APIs and do this resource reservation
automatically.
Closes #3215
2025-10-10 16:26:56 +09:00
Hajime Hoshi
549a80d42f
internal/atlas: refactoring move extending an image to atlas
2025-10-08 23:09:22 +09:00
Hajime Hoshi
e92594ef19
internal/ui: bug fix: consecutive releasing should not affect Is*JustReleased
...
Closes #3326
2025-10-08 20:29:53 +09:00
Hajime Hoshi
5e1cb7ca03
internal/graphicsdriver/opengl/gl: bug fix: the generator output a wrong Go file
2025-10-04 22:59:02 +09:00
Hajime Hoshi
55bb572a27
inpututil: bug fix: {Key,MousePress}KeyDuration returned a wrong value on browsers and mobiles
...
Closes #3322
2025-09-26 22:33:54 +09:00
Hajime Hoshi
9666878ad5
internal/inpututil: bug fix: {Key,MouseButton}PressDuration returned a wrong value on desktops
...
Closes #3322
2025-09-26 22:09:23 +09:00
Hajime Hoshi
7ca3a68eb4
internal/ui: handle an error when navigator.keyboard.getLayoutMap() fails
2025-09-24 22:55:30 +09:00
Hajime Hoshi
8d421df739
internal/ui: bug fix: move handling mod keys to ui.InputState
...
Closes #3320
2025-09-24 04:57:33 +09:00
Hajime Hoshi
27b6b3c633
internal/ui: bug fix: key/mouse button inputs were sometimes missed
...
If a key down and a key up happened in one tick, Ebitengine ignored
these events and users failed to notice the key press. This was
problematic in real world use caess, e.g. click by a tap on macOS
browsers.
This change fixes this issue by recording the tick for both a press
and a release, and determine whether the key/button is pressed or
not more precisely.
Updates #2898
Closes #3137
Closes #3249
Updates #3317
2025-09-23 18:04:39 +09:00
Hajime Hoshi
c15408bc6e
internal/ui: update key/mousebutton states at event handlers instead of updateInputStateImpl
...
This is a preparation for more precise key state detections and
asynchronous event handlers.
Updates #1704
Updates #3249
2025-09-23 15:32:19 +09:00
Hajime Hoshi
74835fb5bd
all: add #cgo optimization directives
...
Closes #3196
2025-09-22 12:27:34 +09:00
Hajime Hoshi
5afdb9588f
internal/atlas: replace runtime.SetFinalizer with AddCleanup
...
Closes #3204
2025-09-22 01:52:06 +09:00
Hajime Hoshi
4daa59b2cd
internal/atlas: do not access global variable references at deallocate
...
As deallocate is invoked from the finalizer, it is problematic to access
a global variable referring the object itself. Especially,
runtime.AddCleanup doesn't work well with the current deallocate
implmenentation.
This change removes the access to the global variables from deallocate.
The global variables are reset every frame so it is self not to
remove a deallocated image explicitly. Also, this change fixes
the logic to iterate the global variables' images to check if the
image is already deallocated or not.
Updates #3204
2025-09-22 00:18:20 +09:00
Hajime Hoshi
765193a40e
internal/atlas: refactoring: rename smallImageSet to imageSmallSet and use slices.Delete
2025-09-21 23:51:59 +09:00
Hajime Hoshi
51cc3aed04
all: replace runtime.SetFinalizer with AddCleanup
...
Updates #3204
2025-09-21 23:14:53 +09:00
Hajime Hoshi
244510643c
ebiten: keep TouchID int by using a generics function
2025-09-21 18:48:41 +09:00