Hajime Hoshi
53687aafb0
internal/shaderlister: reland: compile shaders
...
Updates #3157
2024-11-16 19:22:59 +09:00
Hajime Hoshi
ab954c9c6e
Revert "internal/shaderlister: compile shaders"
...
This reverts commit 848e30e0e7
.
Reason: test failures
2024-11-16 19:14:02 +09:00
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
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
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
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
2fab556dd9
internal/affine: refactoring: remove unused types
2024-10-27 22:44:58 +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
6cf235daef
internal/graphicscommand: refactoring
2024-10-26 23:07:03 +09:00
Hajime Hoshi
e6b8ebe8a2
internal/gamepaddb: bug fix: typo
...
Closes #3148
2024-10-26 19:05:51 +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
f6cd2beacf
internal/buildinshader: refactoring
2024-10-24 12:16:05 +09:00
Hajime Hoshi
0a73cbfce4
internal/builtinshader: refactoring
2024-10-22 14:29:46 +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
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
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
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
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
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
71ae311355
internal/debug: better info for first callers
2024-10-16 11:16:24 +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
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
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