Commit Graph

4814 Commits

Author SHA1 Message Date
Hajime Hoshi
e39c50c296 internal/graphicsdriver/metal: add comments
Updates #2880
Updates #2883
2024-01-17 20:51:32 +09:00
Hajime Hoshi
055db234a1 internal/graphicsdriver/metal: bug fix: use 2 as a drawable count for Arm Mac
Closes #2883
2024-01-17 18:57:50 +09:00
Hajime Hoshi
2ec5c788ab internal/buffered: fix comments 2024-01-17 04:19:07 +09:00
Hajime Hoshi
cef272f638 internal/buffered: refactoring 2024-01-17 00:20:12 +09:00
Hajime Hoshi
3cbc1870bf internal/buffered: update pixels instead of dotsBuffer when possible 2024-01-17 00:18:06 +09:00
Hajime Hoshi
26e2748732 internal/buffered: bug fix: check errors from ReadPixels 2024-01-16 13:26:31 +09:00
Hajime Hoshi
2f894cb311 internal/buffered: move tests to internal/beforemaintest
Also, this change moves TestUnsyncedPixels to buffered_test.
2024-01-16 13:07:10 +09:00
Hajime Hoshi
7b3eae3dcb internal/ui: reland: move dotsBuffer from internal/ui.Image to internal/buffered.Image
This is a reland of fb426cd0dd.

This is a refactoring as 'caching' things should be in internal/buffered,
but also this is a performance optimization to make pixels and dotsBuffer
work well together.
2024-01-16 12:45:43 +09:00
Hajime Hoshi
b2759b66f9 Revert "internal/ui: move dotsBuffer from internal/ui.Image to internal/buffered.Image"
This reverts commit fb426cd0dd.

Reason: processtest (TestPrograms/issue2089) failed (flaky)
2024-01-16 02:56:24 +09:00
Hajime Hoshi
fb426cd0dd internal/ui: move dotsBuffer from internal/ui.Image to internal/buffered.Image
This is a refactoring as 'caching' things should be in internal/buffered,
but also this is a performance optimization to make pixels and dotsBuffer
work well together.
2024-01-16 02:08:41 +09:00
Hajime Hoshi
a0cb0d0568 internal/graphicsdriver/playstation5: use message to detect errors 2024-01-14 22:18:12 +09:00
Hajime Hoshi
00e67b8419 internal/graphicsdriver/playstation5: improve error handlings
Updates #2799
2024-01-14 00:42:13 +09:00
Hajime Hoshi
7f396f72de all: remove the comments about restorable 2024-01-13 20:00:01 +09:00
Hajime Hoshi
c404b448aa internal/restorable: integrate the implementation into internal/atlas
Closes #805
2024-01-13 19:59:57 +09:00
Hajime Hoshi
812cd494de internal/restorable: remove Image
Updates #805
2024-01-13 19:33:04 +09:00
Hajime Hoshi
59896e4447 internal/restorable: integrate Image functions into internal/atlas
Updates #805
2024-01-13 19:27:14 +09:00
Hajime Hoshi
6151fd313f internal/restorable: integrate Image.Extend into internal/atlas
Updates #805
2024-01-13 19:15:47 +09:00
Hajime Hoshi
6cc8150185 internal/restorable: integrate Image.WritePixels into internal/atlas
Updates #805
2024-01-13 19:05:19 +09:00
Hajime Hoshi
3ee905bc4d internal/restorable: integrate Image.DrawTriangles into internal/atlas
Updates #805
2024-01-13 18:52:06 +09:00
Hajime Hoshi
bfa2c460a2 internal/restorable: integrate Shader.Dispose into internal/atlas
Updates #805
2024-01-13 18:40:31 +09:00
Hajime Hoshi
2a465c2d0b internal/atlas: bug fix: do not pass nil to WritePixels 2024-01-13 18:33:02 +09:00
Hajime Hoshi
81e1104613 internal/restorable: refactoring
Updates #805
2024-01-13 18:19:48 +09:00
Hajime Hoshi
e804f9e58c internal/restorable: integrate ReadPixels into internal/atlas
Updates #805
2024-01-13 18:19:43 +09:00
Hajime Hoshi
c5d0ec3de7 internal/restorable: integrate some functions into internal/atlas
Updates #805
2024-01-13 18:05:42 +09:00
Hajime Hoshi
21ef462c37 internal/restorable: remove ImageType
Updates #805
2024-01-13 18:03:39 +09:00
Hajime Hoshi
d906dc3a21 internal/packing: rename a function 2024-01-13 17:42:51 +09:00
Hajime Hoshi
3651d73e0b internal/atlas: move some functions in internal/restorable to internal/atlas
Updates #805
2024-01-13 14:05:24 +09:00
Hajime Hoshi
f610cb5724 internal/restorable: move SwapBuffers to internal/atlas
Updates #805
2024-01-09 04:55:26 +09:00
Hajime Hoshi
7c9266d8b6 internal/restorable: move DumpImages to internal/atlas
Updates #805
2024-01-09 04:50:22 +09:00
Hajime Hoshi
fdf36026ae internal/atlas: add special backends to theBackends for consistency 2024-01-09 04:39:15 +09:00
Hajime Hoshi
fe0b33db58 internal/atlas: improve deallocation 2024-01-09 04:31:23 +09:00
Hajime Hoshi
8c2d4e1408 internal/restorable: remove ImageTypeRestorable
Updates #805
2024-01-09 03:35:32 +09:00
Hajime Hoshi
4f3e00ec3a internal/restorable: remove unnecessary functions and variables around shaders
Updates #805
2024-01-09 03:23:13 +09:00
Hajime Hoshi
8169253a57 internal/restorable: remove unused functions and variables
Updates #805
2024-01-09 02:56:15 +09:00
Hajime Hoshi
f3206721a3 internal/restorable: remove alwaysReadPixelsFromGPU
Updates #805
2024-01-09 02:43:09 +09:00
Hajime Hoshi
afe3f7a8ff internal/restorable: remove drawTrianglesHistoryItem
Updates #805
2024-01-09 02:40:27 +09:00
Hajime Hoshi
5a36b4bb48 internal/graphicsdriver/opengl/gl: remove IsTexture
Updates #805
2024-01-09 02:35:30 +09:00
Hajime Hoshi
48e3c766f7 internal/graphicsdriver: remove Image.IsInvalidated
Updates #805
2024-01-09 00:30:21 +09:00
Hajime Hoshi
a19f079da8 internal/graphicsdriver/playstation5: remove NeedsRestoring 2024-01-09 00:26:01 +09:00
Hajime Hoshi
c08a2193a9 internal/restorable: remove the case when the restoring is needed
Updates #805
2024-01-09 00:20:35 +09:00
Hajime Hoshi
771e5685f8 internal/graphicsdriver: remove NeedsRestoring()
Updates #805
2024-01-08 23:27:28 +09:00
Hajime Hoshi
a30f075896 cmd/ebitenmobile: use setPreserveEGLContextOnPause(true)
setPreserveEGLContextOnPause(true) suppresses context losts, and
basically we will no longer need our restoring logic.

Updates #805
2024-01-08 20:13:13 +09:00
Hajime Hoshi
9539a87b17 all: drop the support of gomobile-build
Closes #2741
2024-01-08 00:43:26 +09:00
Hajime Hoshi
a4abc4472b internal/shaderir/msl: always use the same function names 2024-01-07 18:54:15 +09:00
Hajime Hoshi
87fe7bfd99 internal/graphicsdriver/metal: refactoring 2024-01-02 23:42:50 +09:00
Hajime Hoshi
fd63820139 internal/graphicsdriver/metal: bug fix: always use 3 drawables
Updates #2822
Closes #2880
2024-01-02 22:50:46 +09:00
Hajime Hoshi
ec9613dd94 Revert "internal/graphicsdriver/metal: bug fix: use 3 drawables for fullscreen"
This reverts commit 3c7bcf3035.

Reason: the window unexpectedly blinks when exiting from fullscreen

Updates #2880
2024-01-02 22:47:09 +09:00
Hajime Hoshi
3c7bcf3035 internal/graphicsdriver/metal: bug fix: use 3 drawables for fullscreen
Closes #2880
2024-01-02 22:33:05 +09:00
Hajime Hoshi
dddfb7317b internal/cocoa: integrate internal/graphicsdriver/metal/ns and internal/cocoa 2024-01-02 22:22:19 +09:00
Hajime Hoshi
2da56c00c8 internal/ui: remove renderThread
Updates #2714
2024-01-02 17:14:38 +09:00
theinternetftw
5774cf808f
internal/ui: show window after first draw on glfw (#2875)
Fixes #2725 by avoiding the flash in the first place. Showing the
window this way was already default on macOS; This makes it default
for all glfw platforms.

Closes #2725
2023-12-29 14:16:54 +09:00
Hajime Hoshi
338b8957e8 internal/graphicscommand: add Terminate
This change reduces a render thread usage in internal/ui.

Updates #2714
2023-12-27 02:28:55 +09:00
Hajime Hoshi
22715cd2d5 internal/gamepaddb: refactoring 2023-12-24 23:41:44 +09:00
Hajime Hoshi
4a2c8212fb internal/shaderir: fix comments 2023-12-24 23:10:41 +09:00
Hajime Hoshi
c48fc05132 internal/graphicsdriver/metal: use %w instead of %v for errors 2023-12-24 22:29:53 +09:00
Hajime Hoshi
2e363cc19b internal/thread: fix comments 2023-12-23 23:23:52 +09:00
Hajime Hoshi
4895ae7f93 internal/graphicsdriver/opengl: refactoring: move some functions from internal/ui
Updates #2714
2023-12-23 22:30:13 +09:00
Hajime Hoshi
ee2ca6d20c internal/graphicsdriver/opengl: refactoring 2023-12-23 19:28:41 +09:00
Hajime Hoshi
01a4e29c5b internal/graphicsdriver/opengl/gl: add a build tag for PS5 2023-12-23 19:01:36 +09:00
Hajime Hoshi
b73d63da29 internal/glfw: change the default client API to No-API 2023-12-21 04:05:13 +09:00
Hajime Hoshi
037a818601 internal/graphicsdriver/opengl: bug fix: go-vet failed 2023-12-20 03:06:58 +09:00
Hajime Hoshi
4ef7b5c166 internal/graphicsdriver/opengl: refactoring: hide SetGLFWClientAPI
Updates #2714
2023-12-20 02:47:19 +09:00
Hajime Hoshi
f6f0cf05e6 internal/ui: refactoring: move updateVsyncOnRenderThread to the OpenGL driver
Updates #2714
2023-12-20 02:38:20 +09:00
Hajime Hoshi
12ae411d15 internal/graphicsdriver/opengl, internal/graphicsdriver/opengl/gl: refactoring 2023-12-20 02:19:33 +09:00
Hajime Hoshi
6fd18150d8 internal/graphicsdriver/opengl: move egl to the package opengl
Updates #2714
2023-12-19 23:41:14 +09:00
Hajime Hoshi
425b4dd99a internal/graphicsdriver/opengl: fix a wrong comment
Updates #2517
2023-12-18 01:44:27 +09:00
bsski
b8df1217c3
all: fix typos (#2864) 2023-12-17 22:42:34 +09:00
Hajime Hoshi
d7ebc19d04 internal/ui: refactoring: reduce usages of renderThread
Updates #2714
2023-12-17 16:21:07 +09:00
Hajime Hoshi
3b1684978b internal/ui: typo 2023-12-06 23:00:58 +09:00
Hajime Hoshi
d91455c0a7 internal/graphicscommand: add Shader.id 2023-12-01 21:31:50 +09:00
Hajime Hoshi
c45e9d0c00 internal/processtest: remove an empty line 2023-11-19 17:01:00 +09:00
Hajime Hoshi
af6b8dcd1c internal/processtest: use text/v2
Updates #2454
2023-11-19 16:55:03 +09:00
Hajime Hoshi
9b9384baa0 internal/shader: bug fix: variables in an index should be marked as used
Closes #2848
2023-11-19 14:50:43 +09:00
Hajime Hoshi
acd317bf91 internal/ui: bug fix: wrong for-loop condition
Closes #2847
2023-11-18 20:01:24 +09:00
Hajime Hoshi
1e78c2e6b0 internal/shaderir: bug fix: constants must be truncated correctly in an array
Closes #2840
2023-11-15 00:40:20 +09:00
Hajime Hoshi
3ca6184294 ebiten: add a new FillRule: NonZero
Closes #2782
2023-11-06 12:11:38 +09:00
Hajime Hoshi
358106bdc0 internal/graphicsdriver/playstation5: bug fix: compile failure 2023-11-05 21:45:40 +09:00
Hajime Hoshi
95fcbb1e51 internal/graphicsdriver/playstation5: add a binding
Updates #2799
2023-11-05 21:27:30 +09:00
Hajime Hoshi
3df2ffebd1 internal/ui: refactoring: integrate Run except for mobiles 2023-11-05 00:49:53 +09:00
Hajime Hoshi
563bbda615 internal/ui: bug fix: build failure on mobiles 2023-11-05 00:43:02 +09:00
Hajime Hoshi
2db10b1e9c ebiten: add RunGameOptions.SingleThread and deprecate ebitenginesinglethread build tag
Closes #2830
2023-11-05 00:01:44 +09:00
Hajime Hoshi
4d8bb1a5dd internal/graphicsdriver/playstation5: bug fix: build failure 2023-11-04 19:45:45 +09:00
Hajime Hoshi
4e93efa5ac internal/graphicsdriver: reland: add FillRule and replace boolean values with this
Updates #2782
2023-11-04 19:09:50 +09:00
Hajime Hoshi
f695df5924 Revert "internal/graphicsdriver: add FillRule and replace boolean values with this"
This reverts commit 38cf964a3b.

Reason: build failure on Windows
2023-11-04 19:02:40 +09:00
Hajime Hoshi
38cf964a3b internal/graphicsdriver: add FillRule and replace boolean values with this
Updates #2782
2023-11-04 18:57:31 +09:00
Hajime Hoshi
0cbcf7e493 internal/atlas: refactoring: remove unused arguments 2023-11-04 18:31:22 +09:00
Hajime Hoshi
3fa8e6ac52 internal/graphics: refactoring: move some constants to internal/graphicscommand 2023-11-04 16:33:30 +09:00
Hajime Hoshi
d862a75fb3 internal/graphics: rename constants
Closes #2828
2023-11-04 16:06:35 +09:00
Hajime Hoshi
1f95c98969 internal/graphics: reland: change the definition of MaxVerticesCount
Updates #2612
2023-11-04 16:02:22 +09:00
Hajime Hoshi
3a632be0c7 Revert "internal/graphics: change the definition of MaxVerticesCount"
This reverts commit 3047ad202a.

Reason: Failed to build for 32bit architectures

Updates #2612
2023-11-04 15:10:31 +09:00
Hajime Hoshi
3047ad202a internal/graphics: change the definition of MaxVerticesCount
Updates #2612
2023-11-04 14:38:34 +09:00
Hajime Hoshi
f2544a1bd9 internal/graphicsdriver: use []uint32 instead of []uint16 for indices
Updates #2612
2023-11-04 04:39:17 +09:00
Hajime Hoshi
ba93794a72 internal/atlas: images were not collected by GC 2023-11-04 04:37:40 +09:00
Hajime Hoshi
c01ceeaa6a ebiten: replace (*Image).Dispose with Deallocate
Closes #2808
2023-11-03 17:45:39 +09:00
Hajime Hoshi
8a44ef4f6c internal/atlas: bug fix: (*Image).Deallocate (*Shader).Deallocate were not concurrent-safe
Updates #2162
2023-11-03 17:12:04 +09:00
Hajime Hoshi
bdd8916bb1 ebiten: replace (*ebiten.Shader).Dispose with Deallocate
Updates #2808
2023-11-03 16:25:18 +09:00
Hajime Hoshi
97d1e073e2 internal/atlas: refactoring 2023-11-03 14:52:19 +09:00
Hajime Hoshi
258f0fd941 internal/atlas: remvoe 'disposed' state
Updates #2808
2023-11-03 14:35:57 +09:00
Hajime Hoshi
d72c4ec90b internal/atlas: refactoring 2023-11-03 14:19:59 +09:00
Hajime Hoshi
4a00891960 internal/glfw: refactoring 2023-10-31 22:43:40 +09:00