Commit Graph

5052 Commits

Author SHA1 Message Date
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
Hajime Hoshi
122877c265 internal/gamepad: bug fix: GUID was not reliable as a unique identifier
Use a HID path as a gamepad unique identifier instead.

Closes #3046
2024-07-20 19:17:57 +09:00
cowboy.macke
3a6aaac5ac
internal/ui: bug fix: crash by dropping an HTML element onto the canvas (#3044)
Closes #3043
2024-07-18 17:19:21 +09:00
Hajime Hoshi
1804d56777 Revert "all: open up for more destinations images (#3013)"
This reverts commit 46d171c3c5.

Reason: MRT is now suspended. Let's revisit this when we work on MRT again.
2024-07-16 22:43:49 +09:00
Hajime Hoshi
f9b0451e08 internal/ui: call setRunning(true) at a more appropriate timing 2024-07-15 22:52:50 +09:00
Hajime Hoshi
38d6328e41 internal/ui: bug fix: crash on Windows
Updates #3042
2024-07-15 22:44:45 +09:00
Hajime Hoshi
3d385ef0aa internal/ui: refactoring: call initOnMainThread on the main thread explicitly
Closes #3042
2024-07-15 22:07:47 +09:00
Hajime Hoshi
d4dc2ef5d7 internal/ui: refactoring: remove an unused member 2024-07-15 21:53:07 +09:00
Hajime Hoshi
9bc5ed3847 internal/graphicscommand: bug fix: missing file
Updates #3036
2024-07-12 11:30:36 +09:00
Hajime Hoshi
7b46df44ee internal/graphicscommand: bug fix: buffered write pixel args might never be released
Closes #3036
2024-07-12 11:25:50 +09:00
Bertrand Jung
46d171c3c5
all: open up for more destinations images (#3013)
Updates #2930
2024-07-09 02:05:55 +09:00
Hajime Hoshi
1679555bbb internal/ui: fix a wrong comment 2024-07-07 01:05:40 +09:00
Hajime Hoshi
073d022c2e internal/graphicsdriver/opengl: remove IsFramebuffer and IsRenderbuffer
These function return true in most cases, and when these return false,
the situation is pretty bad and recovering the situation would not be
possible.

IsFramebuffer and IsRenderbuffer cause round trips and affect performance.
Let's remove them.
2024-07-06 19:15:01 +09:00