Commit Graph

9899 Commits

Author SHA1 Message Date
Hajime Hoshi
03cbfaca42 internal/vettools: return non-nil value
When executing internal/vettools directly by `go run`, this caused
an error since the return type must match with ResultType.
2024-11-09 22:46:01 +09:00
Hajime Hoshi
db04c37f26 vector: add (*Path).ApplyGeoM
Closes #3150
Closes #3159
2024-11-09 19:06:39 +09:00
Hajime Hoshi
e860747f4c examples/lines: refactoring 2024-11-09 18:37:48 +09:00
Hajime Hoshi
1a4237213c vector: add DrawFilledPath, StrokePath, and FillRule
Updates #3150
2024-11-09 18:18:05 +09:00
Hajime Hoshi
b6d539d8e8 internal/graphicsdriver/opengl: refactoring 2024-11-07 13:25:26 +09:00
Hajime Hoshi
4be626f707 internal/graphicsdriver/opengl: bug fix: use GLX when possible for ES
Use GLX when possible. EGL with an X window might not work well on
Wayland unfortunately.

Closes #3152
2024-11-07 02:07:13 +09:00
Hajime Hoshi
7b5054ca3a audio: bug fix: (*Player).Position is not updated correctly
Update might not be called or delayed when the window is in background
and invisible on macOS. Let's use a distinct groutine to update the
audio player states.

Closes #3154
2024-11-06 22:16:16 +09:00
Hajime Hoshi
20014ad5bc audio: remove locks from (*timeStream).position 2024-11-06 22:13:21 +09:00
Hajime Hoshi
0981355b61 audio: remove locks from (*Player).Position 2024-11-06 21:12:05 +09:00
Hajime Hoshi
1014e45365 internal/graphicsdriver/playstation5: bug fix: compilation error 2024-11-03 19:47:18 +09:00
Hajime Hoshi
72e2941e95 internal/graphicsdriver/playstation5: update NewShader 2024-11-03 19:09:38 +09:00
Hajime Hoshi
c13e4fea7d internal/graphicsdriver/playstation5: update 2024-11-02 22:18:23 +09:00
Hajime Hoshi
48daae08ef text/v2: cache origin X positions for GoXFace
Closes #3149
2024-10-29 02:16:20 +09:00
Hajime Hoshi
d8348abcc9 text/v2: add comments 2024-10-29 00:37:02 +09:00
Hajime Hoshi
2748f31fc4 text/v2: refactoring: rename receivers of GoXFace 2024-10-27 23:03:31 +09:00
Hajime Hoshi
d19a774316 text/v2: refactoring: unify a cache struct 2024-10-27 22:45:02 +09:00
Hajime Hoshi
41e8d063e8 text/v2: refactoring 2024-10-27 22:45:02 +09:00
Hajime Hoshi
2fab556dd9 internal/affine: refactoring: remove unused types 2024-10-27 22:44:58 +09:00
Hajime Hoshi
17c2b1b325 text/v2: refactoring 2024-10-27 18:39:10 +09:00
Hajime Hoshi
d0db7e1b60 examples/video: put a video file in a separate server
This change also fixes an issue where a file could be closed before
the video play ends.

Closes #3116
2024-10-27 18:07:52 +09:00
Hajime Hoshi
f78025a3e3 text/v2: typo 2024-10-27 05:00:01 +09:00
Hajime Hoshi
0942fbb4d7 inpututil: add comments 2024-10-27 02:45:57 +09:00
Hajime Hoshi
dc41960d3b internal/mipmap: refactoring: add a fast path 2024-10-27 01:06:36 +09:00
Hajime Hoshi
00fade9dcf internal/atlas: reduce the access to (*restorable.Shader).Unit 2024-10-27 00:46:05 +09:00
Hajime Hoshi
2437ad8248 ebiten: improve bulitinShader by reducing locks
old.txt: 04c9a802a7
new.txt: this commit

```
% benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: github.com/hajimehoshi/ebiten/v2
cpu: Apple M3 Pro
                 │   old.txt   │               new.txt               │
                 │   sec/op    │   sec/op     vs base                │
BuiltinShader-12   4.226n ± 2%   1.352n ± 2%  -68.00% (p=0.000 n=10)
```
2024-10-27 00:22:52 +09:00
Hajime Hoshi
04c9a802a7 ebiten: add BenchmarkBuiltinShader 2024-10-27 00:12:56 +09:00
Hajime Hoshi
6cf235daef internal/graphicscommand: refactoring 2024-10-26 23:07:03 +09:00
Hajime Hoshi
6fd9044bcf internal/input: refactoring: clean up touch implementations 2024-10-26 22:25:56 +09:00
Hajime Hoshi
01dc4ed9b1 inpututil: refactoring: clean up gamepad implementations 2024-10-26 19:28:53 +09:00
Hajime Hoshi
e6b8ebe8a2 internal/gamepaddb: bug fix: typo
Closes #3148
2024-10-26 19:05:51 +09:00
Hajime Hoshi
9127c30223 inpututil: bug fix: AppendJustReleasedGamepadButtons and AppendJustReleasedStandardGamepadButtons returned just-pressed buttons
Closes #3147
2024-10-26 17:31:24 +09:00
Hajime Hoshi
812feec1d5 inpututil: reland: refactoring: use clear 2024-10-26 16:54:31 +09:00
Hajime Hoshi
7fe50478a7 Revert "inpututil: refactoring: use clear"
This reverts commit d6427d63ca.

Reason: wrong clear usages
2024-10-26 16:52:17 +09:00
Hajime Hoshi
d6427d63ca inpututil: refactoring: use clear 2024-10-26 16:47:43 +09:00
Hajime Hoshi
a6b278d0e5 inpututil: refactoring 2024-10-26 16:26:04 +09:00
Hajime Hoshi
c7880a5ad6 internal/atlas: reduce for-loops 2024-10-26 16:02:25 +09:00
Hajime Hoshi
ecc42d4042 internal/graphicscommand: move the const check outside of the function
old.txt: 1fe988eabf
new.txt: this commit

```
benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: github.com/hajimehoshi/ebiten/v2/internal/graphicscommand
cpu: Apple M3 Pro
                            │   old.txt   │              new.txt               │
                            │   sec/op    │   sec/op     vs base               │
PrependPreservedUniforms-12   19.79n ± 4%   18.84n ± 2%  -4.80% (p=0.001 n=10)
```

Updates #3144
2024-10-26 13:03:37 +09:00
Hajime Hoshi
1fe988eabf internal/graphicscommand: improve performance of prependPreservedUniforms
```
% benchstat old.txt new.txt
goos: darwin
goarch: arm64
pkg: github.com/hajimehoshi/ebiten/v2/internal/graphicscommand
cpu: Apple M3 Pro
                            │   old.txt   │               new.txt               │
                            │   sec/op    │   sec/op     vs base                │
PrependPreservedUniforms-12   23.07n ± 2%   19.96n ± 0%  -13.48% (p=0.000 n=10)
```

Updates #3144
2024-10-26 01:18:06 +09:00
Hajime Hoshi
9f5f53c041 internal/graphicscommand: add BenchPrependPreservedUniforms
Updates #3144
2024-10-26 01:15:12 +09:00
Hajime Hoshi
d334db8291 internal/restorable: performance optimization 2024-10-25 19:30:38 +09:00
Hajime Hoshi
0da99e2c37 text/v2: add comments to CacheGlyphs 2024-10-25 17:41:24 +09:00
Hajime Hoshi
9449e0a8a6 Revert "text/v2: remove faceWithCache's mutex"
This reverts commit d5c6fd174f.

Reason: CacheGlyphs and Measure should be concurrent safe.
2024-10-25 14:52:02 +09:00
Hajime Hoshi
d5c6fd174f text/v2: remove faceWithCache's mutex
faceWithCache is not exported, and the functions using faceWithCache
are not concurrent safe. Thus, it doesn't make sense to protect
faceWithCache by mutex. Rather, this affects performance.
2024-10-25 13:58:18 +09:00
Hajime Hoshi
47f11a7423 ebiten: bug fix: DefaultDrawFinalScreen should take FinalScreen
Updates #3139
2024-10-25 09:22:52 +09:00
Hajime Hoshi
f6cd2beacf internal/buildinshader: refactoring 2024-10-24 12:16:05 +09:00
Hajime Hoshi
98d386f249 ebiten: fix typo
Updates #3139
2024-10-24 11:29:56 +09:00
Hajime Hoshi
0a73cbfce4 internal/builtinshader: refactoring 2024-10-22 14:29:46 +09:00
Hajime Hoshi
0fe63e8adb all: update PureGo to v0.9.0-alpha.1 2024-10-21 23:07:38 +09:00
Hajime Hoshi
74f812dd33 internal/shader: bug fix: xor-assignment operator didn't work correctly
Closes #3140
2024-10-21 14:54:07 +09:00
Hajime Hoshi
366f4899a2 ebiten: fix comments
Updates #3139
2024-10-21 11:19:30 +09:00