Commit Graph

4879 Commits

Author SHA1 Message Date
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