Hajime Hoshi
34d577a5ff
Revert "internal/atlas: reintroduce a byte pool"
...
This reverts commit 7e17b25c56
.
Reason: the current byte pool suppresses allocations to some extent, but doesn't suppress GCs.
Updates #1681
2023-10-09 14:40:05 +09:00
Hajime Hoshi
7e17b25c56
internal/atlas: reintroduce a byte pool
...
The old byte pool depnded on lifetimes of command queues, and this
was tricky.
The new byte pool uses runtime.SetFinalizer so this should be much
easier to use.
Updates #1681
2023-10-09 03:28:29 +09:00
Hajime Hoshi
2405b7e825
internal/restorable: remove unnecessary copying
...
After 6e5361c328
, WritePixels can
expect that the given pixel byte slice is always new, and now can
be assumed immutable. Do not copy the slice for restoring.
Actually, these copying were introduced at 38ce46328a
in order to reuse the same slice regions.
2023-10-09 01:17:43 +09:00
Hajime Hoshi
6e5361c328
internal/restorable: use clearImage to avoid allocations
...
Bytes from a pool in a command queue is now pretty hard to use correctly
as the lifetime of a queue is not clear.
Remove the byte pools once. Let's reconsider pool usages later.
This change also removes imagesWithBuffers as this is no longer needed.
imagesWithBuffers was necessary to ensure all the bytes from the pool
of the command queue was used before the queue flushes the commands,
as the command queue cleared the pool after flushing. The lifetimes
were pretty ticky.
2023-10-09 00:42:58 +09:00
Hajime Hoshi
cc8cf688f4
internal/restorable: use clearImage to avoid allocations
2023-10-08 23:59:31 +09:00
Hajime Hoshi
e768e8ad40
internal/graphicscommand: refactoring: add commandqueue.go
2023-10-08 19:54:28 +09:00
Hajime Hoshi
9ed3c89594
internal/graphicscommand: remove an image from imageWithBuffers whenever possible
2023-10-08 19:43:58 +09:00
Hajime Hoshi
810b62f83e
internal/graphicscommand: introduce commandQueuePool and commandQueueManager
...
This removes the restriction of the number of command queues.
Updates #1704
2023-10-08 19:23:57 +09:00
Hajime Hoshi
d2dd62b6db
internal/graphicscommand: remove unnecessary references to drawTrianglesCommand
2023-10-08 17:18:16 +09:00
Hajime Hoshi
fd1083808c
internal/graphicscommand: switch the queue before flushing
...
This is a preparation to do something (e.g. handling inputs) during
being blocked by Flush.
Updates #1704
2023-10-08 16:10:07 +09:00
Hajime Hoshi
53525342b1
internal/graphicscommand: bug fix: Flush didn't return error when sync=false
2023-10-08 04:30:14 +09:00
Hajime Hoshi
e352181ec1
mobile: add RunOnJVM
...
RunOnJVM is just a wrapper of golang.org/x/mobile/app.RunOnJVM,
in order to reduce direct dependencies on golang.org/x/mobile.
Updates #2803
2023-10-08 02:21:56 +09:00
Hajime Hoshi
cede5027d3
internal/glfw: merge internal/cglfw into internal/glfw
...
Closes #2703
2023-10-07 23:59:55 +09:00
Hajime Hoshi
ad0b61c022
internal/cglfw: fix errors to be close to internal/glfw
...
Updates #2703
2023-10-07 22:48:44 +09:00
Hajime Hoshi
6dc375f7a6
internal/cglfw: let Terminate return an error
...
This change also removes flushErrors, which is only for GLFW
debuggings.
2023-10-07 22:35:40 +09:00
Hajime Hoshi
7bcefa1035
internal/cglfw: remove acceptError
2023-10-07 22:14:34 +09:00
Hajime Hoshi
98dc59c89f
internal/cglfw: let functions return errors
...
Updates #2703
2023-10-07 20:28:03 +09:00
Hajime Hoshi
ee1c179c83
internal/cglfw: let functions return errors in native_linbsd.go
...
Updates #2703
2023-10-07 20:28:03 +09:00
Hajime Hoshi
6a5d46dc43
internal/cglfw: use stderr for logs
2023-10-07 20:28:03 +09:00
Hajime Hoshi
82bceba847
internal/cglfw: let functions return errors in native_darwin.go and glfw_unix.go
...
Updates #2703
2023-10-07 18:37:06 +09:00
Hajime Hoshi
cb023af4b6
internal/cglfw: use stderr instead of log
2023-10-07 18:36:20 +09:00
Hajime Hoshi
aef7b0dd38
internal/glfw: rename files
...
Updates #2703
2023-10-07 17:23:33 +09:00
Hajime Hoshi
a971e32ec1
internal/cglfw: rename files
...
Updates #2703
2023-10-07 17:13:28 +09:00
Hajime Hoshi
82f2319020
internal/hook: rename hooks -> hook
2023-10-06 13:58:00 +09:00
Hajime Hoshi
3d4dc239bc
all: update dependencies
2023-10-06 12:36:36 +09:00
Hajime Hoshi
e7ad5c52fe
internal/glfw: merge internal/goglfw into internal/glfw
...
This also changes APIs in internal/glfw to return errors.
Updates #2703
2023-10-05 03:09:51 +09:00
Hajime Hoshi
370e506dc9
.github/workflows: improve go-vet test targets
2023-10-05 02:26:35 +09:00
Hajime Hoshi
ef1e495aba
internal/winver: fix a panic message
2023-10-05 01:25:09 +09:00
Hajime Hoshi
aa55953c11
internal/ui: replace (*userInterface).err with (*globalState).err
2023-10-05 00:45:04 +09:00
Hajime Hoshi
cc999a4c5b
.github/workflows: skip vettools for Go 1.18 and 1.19
...
There is an issue in golang.org/x/tools@v0.12.0. See golang/go#62519
for the details.
As a temporary solution, just skip using vettools for Go 1.18 and 1.19.
2023-10-04 13:37:42 +09:00
Hajime Hoshi
0af42e6620
internal/vettools: bug fix: vettool itself failed with vettool check
2023-10-04 12:56:14 +09:00
Hajime Hoshi
b27238e989
.github/workflows: refactoring
2023-10-04 12:17:41 +09:00
Hajime Hoshi
73524d8df5
.github/workflows: move vettools to internal to avoid a nested module
2023-10-04 12:16:32 +09:00
Hajime Hoshi
0e722669ef
internal/glfw: add const definitions
...
This is one of the steps to merge internal/glfw and internal/goglfw.
Updates #2703
2023-10-04 03:04:47 +09:00
Hajime Hoshi
84030a3f77
internal/ui: refactoring: remove unused functions
2023-10-04 02:54:55 +09:00
Hajime Hoshi
491b578866
ebiten: add KeyF13 to KeyF24
...
Closes #2801
2023-10-04 00:45:49 +09:00
Hajime Hoshi
33c51eeee4
internal/goglfw: remove files for macOS
...
Updates #2776
2023-10-03 22:44:38 +09:00
Nathan Levett
8b587a1d4e
.github/workflows: dynamic Go versions in vuln workflow ( #2800 )
...
Swap from hard coded versions of go to dynamically acquiring
the latest stable versions from https://go.dev/dl/?mode=json
Closes #2573
2023-10-03 02:33:23 +09:00
Hajime Hoshi
b2a6e79a5a
internal/graphicsdriver/opengl/gl: rename procaddr_others.go to procaddr_linbsd.go
2023-10-02 01:02:51 +09:00
Hajime Hoshi
386bda3c84
internal/graphicsdriver/opengl/gl: add do-not-edit comment
2023-10-02 00:21:53 +09:00
Hajime Hoshi
50508e1a8d
internal/thread: add comments
2023-10-02 00:06:41 +09:00
Hajime Hoshi
95b4eeafce
all: remove unnecessary build tag restrictions
2023-10-01 23:27:57 +09:00
Hajime Hoshi
49ff4df890
.github/workflows: add PlayStation 5
2023-10-01 22:42:58 +09:00
Hajime Hoshi
8c7eb70635
internal/ui: bug fix: wrong monitor was detected on fullscreen
...
Updates #2225
Updates #2794
2023-09-30 13:41:12 +09:00
Hajime Hoshi
22118ba962
internal/ui: add a comment
...
Updates #2796
2023-09-30 02:55:04 +09:00
Hajime Hoshi
dce18d7c23
internal/ui: bug fix: SetWindowIcon(nil) didn't reset the window icon
...
Closes #2796
2023-09-30 02:46:40 +09:00
Hajime Hoshi
13dfb28a98
internal/ui: copy a slice at SetIconImages
...
This changes makes ebiten.SetIconImages a little safer.
2023-09-30 01:46:01 +09:00
Hajime Hoshi
7204ca86e3
internal/ui: refactoring: remove an unused member
2023-09-30 01:39:34 +09:00
Hajime Hoshi
aab22f4c1e
internal/ui: bug fix: use correct regions at (*monitors).monitorFromPosition
...
Updates #2781
2023-09-30 00:30:06 +09:00
Hajime Hoshi
2fbef2106d
internal/ui: refactoring
...
Updates #2781
2023-09-30 00:11:15 +09:00