Commit Graph

4184 Commits

Author SHA1 Message Date
Hajime Hoshi
7c0fbce0cf internal/atlas: use texture atlases for rendering destinations
Before this change, texture atlases are created only for rendreing
sources.

This change enables to use texture atlases even for rendering
destinations, so that the number of textures will be drastically
reduced.

Closes #2581
2023-03-01 02:47:01 +09:00
Hajime Hoshi
8f3974eeba internal/restorable: add TestDrawTrianglesAndExtend 2023-02-28 09:06:41 -08:00
Hajime Hoshi
42aa5fa604 internal/restorable: bug fix: an extended image has a wrong state (especially with OpenGL ES) 2023-02-28 08:48:25 -08:00
Hajime Hoshi
a5a5de2f3f internal/graphicsdriver/directx: reduce memory usages for writing pixels
Updates #2294
Updates #2582
2023-03-01 00:11:34 +09:00
Hajime Hoshi
264f0bad42 internal/graphicsdriver/directx: reduce memory usages when reading pixels
Updates #2294
Updates #2582
2023-02-28 22:55:21 +09:00
Hajime Hoshi
707a44e367 internal/packing: fix the comment 2023-02-28 21:45:58 +09:00
Hajime Hoshi
6b957063d4 internal/packing: bug fix: node's links were not synced correctly
Closes #2584
2023-02-28 20:31:39 +09:00
Hajime Hoshi
5e4652c4f8 internal/atlas: bug fix: wrong size setting 2023-02-28 13:19:27 +09:00
Hajime Hoshi
62e08e7356 internal/restorable: fix comments 2023-02-26 12:26:22 +09:00
Hajime Hoshi
c48d0fbb7a internal/buffer: refactoring 2023-02-26 02:20:07 +09:00
Hajime Hoshi
110ba5403d internal/buffered: remove redundant pixel data if possible 2023-02-26 01:55:43 +09:00
Hajime Hoshi
df944fdf90 internal/restorble: clear pixels when possible to save memory 2023-02-26 00:12:34 +09:00
Hajime Hoshi
f04d9d6925 internal/restoring: avoid using staleRegions when alwaysReadPixelsFromGPU is true
Updates #2582
2023-02-25 23:26:28 +09:00
Hajime Hoshi
965fd4cac8 internal/restoring: bug fix: stop keeping pixel data on 32bit architecture
Updates #4259
2023-02-25 23:11:42 +09:00
Hajime Hoshi
a0a80bbc1f internal/restorable: do not reset basePixels at makeStale
This information is still available even after context-lost happens,
so this doesn't have to be reset.
2023-02-25 21:13:35 +09:00
Hajime Hoshi
ff1621885d internal/processtest: use a semaphore for sub-tests
Updates #2571
2023-02-25 16:19:15 +09:00
Hajime Hoshi
aca42e4046 internal/restorable: use sparate regions instead of a big unified region 2023-02-25 15:40:48 +09:00
Hajime Hoshi
09e0320309 internal/restorable: minimize a region for restoring 2023-02-25 15:10:32 +09:00
Hajime Hoshi
ff926b2e9f internal/restorable: reland (2nd): use a smaller size rectangle for staleRegion 2023-02-24 21:25:47 -08:00
Hajime Hoshi
ec6f425fa0 Revert "internal/restorable: reland: use a smaller size rectangle for staleRegion"
This reverts these commits:

* 0755523776
* e36007a3a3

Reason: TestImageOptionsFill fails with OpenGL ES (https://github.com/hajimehoshi/ebiten/actions/runs/4264894196/jobs/7423561399)
2023-02-25 03:12:26 +09:00
Hajime Hoshi
0755523776 internal/restorable: bug fix: pixel info was unexpectedly lost 2023-02-25 02:43:58 +09:00
Hajime Hoshi
e36007a3a3 internal/restorable: reland: use a smaller size rectangle for staleRegion 2023-02-25 02:09:22 +09:00
Hajime Hoshi
f58d7e1ab5 internal/graphicsdriver/directx: bug fix: getting pixels with non-zero position might not work 2023-02-25 02:08:50 +09:00
Hajime Hoshi
185529f1cb Revert "internal/restorable: use a smaller size rectangle for staleRegion"
This reverts commit e4debfd466.

Reason: test failures on Windows: https://github.com/hajimehoshi/ebiten/actions/runs/4262488629/jobs/7418053241
2023-02-24 21:56:32 +09:00
Hajime Hoshi
e4debfd466 internal/restorable: use a smaller size rectangle for staleRegion 2023-02-24 21:33:39 +09:00
Hajime Hoshi
745a69aeaa internal/restorable: update comments 2023-02-24 18:25:17 +09:00
Hajime Hoshi
d947cf0da0 internal/atlas: refactoring: use moveTo to make an image isolated
This reduces backend allocations by &backend{...}.

Updates #2581
2023-02-23 02:23:03 +09:00
Hajime Hoshi
0720ec2251 internal/packing: allow initialization with a rectangle size
Updates #2327
2023-02-23 00:45:42 +09:00
Hajime Hoshi
b08b740914 internal/buffered: bug fix: functions were not concurrent-safe
Before this change, `delayedCommandsFlushed` was set as 1 BEFORE
buffered commands were flushed. This meant that a function call and
a command being flushed were not concurrent-safe.

This change fixes this issue by changing the timing of setting
`delayedCommandsFlushed` as 1 to the later time after flushing the
buffered commands.

Closes #2580
2023-02-21 20:38:06 +09:00
Hajime Hoshi
ea7d007df9 internal/ui: bug fix: dstRegion should not exceed the image region
Closes #2577
2023-02-21 14:15:39 +09:00
Hajime Hoshi
ad7d5a86f9 internal/shader: bug fix: check the type for composite literal
Closes #2348
2023-02-20 23:07:11 +09:00
Hajime Hoshi
d91b8cae88 internal/ui: reland: refactoring: improve anti-alias logic
* Remove the image extension. The image is always flushed when necessary.
* Use a small offscreen image whichever the blend is.

Updates #2399
2023-02-19 23:49:32 +09:00
Hajime Hoshi
3aa8448511 Revert "internal/ui: refactoring: improve anti-alias logic"
This reverts commit 41f8295611.

Reason: test failures: https://github.com/hajimehoshi/ebiten/actions/runs/4216421788/jobs/7318236488
2023-02-19 22:46:37 +09:00
Hajime Hoshi
41f8295611 internal/ui: refactoring: improve anti-alias logic
* Remove the image extension. The image is always flushed when necessary.
* Use a small offscreen image whichever the blend is.

Closes #2399
2023-02-19 22:14:23 +09:00
Hajime Hoshi
961c34efb5 internal/ui: use a small buffer image for anti-alias
Closes #2399
2023-02-19 17:35:43 +09:00
Hajime Hoshi
8479fee606 internal/ui: refactoring 2023-02-18 18:23:57 +09:00
Hajime Hoshi
0e57fc4c5f internal/processtest: set timeout
Updates #2571
2023-02-18 17:36:31 +09:00
Hajime Hoshi
56597800dd internal/ui: refactoring: add bigOffscreenImage
Updates #2399
2023-02-18 02:32:41 +09:00
Hajime Hoshi
7018d1aebe internal/processtest: fix the timeout logic
Updates #2571
2023-02-15 22:41:18 +09:00
Hajime Hoshi
a65b65110b Revert "internal/processtest: prevent parallel process testing"
This reverts commit 397da70815.

Reason: This did not resolve the issue: https://github.com/hajimehoshi/ebiten/actions/runs/4180959132/jobs/7242421909

Updates #2571
2023-02-15 15:13:57 +09:00
Hajime Hoshi
7315044dcf internal/ui: remove a redundant call to close a window
glfw.Terminate should close the window too. This might fix the issue
so let's wait and see.

Updates #2551
2023-02-15 14:36:28 +09:00
Hajime Hoshi
397da70815 internal/processtest: prevent parallel process testing
Updates #2571
2023-02-14 18:13:27 +09:00
TotallyGamerJet
93537650c0
internal/goglfw: use platform agnostic functions for context_windows.go (#2570)
context_windows.go is used for all the platforms. However, it used syscall.Syscall which behaves differently on macOS
and Windows as well as windows.BytePtrToString which isn't available on Linux or macOS.

This commit replaces syscall.Syscall with purego.SyscallN and windows.BytePtrToString with a copied version called
bytePtrToString.

Updates #2546
2023-02-10 02:35:17 +09:00
TotallyGamerJet
b359985e97
internal/goglfw: separate windows specific struct from common structs (#2567)
Many of the structs found in internal.h (internal_windows.go) contain defines such as GLFW_WIN32_WINDOW_STATE
which gets replaced with a struct defined in win32platform_windows.go (win32_platform.h).

Originally, these structs where directly placed inside of internal_windows.go. However, to make it easier to add macOS
and Linux these cannot be in this file.

This commit separates the windows specific structs into the respective windows file and updates the field to be named
state.

Updates #2546
2023-02-08 03:05:46 +09:00
Hajime Hoshi
8864ce1291 all: update comments 2023-02-07 12:05:43 +09:00
Hajime Hoshi
f4371991fe internal/gamepad: refactoring 2023-02-02 22:33:01 +09:00
Hajime Hoshi
628418d88e internal/gamepaddb: update the database 2023-02-02 22:00:34 +09:00
Pierre Curto
4de807cc44
all: fix typos (#2558)
Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
2023-01-28 19:06:38 +09:00
Hajime Hoshi
f009dd8dd2 ebiten: implement DroppedFiles to replace AppendDroppedFiles
Closes #2552
2023-01-25 14:27:11 +09:00
Hajime Hoshi
aa52402a90 internal/graphicsdriver/metal: fix a comment 2023-01-24 02:22:35 +09:00