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
Hajime Hoshi
4997e7e254
internal/graphicsdriver/opengl: lazy error check of shaders
...
See https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/WebGL_best_practices#dont_check_shader_compile_status_unless_linking_fails
2024-07-04 21:47:52 +09:00
Hajime Hoshi
ed73f028c7
internal/ui: refactoring
2024-07-04 16:58:45 +09:00
Hajime Hoshi
3a18b32cbd
internal/ui: bug fix: the screen size must be initialized first even when the canvas is unfocused
...
Closes #3034
2024-07-04 16:17:19 +09:00
Hajime Hoshi
346aaf071e
internal/graphicscommand: add screen info to log
2024-07-04 02:01:56 +09:00
Hajime Hoshi
94a93f8032
internal/atlas: assume backend.image is never nil
2024-07-04 02:00:42 +09:00
Hajime Hoshi
c29d4b24bb
internal/graphicsdriver/opengl: skip checkFramebufferStatus on browsers
2024-07-03 20:34:44 +09:00
Hajime Hoshi
2a22260d14
internal/atlas: backends for unmanaged images were never released
...
Closes #3030
2024-06-30 23:45:27 +09:00
Hajime Hoshi
3f91d8cdf1
internal/atlas: refactoring
2024-06-30 22:39:25 +09:00
Hajime Hoshi
ec7ef5e6a3
internal/atlas: add comments
2024-06-30 22:22:27 +09:00
Hajime Hoshi
5b8fd9733c
internal/atlas: refactoring
2024-06-30 19:21:42 +09:00
Hajime Hoshi
9ff93e3063
all: fix comments
2024-06-30 18:56:07 +09:00
Hajime Hoshi
def82fd5d3
internal/atlas: refactoring: remove ImageTypeVolatile
...
ImageTypeVolatile was meaningful when Ebitengine had `restorable`
package, but now this doesn't make sense.
2024-06-30 18:50:02 +09:00
Hajime Hoshi
32417353d3
internal/ui: bug fix: the window size callback was not called on macOS
...
This is basically a revert of e150745598
.
As the window size callback was not called, ebiten.WindowSize didn't
work correctly for a while.
Even after this change, the issue #2257 could not be reproduced. This
is mysterious, but probably macOS itself has updated.
Updates #2257
Closes #3029
2024-06-30 15:59:15 +09:00
Hajime Hoshi
a6d7cadab7
internal/graphicsdriver/playstation5: change struct member names
2024-06-17 03:04:18 +09:00
Hajime Hoshi
96e0fd7a50
exp/textinput: bug fix: pressing enter key was often ignored on iOS Safari
...
Closes #3015
2024-06-12 02:44:51 +09:00
Bertrand Jung
22fd1f107e
internal/graphics: renamed shader image count to specify src ( #3012 )
...
This just specifies that the constant refers to the number of source images passed to a shader.
This makes a distinction with the number of dst images, that could potentially be more than 1 in the future.
2024-06-10 02:02:47 +09:00
Hajime Hoshi
b121468991
ebiten: add FillRuleFillAll
, FillRuleEvenOdd
, and FillRuleNonZero
...
This change also deprecates the existing constants.
Closes #3006
2024-06-08 17:58:33 +09:00
Hajime Hoshi
e5d10c47e7
internal/graphicsdriver: reland: rename FillRule constants
...
Updates #3006
2024-06-08 12:16:20 +09:00
Hajime Hoshi
6ac1270cb0
Revert "internal/graphicsdriver: rename FillRule constants"
...
This reverts commit ab4a3af1b5
.
Reason: compile error on Windows
2024-06-08 12:10:27 +09:00
Hajime Hoshi
ab4a3af1b5
internal/graphicsdriver: rename FillRule constants
...
Updates #3006
2024-06-08 11:54:46 +09:00
Hajime Hoshi
78ba0ded93
Revert "internal/glfw: bug fix: limit the DWM swap interval to Vista and 7"
...
This reverts commit 86e0bcc264
.
Reason: This caused some issues like too much GPU usages.
Updates #2961
Closes #3003
2024-06-04 21:06:51 +09:00
XXIV
216a110761
internal/glfw: fix memory leak ( #3008 )
2024-06-04 13:00:20 +09:00
Hajime Hoshi
d0aaa23005
Revert "internal/atlas: reduce slice allocations"
...
This reverts commit 9442b244fc
.
Reason: the slice was not escaped to heap, so this optimization was not needed
2024-05-27 23:47:39 +09:00
Hajime Hoshi
9442b244fc
internal/atlas: reduce slice allocations
2024-05-27 23:32:17 +09:00
Hajime Hoshi
4818768965
shaderprecomp: remove ShaderSourceID
...
`ShaderSourceID` was confusing as there was no guarantee the same ID is
used for the same source if Ebitengine versions are different.
`ShaderSource` should be kept as the built-in shader contents should not
be exposed.
Updates #2861
Closes #2999
2024-05-27 00:01:05 +09:00
Hajime Hoshi
83ae577c80
Revert "shaderprecomp: remove ShaderSource
and ShaderSourceID
"
...
This reverts commit 8be3bb41d5
.
Reason: removing `ShaderSource` unexpected exposes the source.
Updates #2999
2024-05-26 22:45:12 +09:00
Hajime Hoshi
8be3bb41d5
shaderprecomp: remove ShaderSource
and ShaderSourceID
...
This change simplifies the APIs to avoid some confusions around IDs.
Updates #2861
Closes #2999
2024-05-26 22:42:52 +09:00
Hajime Hoshi
3279688dd6
Revert "shaderprecomp: accept an ID instead of source to register"
...
This reverts commit ecc3f29af1
.
Reason: we are considering to remove ShaderSourceID
Updates #2861
Updates #2999
2024-05-26 21:29:44 +09:00
Hajime Hoshi
ecc3f29af1
shaderprecomp: accept an ID instead of source to register
...
Updates #2861
2024-05-26 19:39:30 +09:00
Hajime Hoshi
38d2892906
internal/glfw: bug fix: the cursor position was reset unexpectedly
...
There was a mistake when updating GLFW to v3.3.9 at 4647e9de53
.
When the cursor mode is set to be enabled, the cursor position was
unexpectedly reset. This change fixes the issue.
Closes #2997
2024-05-26 15:11:50 +09:00
Hajime Hoshi
b0a4b6ebbf
internal/graphicsdriver/playstation5: update the copyright year
2024-05-19 23:01:47 +09:00
Hajime Hoshi
657e04d3d1
internal/graphicsdriver/playstation5: separate the shader part
2024-05-19 18:05:16 +09:00
Hajime Hoshi
5bb060b1e9
shaderprecomp: add pssl
2024-05-12 15:07:38 +09:00
Hajime Hoshi
a108dac797
internal/shaderir: add 'pssl' package
2024-05-11 18:58:59 +09:00
Hajime Hoshi
b3ad97b22b
internal/graphicsdriver/metal/mtl: add comments
2024-05-06 22:07:16 +09:00
Hajime Hoshi
f0ca3f1870
internal/graphicsdriver/metal/mtl: follow ObjC convention
...
Closes #2981
2024-05-06 21:51:57 +09:00
Hajime Hoshi
2261cf76de
internal/graphicsdriver/metal/ca: follow ObjC convention
...
Updates #2981
2024-05-06 19:36:17 +09:00
Hajime Hoshi
10d9660125
shaderprecomp: implement for Windows
...
Closes #2861
2024-05-06 16:03:57 +09:00
Hajime Hoshi
5d4a68b0ea
internal/shaderir/hlsl: refactoring: separate calculation uniform offsets
2024-05-05 20:47:35 +09:00
Hajime Hoshi
a41af4528b
internal/graphicsdriver/directx: refactoring
2024-05-05 18:58:13 +09:00
Hajime Hoshi
caab1ee29f
internal/graphicsdriver/metal: refactoring
2024-05-05 17:18:06 +09:00
Hajime Hoshi
c46f62e184
all: add a new package shaderprecomp
...
The current implementation is only for macOS so far.
Updates #2861
2024-05-05 03:51:04 +09:00
Hajime Hoshi
d7df5ebcbd
internal/builtinshader: move a clearing shader to builtinshader
2024-05-05 02:18:14 +09:00
Hajime Hoshi
ca9a80600d
internal/graphicsdriver/metal: release MTLLibrary
2024-05-04 19:26:12 +09:00
Hajime Hoshi
c3b9afe8c4
internal/ui: bug fix: compile error for browsers
2024-05-04 00:30:43 +09:00
Hajime Hoshi
1ebfa8b911
internal/ui: refactoring: remove unused code
2024-05-04 00:26:40 +09:00
Hajime Hoshi
c658a25171
all: replace execabs with os/exec
...
os/exec no longer searches executablse in the current directory as of
Go 1.19. See https://go.dev/blog/path-security and https://go.dev/issue/43724 .
2024-05-03 23:39:38 +09:00
Hajime Hoshi
903ab6727b
internal/ui: better panic message at ReadPixels before RunGame
...
Closes #2979
2024-05-03 16:36:19 +09:00
Hajime Hoshi
35e29a29e7
internal/ui: bug fix: wrong property names were specified
...
Closes #2975
2024-04-30 23:32:54 +09:00
Hajime Hoshi
0af5b41d48
internal/atlas: refactoring
2024-04-29 23:34:37 +09:00
Hajime Hoshi
bb799da51f
internal/ui: use atomic.Int32 instead of atomic.Store/LoadInt32
...
Updates #2422
2024-04-29 21:53:43 +09:00
Hajime Hoshi
59fb259181
internal/graphicsdriver/gl: use PureGo for Linux and UNIX
...
Updates #2284
2024-04-29 21:25:15 +09:00
Hajime Hoshi
f34932151d
all: use atomic.Bool instead of atomic.Store/LoadUint32
...
Updates #2422
2024-04-29 21:16:01 +09:00
Hajime Hoshi
c390f0a9fa
internal/shader: bug fix: treat a built-in function as an invalid argument
...
Closes #2965
2024-04-29 16:44:33 +09:00
Hajime Hoshi
bc9e9d8562
ebiten: move the builtin shader to internal/builtinshader
...
Updates #2861
2024-04-20 21:23:37 +09:00
Hajime Hoshi
21a906bc82
internal/gamepaddb: refactoring: GLFW gamepads are requried only for Windows
...
Updates #2964
2024-04-18 14:25:47 +09:00
Hajime Hoshi
c7eb7371f4
internal/gamepad: refactoring
2024-04-18 13:39:29 +09:00
Hajime Hoshi
c74e7fa943
internal/gamepaddb: bug fix: platform was not initialized correctly
...
After 6552ae1dbe
, the order of the init
function calls changed, and then the platform was not initialized
correctly.
This change fixes this issue by not relying on an init function to
get the platform.
Closes #2964
2024-04-18 13:28:53 +09:00
Hajime Hoshi
9cd7b34a77
internal/glfw: reorder constants
2024-04-14 17:30:21 +09:00
Hajime Hoshi
6df42f1a4b
internal/glfw: bug fix: disabling cursor doesn't work well on remote desktop
...
This change applies the bug fix at glfw/glfw#1276
Updates #2961
2024-04-14 16:43:39 +09:00
Hajime Hoshi
86e0bcc264
internal/glfw: bug fix: limit the DWM swap interval to Vista and 7
...
This change applies the bug fix at glfw/glfw#1072.
Updates #2961
2024-04-14 15:35:00 +09:00
Hajime Hoshi
d5f15f9354
internal/glfw: bug fix: posting an empty event from different goroutine fails
...
This change applies the bug fix at glfw/glfw#1649
After this change, an Ebitengine application always shows the menu
bar, but this should be fine for Ebitengine applications.
2024-04-14 14:44:42 +09:00
Hajime Hoshi
6ff9e2b44c
internal/glfw: bug fix: too early event emitting
...
This change applies the bug fix at glfw/glfw#2046 .
2024-04-14 14:30:06 +09:00
Hajime Hoshi
4dfb3d2fc1
internal/glfw, internal/gamepad: update GLFW to v3.3.10
...
Closes #2960
2024-04-14 14:11:45 +09:00
Hajime Hoshi
4647e9de53
internal/glfw, internal/gamepad: update GLFW to v3.3.9
...
Updates #2960
2024-04-14 01:14:22 +09:00
Hajime Hoshi
4a964da0aa
internal/shaderir: fix type mismatches
2024-04-12 23:42:06 +09:00
Hajime Hoshi
3cf3b27729
internal/graphicsdriver/opengl: refactoring: rename variables
...
A framebuffer's width and height are unclear. Rename them to
viewportWidth and viewportHeight.
2024-04-10 23:38:25 +09:00
lvyaoting
f6927232f2
all: fix function names in comment ( #2957 )
...
Signed-off-by: lvyaoting <lvyaoting@outlook.com>
2024-04-08 14:27:27 +09:00
Hajime Hoshi
9c070eb2f3
Revert "internal/graphicsdriver/gl: use PureGo for Linux and UNIX"
...
This reverts commit 5701206229
.
Reason: error on Android:
```
/Users/runner/go/pkg/mod/github.com/ebitengine/purego@v0.8.0-alpha.0.20240404024320-d0aedd0f4393/func.go:301:4: too few values in struct literal of type syscall15Args
```
https://github.com/hajimehoshi/ebiten/actions/runs/8582651053/job/23521003819
2024-04-07 03:00:13 +09:00
Hajime Hoshi
9dc103491a
internal/ui: bug fix: a window was shown unexpectedly at start-up
...
Closes #2951
2024-04-07 02:55:48 +09:00
Hajime Hoshi
5701206229
internal/graphicsdriver/gl: use PureGo for Linux and UNIX
...
Updates #2284
2024-04-07 02:08:40 +09:00
Hajime Hoshi
d6f7b50387
internal/ui: bug fix: setting a size failed for an invisible window
...
Updates #2725
Closes #2951
2024-04-06 22:26:01 +09:00
Hajime Hoshi
caecd81f4e
Revert "internal/graphicsdriver/directx: add 'tearing' for EBITENGINE_DIRECTX"
...
This reverts commit b6252a41f2
.
Reason: We need more investigation about tearing and vsync=off
Updates #2858
2024-03-30 20:08:06 +09:00
Hajime Hoshi
24238e16af
internal/gamepaddb: refactoring
...
Updates #2936
2024-03-29 13:25:30 +09:00
Kenny
941c97eba2
internal/gamepaddb: generate respective controller dbs for each platform ( #2943 )
...
Replace singular embedded controller database file with separate generated
files for each supported platform. The controller database file is some
~500KB, so this change should reduce the overall binary size per
platform.
Closes #2936
2024-03-29 13:17:16 +09:00
Hajime Hoshi
fd2c79398e
Revert "internal/atlas: refactoring: ensure ReadPixels to be processed in a frame"
...
This reverts commit 55702a7c28
.
Reason: This didn't work with the single-thread mode.
Updates #1704
Closes #2939
2024-03-26 13:10:00 +09:00
Hajime Hoshi
459ad709a6
internal/gamepaddb: omit the database for consoles
...
Updates #2936
2024-03-25 03:08:19 +09:00
Hajime Hoshi
04c4676b7c
internal/png: update with Go 1.22
2024-03-24 20:36:31 +09:00
Hajime Hoshi
6552ae1dbe
internal/gamepaddb: do not include the database for browsers
...
This reduces Wasm binary size by 525kb.
2024-03-24 20:16:11 +09:00
Hajime Hoshi
dc8baf96f9
internal/gamepaddb: update the database
2024-03-24 19:18:49 +09:00
Hajime Hoshi
d04d6271d0
internal/ui: bug fix: reset some input states on blur events on browsers
...
Closes #2874
2024-03-24 16:03:17 +09:00
Hajime Hoshi
f4029aaa77
ebiten: add (*Monitor).Size() to replace ScreenSizeInFullscreen()
...
Also, this change fixes redundant checks the case when a monitor
does not exist. Now Ebitengine checks a monitor existence at the
initialization.
Closes #2145
Closes #2795
2024-03-23 23:32:43 +09:00
Hajime Hoshi
b6252a41f2
internal/graphicsdriver/directx: add 'tearing' for EBITENGINE_DIRECTX
...
Now tearing happens only when 'tearing' is specified and vsync is off.
Closes #2858
2024-03-23 17:53:13 +09:00
Hajime Hoshi
ea6fce45ff
internal/shader: bug fix: crash on assignment mismatches
2024-03-23 15:30:49 +09:00
Hajime Hoshi
66667fe877
internal/shader: bug fix: test failures
...
Updates #2934
2024-03-23 15:15:33 +09:00
Hajime Hoshi
7842942b24
internal/shader: bug fix: need to covert constant type correctly for assignments
...
Closes #2934
2024-03-23 15:08:34 +09:00
Hajime Hoshi
e7bb66bb2f
internal/shader: bug fix: ++/-- statements didn't work for vec2 on browsers
...
Closes #2933
2024-03-22 23:15:33 +09:00
Mykhailo Lohachov
1586c6764a
internal/shaderir: Kage update support for shift operators ( #2916 )
...
Closes #2755
2024-03-22 18:14:03 +09:00
Hajime Hoshi
b7dd45c0e4
internal/gamepad: ignore the very first MotionEvent with 0 value for Android
...
On Android, MotionEvent with 0 values might come for axes when connecting
a gamepad, even though a user didn't touch any axes. This is problematic
especially for tirgger axes, where the default value should be -1.
This change fixes the issue by adding a new state `axesReady` to check
if an axis is really touched or not. If an axis is not touched yet,
a button value for a standard (trigger) button always returns 0.
This change also removes an old hack to initialize axis values for
triggers.
Closes #2598
2024-03-21 22:28:48 +09:00
Hajime Hoshi
9faa3f4601
internal/gamepaddb: refactoring
2024-03-16 17:57:52 +09:00
Hajime Hoshi
696938987d
internal/gamepad: use locks for consistency
...
Perhaps Gamepad's m might not be needed, but let's use the lock for
consistency for the current situation.
2024-03-16 16:31:49 +09:00
Hajime Hoshi
209dc50f72
internal/gamepaddb: refactoring
2024-03-16 15:37:42 +09:00
Hajime Hoshi
047858aa59
internal/gamepaddb: rename functions
2024-03-16 15:16:29 +09:00
Hajime Hoshi
bb6430d3ba
internal/shader: bug fix: unexpected crash for out of range
...
Closes #2926
2024-03-13 11:37:00 +09:00
Hajime Hoshi
7389f9ddb2
ebiten: add KeyIntlBackslash
...
Updates #2921
2024-03-12 12:49:02 +09:00
Hajime Hoshi
63e97c7064
internal/shader: bug fix: needed to resolve const and non-const types
...
Closes #2922
2024-03-10 19:49:19 +09:00
Hajime Hoshi
c9a973c6c1
internal/ui: bug fix: needed to focus the window at launch
...
Updates #2725
Closes #2924
2024-03-10 12:44:28 +09:00
Hajime Hoshi
9a7dcb1077
internal/shader: bug fix: failed to return an array in HLSL
...
Closes #2923
2024-03-10 11:59:50 +09:00
Hajime Hoshi
927e025982
internal/shader: bug fix: wrong type conversion for min, max, and clamp
...
Closes #2922
2024-03-10 11:30:06 +09:00
Hajime Hoshi
c0d9954b3e
exp/textinput: use native pixels for a candidate window position
2024-03-03 23:35:34 +09:00
Hajime Hoshi
3e4c47eb70
internal/ui: refactoring
2024-03-03 23:27:02 +09:00
Hajime Hoshi
cc3db584f2
internal/shader: allow integer types for clamp
...
Closes #2788
2024-02-25 21:21:27 +09:00
Hajime Hoshi
4b9508c523
internal/shader: bug fix: wrong type checks on min/max
...
Updates #2788
2024-02-25 21:17:54 +09:00
Hajime Hoshi
e8cdf885c0
internal/shader: allow integer types for min and max
...
Updates #2788
2024-02-25 20:18:19 +09:00
Hajime Hoshi
face5fd870
internal/shader: allow integer types for abs and sign
...
Updates #2788
2024-02-25 18:16:44 +09:00
Mykhailo Lohachov
012fe52b6f
internal/atlas: use bit manipulation for function power of 2 -like functions ( #2915 )
...
Closes #2914
2024-02-25 02:06:52 +09:00
Hajime Hoshi
64cb6cf8a9
internal/atlas: reduce test flakiness
2024-02-24 23:03:12 +09:00
Hajime Hoshi
732eedf2e0
all: use github.com/ebitengine/gomobile instead of golang.org/x/mobile
...
Closes #2748
Closes #2899
2024-02-24 22:07:27 +09:00
Hajime Hoshi
40f3cbe1e3
internal/ui: bug fix: DeviceScaleFactor should be initialized asap on Android
...
Closes #2913
2024-02-24 19:48:20 +09:00
Hajime Hoshi
df68cbfc5b
internal/gamepaddb: update the database
2024-02-21 20:36:46 +09:00
TotallyGamerJet
e6a17e58c9
internal/glfw: rewrite cocoa_time_darwin.c and posix_thread_unix.c into Go-ish ( #2912 )
...
Updates #1162
2024-02-20 22:37:13 +09:00
Hajime Hoshi
24256af624
internal/atlas: bug fix: test flakiness due to GC
2024-02-15 03:00:49 +09:00
Hajime Hoshi
820c996329
internal/shader: bug fix: wrong lhs in an assignment
...
Closes #2910
2024-02-15 02:29:21 +09:00
Hajime Hoshi
6d898d752e
ebiten: add (*Monitor).DeviceScaleFactor()
...
This replaces ebiten.DeviceScaleFactor().
Updates #2795
2024-02-12 17:09:03 +09:00
Hajime Hoshi
67d947d37a
internal/ui: remove Bounds
2024-02-12 15:24:00 +09:00
Hajime Hoshi
fca8ebb9af
internal/shader: bug fix: non-name on the left side of :=
...
Closes #2891
2024-02-11 21:21:16 +09:00
Hajime Hoshi
75103f39dd
internal/shader: bug fix: error on a function name in a function call
...
Updates #2891
2024-02-11 21:09:49 +09:00
Hajime Hoshi
60725eba86
ebiten: add RunGameOptions.X11ClassName and X11InstanceName
...
Closes #2904
2024-02-11 19:31:29 +09:00
Hajime Hoshi
0adc1ad681
internal/ui: make virtual keyboard keys work at least on Android
...
Updates #2898
2024-02-03 21:11:54 +09:00
Hajime Hoshi
7dd22fdc61
internal/ui: refactoring: rename uiKeyToJSKey to uiKeyToJSCode
2024-02-03 15:13:12 +09:00
Hajime Hoshi
872ffc148d
internal/atlas: add TestGCShader
...
Updates #2897
2024-01-29 23:14:33 +09:00
Hajime Hoshi
f74d66e89a
internal/atlas: bug fix: fix GC tests
...
Updates #2897
2024-01-29 21:01:58 +09:00
Hajime Hoshi
d2a9e5b1e8
internal/atlas: bug fix: fix tests
...
Updates #2897
2024-01-29 20:52:43 +09:00
Hajime Hoshi
f37ebe549b
internal/atlas: bug fix: fix tests
...
Updates #2897
2024-01-29 20:52:02 +09:00
Hajime Hoshi
9a8dde6503
internal/atlas: bug fix: a finalizer was never called
...
As the finalizer function had a reference to the target image, the
image's reference count never became 0. Then, the image was never
finalized.
This change fixes this issue by using a member function pointer instead
of an anonymous function.
Closes #2897
2024-01-29 20:39:44 +09:00
Hajime Hoshi
6736bb56ec
internal/ui: make a separate package to hide a console
...
Updates #2896
2024-01-28 22:42:58 +09:00
Hajime Hoshi
373e61d054
internal/ui: call hideConsole at init
2024-01-28 22:05:47 +09:00
Hajime Hoshi
11394d246f
internal/ui: bug fix: check the error of TimeBeginPeriod
2024-01-28 14:25:17 +09:00
Hajime Hoshi
7e4cdf5211
internal/ui: use a more precise timer for Windows
...
When SetScreenClearedEveryFalse(false) and SetVsyncEnabled(false),
Draw might not be called as often as expected on Windows due to its
timer precision. This change improves the situation.
Updates #2889
2024-01-28 14:15:20 +09:00
Hajime Hoshi
770fcff4c2
internal/graphicsdriver/directx: bug fix: Go 1.22 + 32bit Windows + DirectX 12 didn't work well
...
Apparently, a pseudo padding was needed for D3D12_RESOURCE_DESC,
but this is still mysterious.
This change also add Go 1.22 to the GitHub Actions.
Closes #2867
2024-01-27 18:06:53 +09:00
Pedro Tiple
6fafe734da
internal/graphicscommand: refactoring: remove a hard-coded part for ShaderImageCount ( #2895 )
...
This change allows increasing ShaderImageCount without breaking the image display.
Simply made the uniform processing dynamic based on ShaderImageCount.
2024-01-26 13:03:04 +09:00
Hajime Hoshi
8551cd350f
internal/ui: bug fix: need to sleep when swapping buffers is skipped
...
Closes #2890
2024-01-24 12:20:30 +09:00
Hajime Hoshi
006f14ac19
internal/graphicsdriver/playstation5: bug fix: link error
2024-01-22 00:14:00 +09:00
Hajime Hoshi
52e0f10ff7
internal/graphicsdriver/playstation5: bug fix: compile error
2024-01-22 00:05:02 +09:00
Hajime Hoshi
f0509096f8
internal/graphicsdriver/playstation5: add ebitengine_IsErrorNil
2024-01-21 23:54:02 +09:00
Hajime Hoshi
e0ccd013ac
internal/graphicsdriver/directx: bug fix: depth should be passed by math.Float32bits
...
As depth was always 0, there was not an actual problem.
2024-01-21 21:43:09 +09:00
Hajime Hoshi
5887142da7
internal/grpahicsdriver/metal/mtl: use 3 drawings for fullscreen
...
Hajime found that renderings were delayed with 2 drawing in fullscreen
though FPS might be lowered. This is mysterious but there is no other
good solution.
Updates #2883
2024-01-19 18:29:47 +09:00
Hajime Hoshi
f27402ee44
internal/mipmap: use a better image size
...
Unnecessarily big images were used since 4 years go
(f8956941b7
). Use a better small image
for mipmaps.
2024-01-18 16:10:15 +09:00
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