Commit Graph

9862 Commits

Author SHA1 Message Date
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
Hajime Hoshi
94fee8be55 ebiten: add DefaultDrawFinalScreen
Closes #3139
2024-10-21 11:17:53 +09:00
TotallyGamerJet
6452cbc895
internal/cocoa: bring back NSInvocation for CopyFromTexture (#3136)
This is a partial revert of c3ea539 but keeps the change for removal of NSInvocation in SetScissorRect, GetBytes,
and ReplaceRegion.

Closes #3135
2024-10-19 23:59:45 +09:00
Hajime Hoshi
646f340696 all: update PureGo
This changes the situation, but there is still a crashing issue.

Updates #3135
2024-10-19 23:21:59 +09:00
Hajime Hoshi
0af6497017 internal/ui: update gamepads for PS5 2024-10-19 22:43:14 +09:00
Hajime Hoshi
c3ea539cdb internal/cocoa: remove NSInvocation
Closes #2950
2024-10-19 13:32:14 +09:00
Hajime Hoshi
38e4f4c110 all: update kisielk/errcheck to v1.8.0 2024-10-19 03:32:45 +09:00
Hajime Hoshi
575bba9dc5 Revert "all: update PureGo"
This reverts commit 8e63234988.

Reason: compilation error with `-gcflags=all=-N -l`
> nosplit stack over 792 byte limit
2024-10-19 03:02:09 +09:00
Hajime Hoshi
8e63234988 all: update PureGo 2024-10-19 02:56:24 +09:00
Gabriel Ochsenhofer
2ad0e9a9db
internal/graphicscommand: add a debug.IsDebug check before splitting strings (#3134)
Since `debug.IsDebug` is a constant, by putting the `strings.Cut` calls inside the check this makes the
`(*commandqueue).flush` method faster when Ebitengine is compiled without the debug build tag.

Without the if `debug.IsDebug` check, unnecessary allocations occur (since the logger is a noop logger when debug is
disabled).
2024-10-18 22:46:28 +09:00
Hajime Hoshi
0ec2c4bfd0 all: update PureGo 2024-10-18 19:16:48 +09:00
Hajime Hoshi
aae3e739f8 internal/debug: use go/build's Context to get the source directory 2024-10-18 15:36:25 +09:00
Hajime Hoshi
0ce1f2292e internal/debug: bug fix: do not panic when go-list fails 2024-10-18 15:28:42 +09:00
Hajime Hoshi
d42916da44 all: update PureGo 2024-10-18 11:48:43 +09:00
TotallyGamerJet
5dee21dc7d
internal/cocoa, internal/graphicsdriver/metal/*: minimize allocations (#3133)
Cache the result of objc.RegisterName at program startup. Use NSInvocation less
to avoid multiple C calls.
2024-10-18 11:44:37 +09:00
Hajime Hoshi
810e45c030 ebiten: skip rendering when det is 0 at DrawImage and DrawRectShader 2024-10-17 21:04:43 +09:00
Hajime Hoshi
5fd619eea7 ebiten: bug fix: canSkipMipmap didn't work with negative scaling
This just means that an optimization didn't work, so this issue
should not be so serious.
2024-10-17 21:02:59 +09:00
Hajime Hoshi
2f5ca1af83 all: update jakecoffman/cp to v2.1.0 2024-10-17 02:07:34 +09:00
Hajime Hoshi
499b44797d all: update gomobile 2024-10-16 22:50:01 +09:00
Hajime Hoshi
e213994fdb all: update dependencies 2024-10-16 11:21:06 +09:00
Hajime Hoshi
71ae311355 internal/debug: better info for first callers 2024-10-16 11:16:24 +09:00
Hajime Hoshi
28f6d8841d .github/workflows: disable AppArmor
Closes #3131
2024-10-15 23:58:38 +09:00
Hajime Hoshi
74765c995e internal/debug: bug fix: panic when Go command is not found with -tags=ebitenginedebug 2024-10-15 21:29:15 +09:00
Hajime Hoshi
9de408a25c internal/graphicscommand: better calculation for callers 2024-10-15 21:13:17 +09:00
Hajime Hoshi
7f87ecaddc internal/graphicscommand: better debug info for blending 2024-10-15 18:26:27 +09:00
Hajime Hoshi
39c21bf4a6 internal/graphicscommand: add a first-caller information 2024-10-15 17:15:42 +09:00
Hajime Hoshi
e40e699718 internal/restorable: remove an image attribute 2024-10-15 15:15:52 +09:00
corfe83
d1ee7797c7
cmd/ebitenmobile: fix gomobile toolchain bug (#3129)
Closes #3128
2024-10-15 04:01:07 +09:00
Hajime Hoshi
2c3c8cc1f5 internal/gamepad: add PS5 files 2024-10-14 21:01:04 +09:00
Hajime Hoshi
8c84be54b5 internal/graphicsdriver/playstation5: add kBlend* consts 2024-10-14 00:12:27 +09:00
Hajime Hoshi
09c027b670 internal/glfw: reduce TLS usages at swapInterval* 2024-10-13 00:01:16 +09:00
Hajime Hoshi
18d3d91195 internal/glfw: reduce TLS usages at refreshContextAttribs 2024-10-12 23:43:06 +09:00
Hajime Hoshi
02e87d027c internal/glfw: reduce TLS usages 2024-10-12 23:11:20 +09:00
Hajime Hoshi
82b8521a6c examples/scroll: normalize the offset Y later
This change is effective when the number of items is small.
2024-10-12 20:46:42 +09:00
Hajime Hoshi
c784e88dfe internal/glfw: refactoring: use Go's map 2024-10-12 19:41:21 +09:00
Hajime Hoshi
7c7f2de646 internal/glfw: port xkb_unicode_linbsd.c to Go
Updates #2284
2024-10-12 17:21:03 +09:00
Hajime Hoshi
201bb36822 internal/graphicsdriver/opengl: refactoring: separate graphcis_*.go
Updates #2714
2024-10-12 14:56:42 +09:00
Hajime Hoshi
027ef33fe2 all: rename files
This change makes the file name convention consistent. A file for macOS,
not for iOS should have a suffix '_macos.go' rather than '_macos_darwin.go'
and/or '_darwin.go'.
2024-10-12 14:10:42 +09:00