Commit Graph

8788 Commits

Author SHA1 Message Date
Hajime Hoshi
77f32bd088 internal/gamepad: use -overlay to provide the implementation for Nintendo Switch
Updates #2372
2022-12-31 18:08:28 +09:00
Hajime Hoshi
cd66fecd1b update Oto (update the Oboe version to v1.7.0) 2022-12-31 01:07:12 +09:00
Hajime Hoshi
34941ca083 all: separate the rendering thread from the main thread
Updates #1704
Closes #2512
2022-12-30 22:57:34 +09:00
Hajime Hoshi
0fc21470e2 internal/ui: move some context-dependent processes to updateFrameImpl
This is a preparation to introduce an independent thread for rendering.

Updates #2512
2022-12-30 22:06:36 +09:00
Hajime Hoshi
b9fb4e9f50 internal/ui: remove an unnecessary hack for macOS
Now macOS always uses the native fullscreen even for a transparent
window, we no longer need a hack to call SwapBuffers explicitly.

Updates #1004
2022-12-30 16:25:05 +09:00
Hajime Hoshi
0a03df297b internal/ui: make it explicit to call swapBuffers only w/ OpenGL 2022-12-30 15:44:01 +09:00
Hajime Hoshi
0e137e8dd7 internal/ui: bug fix: compile error on mobiles 2022-12-30 15:44:01 +09:00
Hajime Hoshi
8902d95b2d internal/ui: remove unused function runOnAnotherThreadFromMainThread 2022-12-30 13:52:05 +09:00
Hajime Hoshi
e1992347b7 internal/graphicscommand: rename SetRenderingThread -> SetRenderThread 2022-12-30 13:51:32 +09:00
Hajime Hoshi
fa4916d063 internal/ui: refactoring 2022-12-30 13:28:00 +09:00
Hajime Hoshi
3f753b7086 internal/ui: refactoring: remove unnecessary hack for unfocusing
The sleeping for an unfocused state also happens in (*userInterfaceImpl).update().

Updates #982
Updates #987
2022-12-30 00:41:46 +09:00
Hajime Hoshi
7e7deeab22 internal/ui: bug fix: SetWindowIcon crashed in the single-thread mode
Updates #1468
Closes #2513
2022-12-30 00:01:11 +09:00
Hajime Hoshi
b597ed1e27 internal/ui: remove unnecessary swapBuffer call
This was introduced at 9e161864f6, the
background is now unclear. Things work even without this hack.

Updates #157
Updates #158
2022-12-29 21:48:37 +09:00
Hajime Hoshi
42c08698fb internal/ui: give up re-rendering on resizing the window
It seems difficult to implement this correctly as long as the rendering
thread is the same as the main thread.

Closes #2144
Updates #2512
2022-12-29 21:27:44 +09:00
Hajime Hoshi
dd853050e9 internal/ui: refactoring 2022-12-29 21:09:30 +09:00
Hajime Hoshi
4d89b5de07 internal/ui: refactoring 2022-12-29 20:47:32 +09:00
Hajime Hoshi
e5b9569142 internal/ui: bug fix: the env variable should be used only when the library is not specified
Updates #2378
2022-12-29 15:44:55 +09:00
Hajime Hoshi
8d020ad414 internal/graphicsdriver/metal: refactoring 2022-12-29 15:27:51 +09:00
Hajime Hoshi
5e17791e4e internal/ui: bug fix: an offscreen was broken with SetScreenClearedEveryFrame(false)
Updates #2500
Closes #2510
2022-12-29 14:57:07 +09:00
Hajime Hoshi
cba6905c57 internal/glfwwin: bug fix: MapVirtualKeyW is not defined on Xbox 2022-12-29 00:53:03 +09:00
Hajime Hoshi
7736161d8d update Oto (bug fix: strange sounds when volume is 0) 2022-12-29 00:02:47 +09:00
Hajime Hoshi
0756be0b68 cmd/ebitenmobile: use an independent thread for rendering on iOS
Closes #2508
2022-12-28 23:37:13 +09:00
Hajime Hoshi
c638727759 internal/thread: remove Stop and use context.Context instead 2022-12-28 17:11:55 +09:00
Hajime Hoshi
01eb1a0bca internal/ui: refactoring 2022-12-28 16:44:22 +09:00
Hajime Hoshi
e9248c6f33 internal/ui: rename t -> mainThread 2022-12-28 15:59:53 +09:00
Hajime Hoshi
089ba9ee20 internal/thread: update comments 2022-12-28 14:46:54 +09:00
Hajime Hoshi
ece60af1b7 internal/graphicsdriver/metal: stop using presentsWithTransaction
presentsWithTransaction caused many troubles. The critical thing was
that nextDrawable sometimes took more than one second when a user
inputs with NSTextView.

Fortunately, applications work well even without presentsWithTransaction.

Updates #1029
Updates #1196
Updates #1745
Updates #1974
2022-12-27 19:00:56 +09:00
Hajime Hoshi
5e7ec81f5c internal/ui: rename functions 2022-12-27 12:54:01 +09:00
Hajime Hoshi
41a68bf17b internal/ui: remove unused functions 2022-12-26 22:43:20 +09:00
Hajime Hoshi
0c072894b5 internal/microsoftgdk: improve forward compatibility 2022-12-25 22:00:22 +09:00
Hajime Hoshi
8b588587cc internal/graphicsdriver/directx: do not cache a vertex shader when an error occurs 2022-12-25 04:27:15 +09:00
Hajime Hoshi
dd7e125d9c ebiten: add KeyName for desktops and browsers
Updates #1904
2022-12-25 03:37:29 +09:00
Hajime Hoshi
e6346c01d2 internal/ui: stop panicking at Key.String 2022-12-25 00:33:08 +09:00
Hajime Hoshi
8e1bd4eaba internal/graphicsdriver/directx: refactoring 2022-12-24 18:05:47 +09:00
Hajime Hoshi
fda0b1cbcb internal/graphicsdriver/directx: reuse a compiled vertex shader if possible
D3DCompile can be a very slow function, and let's skip this if possible.
2022-12-24 17:44:54 +09:00
Hajime Hoshi
88fe3d1287 internal/shaderir: rename TextureNum to TextureCount 2022-12-24 15:55:05 +09:00
Hajime Hoshi
88e5d5e059 Revert "internal/shaderir: refactoring: remove Program.TextureNum"
This reverts commit c2bea16776.

Reason: test compilation errors
2022-12-24 15:53:16 +09:00
Hajime Hoshi
c2bea16776 internal/shaderir: refactoring: remove Program.TextureNum 2022-12-24 15:15:41 +09:00
Hajime Hoshi
f9650fbb8c internal/graphics: update error messages 2022-12-24 14:34:02 +09:00
Hajime Hoshi
7af300a468 update Oto to v2.4.0-alpha.9 2022-12-24 14:33:12 +09:00
Hajime Hoshi
e4576a3de5 internal/restorable: bug fix: concurrent map write 2022-12-24 03:14:04 +09:00
Hajime Hoshi
71492554a7 internal/restorable: compile shaders in parallel 2022-12-24 02:00:42 +09:00
Hajime Hoshi
1b4f68d775 internal/graphicsdriver/directx: call D3DCompile in parallel
D3DCompile can be very slow on some old machines.

See also https://bugs.chromium.org/p/angleproject/issues/detail?id=422
2022-12-24 01:22:33 +09:00
Hajime Hoshi
de8184ac10 internal/graphicsdriver/directx: implement suspend/resume for Xbox 2022-12-23 17:28:03 +09:00
Hajime Hoshi
8dc582aca4 update Oto (reverting the fix for pausing/resuming)
Updates #2074
2022-12-21 12:05:46 +09:00
Hajime Hoshi
d3655940bd internal/ui: bug fix: input states must be updated before the hook
Closes #2502
2022-12-21 11:46:58 +09:00
Hajime Hoshi
8ccfa7bec1 update Oto (to reduce clicking noises on pausing/resuming)
Updates #2074
2022-12-21 02:25:14 +09:00
Hajime Hoshi
a5b6f39ed7 internal/ui: bug fix: reset the input state immediately after reading
Before this change, the input state was reset at the end of a tick.
This means that wheel deltas or input chars in a tick might be reset
unexpectedly.

This change fixes the issue by reseting the input state immediately
when reading, so that wheel events and input-char events are preserved.

Updates #2496
Updates #2501
2022-12-21 00:27:28 +09:00
Hajime Hoshi
f989f8a9fa update Oto (reduce noises when changing volumes) 2022-12-20 11:59:30 +09:00
Hajime Hoshi
38f802cb40 internal/ui: simplify the logic of skipping rendering 2022-12-20 11:34:47 +09:00