Commit Graph

512 Commits

Author SHA1 Message Date
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
Bertrand Jung
46d171c3c5
all: open up for more destinations images (#3013)
Updates #2930
2024-07-09 02:05:55 +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
c29d4b24bb internal/graphicsdriver/opengl: skip checkFramebufferStatus on browsers 2024-07-03 20:34:44 +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
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
59fb259181 internal/graphicsdriver/gl: use PureGo for Linux and UNIX
Updates #2284
2024-04-29 21:25:15 +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
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
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
5701206229 internal/graphicsdriver/gl: use PureGo for Linux and UNIX
Updates #2284
2024-04-07 02:08:40 +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
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
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
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
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
Hajime Hoshi
3ca6184294 ebiten: add a new FillRule: NonZero
Closes #2782
2023-11-06 12:11:38 +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
f2544a1bd9 internal/graphicsdriver: use []uint32 instead of []uint16 for indices
Updates #2612
2023-11-04 04:39:17 +09:00
Hajime Hoshi
630789757f all: add files for PlayStation 5
The implementation is WIP.

Updates #2799
2023-10-16 00:54:08 +09:00
Hajime Hoshi
8274b32301 internal/graphicslibrary: refactoring: remove IsGL and IsDirectX 2023-10-15 17:30:16 +09:00
Hajime Hoshi
567e2fa04c ebiten: add BlendOperationMin and BlendOperationMax
Closes #2395
2023-10-13 01:56:33 +09:00
Hajime Hoshi
e7ad5c52fe internal/glfw: merge internal/goglfw into internal/glfw
This also changes APIs in internal/glfw to return errors.

Updates #2703
2023-10-05 03:09:51 +09:00
Hajime Hoshi
0e722669ef internal/glfw: add const definitions
This is one of the steps to merge internal/glfw and internal/goglfw.

Updates #2703
2023-10-04 03:04:47 +09:00
Hajime Hoshi
b2a6e79a5a internal/graphicsdriver/opengl/gl: rename procaddr_others.go to procaddr_linbsd.go 2023-10-02 01:02:51 +09:00
Hajime Hoshi
386bda3c84 internal/graphicsdriver/opengl/gl: add do-not-edit comment 2023-10-02 00:21:53 +09:00
Hajime Hoshi
4ca3fa5e57
internal/graphicsdriver: replace Region with image.Rectangle (#2791)
Closes #2790
2023-09-28 14:29:55 +09:00
Hajime Hoshi
dec08b9e4e all: bug fix: relative paths for dlopen didn't work on macOS Sonoma
Closes #2732
2023-08-26 14:52:52 +09:00
Hajime Hoshi
e270dea460 internal/graphicsdriver: use []PixelsArgs for ReadPixels
Closes #2592
2023-08-17 03:06:48 +09:00
Hajime Hoshi
842c3cbfcd internal/graphicscommand: use a slice to values instead of pointers
This should reduce heap allocations.
2023-08-16 23:23:30 +09:00
Hajime Hoshi
377b0b8502 internal/graphicscommand: rename WritePixelsArgs -> PixelsArgs
Updates #2592
2023-08-16 22:34:56 +09:00
Hajime Hoshi
d410d740a3 internal/graphicsdriver/opengl/gl: change the license of default_cgo* to Apache-2.0
Updates #2695
2023-08-01 23:45:43 +09:00
Hajime Hoshi
f8d8d7a231 examples/life, internal/graphicsdriver/opengl/gl: format copyright texts 2023-07-08 02:50:54 +09:00
Hajime Hoshi
e98acd3dc7 internal/graphicsdriver: refactoring: use image.Rectangle 2023-04-29 01:12:05 +09:00
Hajime Hoshi
00e45affe9 all: update OpenGL version from 2.1 to 3.2
'texelFetch' requires OpenGLSL 1.30, which requires OpenGL 3.0+.
macOS might not support OpenGL 3.0 and 3.1, so adopt 3.2.

Updates #1431
2023-04-23 14:25:36 +09:00