Commit Graph

10351 Commits

Author SHA1 Message Date
Hajime Hoshi 1853f9045d internal/graphicsdriver/metal: add an early return to prevent deadlock
Updates #3353
v2.9.6
2025-12-12 23:11:11 +09:00
Hajime Hoshi 3c95370a2c 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-12 23:08:21 +09:00
Hajime Hoshi 2e8a6209af internal/graphicsdriver/metal: refactoring
Updates #3353
2025-12-12 23:07:51 +09:00
Hajime Hoshi 1a34b8de38 internal/graphicsdriver/metal: bug fix: CAMetalDisplayLink should be created on its dedicated thread
Updates #3353
2025-12-12 23:07:38 +09:00
Hajime Hoshi 22f48f0767 internal/processtest: skip #3272 test for 32bit Windows
Updates #3272
2025-12-10 02:53:57 +09:00
Hajime Hoshi 6772ec2068 vector: bug fix: currentRowHeight was not updated correctly
Updates #3357
2025-12-10 02:08:04 +09:00
Hajime Hoshi d0fde2fd5d vector: bug fix: paths were unexpectedly clipped
Closes #3357
2025-12-10 01:58:40 +09:00
Hajime Hoshi 429e07505d vector: reland: bug fix: a callback for an image and its sub-image should be treated correctly
Closes #3355
v2.9.5
2025-12-05 03:09:19 +09:00
Hajime Hoshi aafc7ba1c7 Revert "vector: bug fix: a callback for an image and its sub-image should be treated correctly"
This reverts commit 41354b957b.

Reason: this change fails tests on Windows

Updates #3335
2025-12-05 01:03:37 +09:00
Hajime Hoshi 9d456fe664 vector: bug fix: a callback for an image and its sub-image should be treated correctly
Closes #3355
2025-12-05 00:51:38 +09:00
Hajime Hoshi 9f8f50693a 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
v2.9.4
2025-11-02 03:02:01 +09:00
Hajime Hoshi 19cc46b11a ebiten, vector: bug fix: race conditions
This change fixes these race conditions in

 * (*ebiten.Image).invokeUsageCallbacks concurrent invocations
 * (*ebiten.Image).usageCallbacks usages
 * vector.theCallbackTokens usages
 * vector's global shader initializations

Closes #3333
v2.9.3
2025-10-21 03:28:10 +09:00
Hajime Hoshi 7ecd4037a4 vector: bug fix: FillRect or other utility functions on a sub-image didn't work correctly
Closes #3330
v2.9.2
2025-10-15 20:19:12 +09:00
Hajime Hoshi cb26a22bad internal/ui: bug fix: consecutive releasing should not affect Is*JustReleased
Closes #3326
v2.9.1
2025-10-08 20:33:12 +09:00
Hajime Hoshi a63441e688 all: v2.9.0 released v2.9.0 2025-10-08 00:13:02 +09:00
Hajime Hoshi 95e0ef31ea vector: remove (*Path).ApplyGeoM
This was added in v2.9 and deprecated at the same time. Let's remove
this.

Updates #3266
v2.9.0-rc.2
2025-10-05 23:47:47 +09:00
Hajime Hoshi 434b61d8a4 ebiten: update comments about DroppedFiles
Updates #3084
2025-10-05 14:15:47 +09:00
Hajime Hoshi 2e2f69cb71 exp/textinput: add comments
Updates #3324
2025-10-05 13:32:02 +09:00
Hajime Hoshi 11fb17b89e exp/textinput: bug fix: a rendered text was not updated when a compositing text is empty
Closes #3324
2025-10-05 13:31:59 +09:00
Hajime Hoshi 4282d15d0d all: v2.9.0-rc.1 released v2.9.0-rc.1 2025-10-04 23:03:38 +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 c177137013 all: update dependencies 2025-10-04 15:56:24 +09:00
Hajime Hoshi 2912b1b8ce all: update bitmapfont to v4.1.0 2025-10-04 14:50:05 +09:00
Hajime Hoshi af106a0f3f mobile/ebitenmobileview: bug fix: UIPressPhaseMoved doesn't exist
Also, this change ignores UIPressPhaseStationary.
2025-09-26 23:09:48 +09:00
Hajime Hoshi b4eb3a6faf mobile/ebitenmobileview: bug fix: wrong iOS constants were used 2025-09-26 22:34:17 +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 7cdf125cbb exp/textinput: adjust selection range at Set(TextAnd)Selection 2025-09-26 21:55:47 +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 7de26d3a30 all: update gomobile 2025-09-23 18:43:39 +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
Hajime Hoshi 6aa208e15e ebiten: refactoring: add internal/inputstate
internal/inputstate will be accessed from inpututil in the future.

Updates #3249
2025-09-21 18:37:27 +09:00
Hajime Hoshi 97e145a493 all: update Oto to v3.4.0-alpha.11 2025-09-21 01:00:27 +09:00
Hajime Hoshi 77a8c30ca8 internal/file: add VirtualFS.ReadDir and FileEntryFS.ReadDir
Closes #3084
2025-09-20 19:24:39 +09:00
Hajime Hoshi fa51d1d012 examples/dropfile: use slog 2025-09-20 18:56:23 +09:00
Hajime Hoshi 6d949e119f audio: bug fix: the audio source for testing was too short
Closes #3216
2025-09-20 16:41:18 +09:00
Hajime Hoshi a110d83acd internal/gamepaddb: update the database 2025-09-20 15:39:25 +09:00
Hajime Hoshi 0459d06eaa all: update PureGo to v0.9.0-alpha.11 2025-09-19 13:31:15 +09:00
Hajime Hoshi 4943d0e035 internal/ui: cache the monitor
`UserInterface.currentMonitor` seems a heavy function and takes about
1% CPU usage on MacBook M3 Pro. Cache the monitor object and use it.
The cache is invalidated after about one second, or the monitor is
missing.

This reduces CPU usages from about 6.5% to 5.5%

Updates #3318
2025-09-19 02:32:28 +09:00
Hajime Hoshi cc7eac7ba6 all: update Oto 2025-09-18 16:18:42 +09:00
Hajime Hoshi 4bb016f262 internal/processtest/testdata: bug fix: skip issue2737 at GitHub Actions
An audio driver seems not found even on Windows.
2025-09-16 16:26:41 +09:00
Hajime Hoshi 9b1f5cbb6a all: update dependencies and drop Go 1.23 2025-09-16 15:24:16 +09:00