Commit Graph

5064 Commits

Author SHA1 Message Date
Hajime Hoshi
9ef9ea0469 internal/restorable: refactoring 2024-09-08 17:03:18 +09:00
Hajime Hoshi
b36160d9e7 internal/restorable: bug fix: make all the images stale correctly 2024-09-08 16:11:57 +09:00
Hajime Hoshi
20f8df7fc1 internal/restorable: refactoring: remove lastTarget
This didn't improve performance very much. Rather, this made the code
a little hard to read and could have a potential issue.
2024-09-08 16:08:36 +09:00
Hajime Hoshi
167c3435f7 internal/restorable: refactoring 2024-09-08 16:03:56 +09:00
Hajime Hoshi
4824dc0360 internal/restorable: resolve a stale state when possible 2024-09-08 14:28:16 +09:00
Hajime Hoshi
30a2817ab5 internal/restorable: add Hint to optimize drawImageHistoryItem size 2024-09-08 12:24:20 +09:00
Hajime Hoshi
29ef2c84ef internal/atlas: add comments 2024-09-08 11:31:52 +09:00
Hajime Hoshi
1488e5e685 internal/graphicscommand: add attributes to images 2024-09-07 23:38:16 +09:00
Hajime Hoshi
4fa8265c58 internal: add comments 2024-09-07 23:24:55 +09:00
Hajime Hoshi
46cf09197b internal/graphicscommand: enable to show shader names 2024-09-07 22:06:41 +09:00
Hajime Hoshi
393437b8be internal/graphicscommand: imporve blend log 2024-09-07 21:29:50 +09:00
Hajime Hoshi
1b2a2afbfb internal/restorable: rename restoring -> restoration 2024-09-07 19:09:00 +09:00
Hajime Hoshi
d50a438c07 internal/restorable: optimize removeDuplicatedRegions
Updates #2375
Updates #2626
Updates #3083
2024-09-07 19:01:05 +09:00
Hajime Hoshi
35f4884a74 ebiten: add RunGameOptions.StrictContextRestration
This reverts commit a30f075896.

This change adds a new option StrictContextRestration to make the
restoration optional.

Closes #3083
2024-09-07 18:36:04 +09:00
Hajime Hoshi
935e7a6d5d Revert "internal/restorable: remove the case when the restoring is needed"
This reverts commit c08a2193a9.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
5e18f191c1 Revert "internal/restorable: remove drawTrianglesHistoryItem"
This reverts commit afe3f7a8ff.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
16d2052836 Revert "internal/restorable: remove alwaysReadPixelsFromGPU"
This reverts commit f3206721a3.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
81d35df33b Revert "internal/restorable: remove unused functions and variables"
This reverts commit 8169253a57.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
6453e552f3 Revert "internal/restorable: remove unnecessary functions and variables around shaders"
This reverts commit 4f3e00ec3a.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
34639d0028 Revert "internal/restorable: remove ImageTypeRestorable"
This reverts commit 8c2d4e1408.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
169b9fe51e Revert "internal/restorable: move DumpImages to internal/atlas"
This reverts commit 7c9266d8b6.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
a9d8f374c8 Revert "internal/restorable: move SwapBuffers to internal/atlas"
This reverts commit f610cb5724.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
c2c5480878 Revert "internal/atlas: move some functions in internal/restorable to internal/atlas"
This reverts commit 3651d73e0b.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
a324cfd3b6 Revert "internal/restorable: remove ImageType"
This reverts commit 21ef462c37.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
62ed5bed4b Revert "internal/restorable: integrate some functions into internal/atlas"
This reverts commit c5d0ec3de7.

Updates #3803
2024-09-07 16:54:20 +09:00
Hajime Hoshi
d533461936 Revert "internal/restorable: integrate ReadPixels into internal/atlas"
This reverts commit e804f9e58c.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
becada4afc Revert "internal/restorable: refactoring"
This reverts commit 81e1104613.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
19d2009a5f Revert "internal/restorable: integrate Shader.Dispose into internal/atlas"
This reverts commit bfa2c460a2.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
17a5488c49 Revert "internal/restorable: integrate Image.DrawTriangles into internal/atlas"
This reverts commit 3ee905bc4d.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
d733308eb1 Revert "internal/restorable: integrate Image.WritePixels into internal/atlas"
This reverts commit 6cc8150185.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
104cc18477 Revert "internal/restorable: integrate Image.Extend into internal/atlas"
This reverts commit 6151fd313f.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
54c117b0de Revert "internal/restorable: integrate Image functions into internal/atlas"
This reverts commit 59896e4447.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
5a5feb0401 Revert "internal/restorable: remove Image"
This reverts commit 812cd494de.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
0b01aeea16 Revert "internal/restorable: integrate the implementation into internal/atlas"
This reverts commit c404b448aa.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
81c75e1b0a Revert "internal/atlas: refactoring: remove ImageTypeVolatile"
This reverts commit def82fd5d3.

Updates #3083
2024-09-07 16:54:20 +09:00
Hajime Hoshi
6eb0271f83 internal/graphicscommand: better log for read/write pixels 2024-09-06 18:38:07 +09:00
Hajime Hoshi
0e6702c043 internal/file: update comments 2024-09-06 11:03:39 +09:00
Hajime Hoshi
e43bb3898b internal/file: bug fix: VirtualFS.Open(".") should always return a new entry
Closes #3081
2024-09-06 10:44:08 +09:00
Hajime Hoshi
b34f9977f6 internal/gamepaddb: update the database
This uses b4001f8b2d
2024-09-03 02:19:03 +09:00
Hajime Hoshi
3eda0dd387 internal/graphicsdriver/playstation5: add extern C 2024-09-01 20:08:52 +09:00
Hajime Hoshi
ca54ce69c4 internal/graphicsdriver/playstation5: bug fix: compile error 2024-09-01 20:00:41 +09:00
Hajime Hoshi
7f1e6cb538 internal/graphicsdriver/playstation5: add ebitengine_SetVertices 2024-09-01 19:47:21 +09:00
Hajime Hoshi
71370a01bd internal/beforemaintest: avoid os.Exit(0) 2024-09-01 13:58:39 +09:00
Hajime Hoshi
67441c4823 internal/testing: avoid os.Exit(0)
os.Exit(0) might cause test flakiness.

https://github.com/hajimehoshi/ebiten/actions/runs/10650734256/job/29522689113

```
panic: unexpected call to os.Exit(0) during test

goroutine 1 [running]:
os.Exit(0x0)
	/opt/hostedtoolcache/go/1.23.0/x64/src/os/proc.go:67 +0x8
github.com/hajimehoshi/ebiten/v2/internal/testing.MainWithRunLoop(0x19b28c0)
	/home/runner/work/ebiten/ebiten/internal/testing/testing.go:50 +0xa
github.com/hajimehoshi/ebiten/v2/internal/graphicscommand_test.TestMain(...)
	/home/runner/work/ebiten/ebiten/internal/graphicscommand/image_test.go:42
main.main()
	_testmain.go:55 +0x5
```
2024-09-01 13:31:40 +09:00
Hajime Hoshi
f98003bcd5 ebiten: add ColorSpace and RunGameOptions.ColorSpace
This works only for macOS Metal and WebGL so far.

Closes #2871
2024-08-28 03:03:57 +09:00
Hajime Hoshi
42209606b1 internal/ui: disable IME and enable it only when necessary
Closes #2918
2024-08-27 02:22:30 +09:00
Hajime Hoshi
dc68152f17 internal/shader: better error message for the fragment entry point 2024-08-25 19:38:57 +09:00
Hajime Hoshi
9693ce8382 internal/shader: allow less arguments at Fragment
Closes #3073
2024-08-25 19:17:41 +09:00
Hajime Hoshi
e2662a8af7 internal/shader: bug fix: wrong indexing 2024-08-25 18:58:05 +09:00
Hajime Hoshi
2cc809516f ebiten: add Vertex.Custom0 to Custom3
Closes #2640
2024-08-25 18:11:39 +09:00
Hajime Hoshi
bff760af01 internal/shader: bug fix: test failures
Updates #2640
2024-08-25 17:43:44 +09:00
Hajime Hoshi
fef487e09d internal/shaderir/hlsl: refactoring: more flexible generation
Updates #2640
2024-08-25 17:27:00 +09:00
Hajime Hoshi
ed45843c13 internal/graphicsdriver/opengl: assume custom attributes are vec4
Due to HLSL restrictions, all the attributes must have a semantics.
Always assuming custom attributes are vec4 makes things simpler.

Updates #2640
2024-08-25 17:11:28 +09:00
Hajime Hoshi
107189a00d internal/shader: use strings.TrimPrefix 2024-08-25 15:43:44 +09:00
Hajime Hoshi
7142a3bcd9 internal/graphicsdriver/opengl: bug fix: total must be reset 2024-08-25 15:29:22 +09:00
Hajime Hoshi
a42a8548b1 internal/shader: refactoring 2024-08-25 12:57:11 +09:00
Hajime Hoshi
6db3b11b36 internal/shader: refactoring 2024-08-25 12:29:24 +09:00
Hajime Hoshi
3547d999b1 internal/graphicsdriver/opengl/gl: bug fix: crash when log length is 0 2024-08-25 11:45:54 +09:00
Hajime Hoshi
dd63eef65e textinput: support every environment even without IME
Closes #3072
2024-08-24 01:06:52 +09:00
Hajime Hoshi
9ad7fe5bed internal/shader: refactoring 2024-08-23 11:05:14 +09:00
Hajime Hoshi
d3d42b3263 internal/shader: refactoring: varying variables 2024-08-23 10:57:59 +09:00
Hajime Hoshi
35f9b1c224 ebiten: add RunGameOptions.DisableHiDPI
Closes #2987
2024-08-20 00:02:57 +09:00
Hajime Hoshi
17322c9c3b all: reduce files for PS5 2024-08-17 23:06:01 +09:00
Hajime Hoshi
26038c2ac1 internal/ui: bug fix: an unexpected scroll bar was shown
Closes #3066
2024-08-16 23:57:52 +09:00
Hajime Hoshi
435c8b75eb internal/graphicsdriver/opengl: automatically adjust the array buffer layout
Updates #2640
2024-08-12 04:08:02 +09:00
Hajime Hoshi
9e208eee81 all: use QuadVerticesFromDstAndSrc when possible 2024-08-12 02:42:36 +09:00
Hajime Hoshi
b6ab7a10c1 internal/graphics: unify QuadVertices
This is a preparation for adding members to Vertex.

Updates #2640
2024-08-12 00:29:24 +09:00
Hajime Hoshi
6cd00f3b88 internal/graphicsdriver/opengl: exclude playstation5 2024-08-11 22:41:21 +09:00
Hajime Hoshi
9a751d7c26 internal/mipmap: refactoring 2024-08-11 22:33:21 +09:00
Hajime Hoshi
e6807794f2 internal/mipmap: refactoring 2024-08-11 22:29:15 +09:00
Hajime Hoshi
5e820be911 internal/buffered: refactoring
This is a preparation for adding members to Vertex.

Updates #2640
2024-08-11 22:25:45 +09:00
Hajime Hoshi
5f80f4b3de all: refactoring 2024-08-11 21:43:00 +09:00
Hajime Hoshi
89933bf0ab internal/graphicsdriver/playstation5: bug fix: compile error 2024-08-10 21:52:38 +09:00
Hajime Hoshi
332da38565 internal/graphicsdriver/playstation5: update DrawTriangles
A Go pointer in a C struct could cause some troubles.
2024-08-10 21:21:09 +09:00
Hajime Hoshi
a5235eea86 internal/graphicsdriver/opengl/gl: always prefer OpenGL ES to OpenGL
Closes #2944
2024-08-10 01:21:35 +09:00
Hajime Hoshi
9c80367f2f internal/gamepad: ignore EACCES error for /dev/input
Updates #3057
2024-08-08 11:35:39 +09:00
Hajime Hoshi
1f03971fa9 internal/debug: reland: rename functions 2024-08-07 23:48:35 +09:00
Hajime Hoshi
fab9482e0e Revert "internal/debug: rename functions"
This reverts commit 74722298a2.

Reason: This included an unexpected change in internal/gamepad
2024-08-07 23:47:51 +09:00
Hajime Hoshi
74722298a2 internal/debug: rename functions 2024-08-07 23:42:36 +09:00
Hajime Hoshi
2a34d1d47b internal/graphicsdriver/opengl/gl: use PureGo version for Android again
This is basically a revert for 297efea68b.
This updates PureGo for the Android issue.

Updates #3052
Updates ebitengine/purego#262
2024-08-05 23:34:56 +09:00
Hajime Hoshi
aba652c323 internal/graphicsdriver/playstation5: add DrawTriangles 2024-08-04 19:13:36 +09:00
Hajime Hoshi
9bd17de2d3 internal/graphicsdriver/opengl: remove unused members 2024-08-04 04:26:53 +09:00
Hajime Hoshi
37a6057230 internal/ui: bug fix: increase maxSkipCount
Closes #3055
2024-08-04 04:16:01 +09:00
Hajime Hoshi
af6072c1b4 internal/shader: add more tests
Updates #3011
2024-08-03 19:08:03 +09:00
Hajime Hoshi
7c4f532b83 internal/shader: bug fix: an index must be a constant for vectors
Updates #3011
2024-08-03 19:03:42 +09:00
Hajime Hoshi
719838b7ab .github/workflows: update wasmbrowsertest to fix timeout issue
The issue agnivade/wasmbrowsertest#60 was fixed.

Updates #1313
2024-08-02 23:03:01 +09:00
Hajime Hoshi
297efea68b internal/graphicsdriver/opengl/gl: use C version for Android
Unfortunately PureGo's dlopen didn't work on some Android devices.
Use the Cgo version instead in the same way as v2.7.

Closes #3052
2024-08-01 11:52:07 +09:00
Hajime Hoshi
856b339298 internal/ui: bug fix: show a black dot at the red button when needed
When SetWindowClosingHandled(true) is called, a black dot should be
shown at the red button to close the window.

Closes #3020
2024-07-31 23:54:18 +09:00
Hajime Hoshi
3106f98b52 internal/graphicsdriver/opengl/gl: add more error messages to load libraries 2024-07-31 21:35:24 +09:00
Hajime Hoshi
1843f6acc1 internal/ui: bug fix: dropping multiple files didn't work on Firefox and Safari
Closes #3045
2024-07-31 11:50:30 +09:00
Hajime Hoshi
95ad1b158c internal/file: refactoring
Updates #3045
2024-07-31 11:21:35 +09:00
Hajime Hoshi
0281ac7bd2 all: use bufio.NewWriter to improve writing speed 2024-07-29 16:29:57 +09:00
Hajime Hoshi
ef5ac4175d all: use bufio.Reader to improve reading speed 2024-07-29 02:28:37 +09:00
Hajime Hoshi
d086e83a62 internal/shader: stabilize wasm tests on GitHub CI 2024-07-26 03:16:34 +09:00
Hajime Hoshi
5d47863a27 internal/shader: bug fix: untyped const bool couldn't be an if condition
Closes #2993
2024-07-26 02:09:16 +09:00
Hajime Hoshi
09cefc6e71 internal/shader: bug fix: crash with an invalid operand
Closes #2989
2024-07-26 00:06:12 +09:00
Hajime Hoshi
abc056ab29 internal/gamepad: refactoring 2024-07-21 09:10:04 +09:00
Hajime Hoshi
7ab9382424 internal/gamepad: bug fix: crash when XInput and DInput gamepads were connected
Closes #3047
2024-07-20 22:30:38 +09:00
Hajime Hoshi
687e505db0 internal/gamepad: specify dwHow explicitly
As _DIPH_DEVICE is 0, this worked even without setting it, but this
was less readable.
2024-07-20 19:37:53 +09:00
Hajime Hoshi
b6b08f4fce internal/gamepad: typo 2024-07-20 19:21:09 +09:00