Commit Graph

4907 Commits

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