Commit Graph

9907 Commits

Author SHA1 Message Date
Hajime Hoshi
848e30e0e7 internal/shaderlister: compile shaders
Updates #3157
2024-11-16 19:11:44 +09:00
Hajime Hoshi
de1ef0bec8 internal/builtinshader: refactoring 2024-11-16 15:29:52 +09:00
Hajime Hoshi
d021209d84 internal/builtinshader: add shader constants for shaderlister
Updates #3157
2024-11-16 15:23:49 +09:00
Hajime Hoshi
864f826b3c internal/shaderlister: bug fix: skip tests when Go is not found (e.g. Wasm)
Updates #3157
2024-11-10 23:34:51 +09:00
Hajime Hoshi
75d7a26fcd internal/shaderlister: output [] instead of null when no shaders are found
Updates #3157
2024-11-10 23:27:24 +09:00
Hajime Hoshi
9b849819f3 internal/shaderlister: refactoring: do not use github.com/hajimehoshi/ebiten/v2 command 2024-11-10 23:03:22 +09:00
Hajime Hoshi
1d5a8bc836 all: update dependencies 2024-11-10 22:42:21 +09:00
Hajime Hoshi
99bbe7138c internal: add shaderlister
This adds a new compiler directive `//ebitengine:shader` indicating
a shader source. A new tool internal/shaderlister can iterates all
the shader strings with the directive. The tool might be exposed
in the future.

Updates #3157
2024-11-10 22:21:42 +09:00
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