Commit Graph

961 Commits

Author SHA1 Message Date
Hajime Hoshi
c3ea539cdb internal/cocoa: remove NSInvocation
Closes #2950
2024-10-19 13:32:14 +09:00
TotallyGamerJet
5dee21dc7d
internal/cocoa, internal/graphicsdriver/metal/*: minimize allocations (#3133)
Cache the result of objc.RegisterName at program startup. Use NSInvocation less
to avoid multiple C calls.
2024-10-18 11:44:37 +09:00
Hajime Hoshi
7f87ecaddc internal/graphicscommand: better debug info for blending 2024-10-15 18:26:27 +09:00
Hajime Hoshi
8c84be54b5 internal/graphicsdriver/playstation5: add kBlend* consts 2024-10-14 00:12:27 +09:00
Hajime Hoshi
02e87d027c internal/glfw: reduce TLS usages 2024-10-12 23:11:20 +09:00
Hajime Hoshi
201bb36822 internal/graphicsdriver/opengl: refactoring: separate graphcis_*.go
Updates #2714
2024-10-12 14:56:42 +09:00
Hajime Hoshi
027ef33fe2 all: rename files
This change makes the file name convention consistent. A file for macOS,
not for iOS should have a suffix '_macos.go' rather than '_macos_darwin.go'
and/or '_darwin.go'.
2024-10-12 14:10:42 +09:00
Hajime Hoshi
87e412cd39 internal/graphicsdriver/opengl: refactoring: separate graphcis_*.go for macOS
Updates #2714
2024-10-12 13:58:57 +09:00
LoparPanda
5245537e21
internal/graphicsdriver/opengl/gl: fixes DeleteVertexArrays removing entry from textures instead of vertexArrays value store in webgl driver (#3125)
This is just what appears to be a typo in the WebGL driver that is deleting the mapping between a uint32 ID and a
JavaScript value for vertexArrays from the value store for the textures instead. This seems like it would potentially
cause a crash if the numbers aligned.
2024-10-08 15:42:50 +09:00
Hajime Hoshi
5bcfdee75f internal/graphicsdriver/playstation5: bug fix: need to adjust image size 2024-10-06 16:29:59 +09:00
Hajime Hoshi
1c475eff78 internal/graphicsdriver/playstation5: bug fix: Cgo bans to pass a Go pointer to a Go pointer 2024-09-29 18:22:17 +09:00
Hajime Hoshi
1b6a615adb internal/graphicsdriver/playstation5: add Shader 2024-09-29 17:46:52 +09:00
Hajime Hoshi
a38395a48a internal/graphicsdriver/playstation5: add PixelsArgs 2024-09-29 17:46:26 +09:00
Hajime Hoshi
a499a976f7 internal/graphicsdriver/playstation5: change the name convention 2024-09-23 23:22:22 +09:00
Hajime Hoshi
508922250a internal/graphpicsdriver/playstation5: add consts 2024-09-23 23:06:02 +09:00
Hajime Hoshi
043164e17c internal/graphicsdriver/playstation5: bug fix: call C Begin/End functions 2024-09-23 17:59:28 +09:00
Hajime Hoshi
4d3f357f81 internal/graphicsdriver/playstation5: add Begin and End 2024-09-23 17:30:53 +09:00
Hajime Hoshi
9a511fecb5 internal/jsutil: move to internal/graphicsdriver/opengl/gl 2024-09-14 16:10:49 +09:00
Hajime Hoshi
a36f6210c0 all: use Go 1.20 APIs
Closes #2746
2024-09-12 00:22:45 +09:00
Hajime Hoshi
3eda0dd387 internal/graphicsdriver/playstation5: add extern C 2024-09-01 20:08:52 +09:00
Hajime Hoshi
ca54ce69c4 internal/graphicsdriver/playstation5: bug fix: compile error 2024-09-01 20:00:41 +09:00
Hajime Hoshi
7f1e6cb538 internal/graphicsdriver/playstation5: add ebitengine_SetVertices 2024-09-01 19:47:21 +09:00
Hajime Hoshi
f98003bcd5 ebiten: add ColorSpace and RunGameOptions.ColorSpace
This works only for macOS Metal and WebGL so far.

Closes #2871
2024-08-28 03:03:57 +09:00
Hajime Hoshi
bff760af01 internal/shader: bug fix: test failures
Updates #2640
2024-08-25 17:43:44 +09:00
Hajime Hoshi
fef487e09d internal/shaderir/hlsl: refactoring: more flexible generation
Updates #2640
2024-08-25 17:27:00 +09:00
Hajime Hoshi
ed45843c13 internal/graphicsdriver/opengl: assume custom attributes are vec4
Due to HLSL restrictions, all the attributes must have a semantics.
Always assuming custom attributes are vec4 makes things simpler.

Updates #2640
2024-08-25 17:11:28 +09:00
Hajime Hoshi
7142a3bcd9 internal/graphicsdriver/opengl: bug fix: total must be reset 2024-08-25 15:29:22 +09:00
Hajime Hoshi
3547d999b1 internal/graphicsdriver/opengl/gl: bug fix: crash when log length is 0 2024-08-25 11:45:54 +09:00
Hajime Hoshi
17322c9c3b all: reduce files for PS5 2024-08-17 23:06:01 +09:00
Hajime Hoshi
435c8b75eb internal/graphicsdriver/opengl: automatically adjust the array buffer layout
Updates #2640
2024-08-12 04:08:02 +09:00
Hajime Hoshi
6cd00f3b88 internal/graphicsdriver/opengl: exclude playstation5 2024-08-11 22:41:21 +09:00
Hajime Hoshi
89933bf0ab internal/graphicsdriver/playstation5: bug fix: compile error 2024-08-10 21:52:38 +09:00
Hajime Hoshi
332da38565 internal/graphicsdriver/playstation5: update DrawTriangles
A Go pointer in a C struct could cause some troubles.
2024-08-10 21:21:09 +09:00
Hajime Hoshi
a5235eea86 internal/graphicsdriver/opengl/gl: always prefer OpenGL ES to OpenGL
Closes #2944
2024-08-10 01:21:35 +09:00
Hajime Hoshi
2a34d1d47b internal/graphicsdriver/opengl/gl: use PureGo version for Android again
This is basically a revert for 297efea68b.
This updates PureGo for the Android issue.

Updates #3052
Updates ebitengine/purego#262
2024-08-05 23:34:56 +09:00
Hajime Hoshi
aba652c323 internal/graphicsdriver/playstation5: add DrawTriangles 2024-08-04 19:13:36 +09:00
Hajime Hoshi
9bd17de2d3 internal/graphicsdriver/opengl: remove unused members 2024-08-04 04:26:53 +09:00
Hajime Hoshi
297efea68b internal/graphicsdriver/opengl/gl: use C version for Android
Unfortunately PureGo's dlopen didn't work on some Android devices.
Use the Cgo version instead in the same way as v2.7.

Closes #3052
2024-08-01 11:52:07 +09:00
Hajime Hoshi
3106f98b52 internal/graphicsdriver/opengl/gl: add more error messages to load libraries 2024-07-31 21:35:24 +09:00
Hajime Hoshi
ef5ac4175d all: use bufio.Reader to improve reading speed 2024-07-29 02:28:37 +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
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
Hajime Hoshi
a6d7cadab7 internal/graphicsdriver/playstation5: change struct member names 2024-06-17 03:04:18 +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