Hajime Hoshi
915fff96f8
all: reduce reflect usages
2022-11-09 13:24:31 +09:00
Hajime Hoshi
0d6b42fedd
internal/ui: refactoring: keep screen/offscreen sizes as float64
...
Updates #2285
2022-11-09 01:18:41 +09:00
TotallyGamerJet
8c5f525ac2
internal/ui: use RegisterClass API ( #2442 )
...
Updates #1162
This change uses purego's new RegisterClass API to clean up the
EbitengineWindowDelegate ObjC class. Doing so makes the code
easier to read and more efficient since it directly get the origResizable
and origDelegate fields.
2022-11-07 14:31:39 +09:00
Hajime Hoshi
262ff351f4
internal/graphicsdriver/directx: bug fix: ScheduleFrameEventX might not return S_OK on Xbox One
2022-11-05 15:09:38 +09:00
Hajime Hoshi
58f95dd1e0
internal/ui: clean-up
2022-11-05 14:20:48 +09:00
Hajime Hoshi
cff99106b6
internal/ui: bug fix: fullscreening didn't work correctly on macOS 13
...
As of macOS 13, a retrieved collectionBehavior included
NSWindowCollectionBehaviorFullScreenNone and this prevented the window
from being fullscreen.
This change fixes this issue by removing the flag
NSWindowCollectionBehaviorFullScreenNone when necessary.
Closes #2437
2022-11-05 14:07:02 +09:00
Hajime Hoshi
a6e121613f
internal/graphicsdriver/directx: bug fix: wrong SDK version for Xbox One
2022-11-05 02:31:28 +09:00
Hajime Hoshi
50021ef3e4
internal/graphicscommand: use buffers for []float32 to reduce allocations
2022-11-04 21:55:44 +09:00
Hajime Hoshi
d73e8f785d
internal/graphicsdriver: render various destination regions as one command
...
Closes #2232
2022-11-04 20:49:44 +09:00
Hajime Hoshi
1ce29e2afa
internal/graphicsdriver/directx: reduce rendering paths for even-odd rendering
2022-11-04 18:18:08 +09:00
Hajime Hoshi
0afb6fd22a
internal/graphicsdriver/metal: reduce rendering paths for even-odd rendering
2022-11-04 16:17:51 +09:00
Hajime Hoshi
1839dd0b9b
internal/graphicscommand: bug fix: test failures on Linux
2022-11-04 03:55:05 +09:00
Hajime Hoshi
005e87a917
internal/ui: prepare extra capacities for uniform variables
2022-11-04 03:18:49 +09:00
Hajime Hoshi
80e3baae9f
internal/graphicscommand: reduce allocations of float32 slices
2022-11-04 02:34:44 +09:00
Hajime Hoshi
c4e4e55d75
internal/shaderir: cache reachable uniform variables
...
Updates #2232
2022-11-04 01:28:24 +09:00
Hajime Hoshi
384dee7160
internal/graphicscommand: remove unused uniform variables
...
This improves possibility of merging graphics commands by reducing
uniform variables.
Updates #2232
2022-11-03 22:45:17 +09:00
Hajime Hoshi
0762db3b3e
internal/shaderir: refactoring
2022-11-03 18:16:54 +09:00
Hajime Hoshi
7dbb078a9e
internal/shaderir: refactoring
2022-11-03 17:44:11 +09:00
Hajime Hoshi
e2c25dbc6d
internal/shaderir: rename functions
2022-11-03 17:14:49 +09:00
Artem Yadelskyi
10415d417a
all: replace interface{}
with any
( #2430 )
...
Closes #2429
2022-11-03 15:33:09 +09:00
Artem Yadelskyi
5b53cef59e
all: remove old // +build
comments ( #2431 )
...
Closes #2325
2022-11-03 12:55:14 +09:00
Hajime Hoshi
8aacf067dd
all: use x/sys/execabs instead of os/exec
...
Closes #2418
2022-11-01 23:36:57 +09:00
Hajime Hoshi
1b3696a7ff
internal/graphicsdriver/opengl: fix comments
2022-10-31 12:59:27 +09:00
Hajime Hoshi
a5993f09a2
internal/graphicscommand: refactoring: add preserved uniform variables at the graphicscommand package
...
This is a preparation to skip setting unnecessary uniform variables
like dstRegion.
Updates #2232
2022-10-30 22:30:52 +09:00
Hajime Hoshi
690e73c11b
all: replace reflect.SliceHeader with unsafe.Slice
...
Closes #2420
2022-10-30 12:25:30 +09:00
Hajime Hoshi
ac61126473
internal/graphicscommand: always flush buffers
...
After #2423 is fixed, buffers should be able to be flushed safely
anytime.
Updates #2391
Updates #2423
2022-10-30 10:51:41 +09:00
Hajime Hoshi
b096ba700a
internal/graphicscommand: bug fix: clear buffers when disposing an image
...
Closes #2423
2022-10-30 03:38:53 +09:00
Hajime Hoshi
5eceabd172
Revert "internal/graphicscommand: bug fix: flush image buffers"
...
This reverts commit d6910eb9ab
.
Reason: The wasm flakiness occured again
Updates #2391
Updates #2423
2022-10-30 02:32:28 +09:00
Hajime Hoshi
d6910eb9ab
internal/graphicscommand: bug fix: flush image buffers
...
This is basically a revert for 4d5b608d0c
.
This caused a crash on Windows.
Even after this fix, the browser tests seem no longer flaky, but
I am not 100% sure.
Updates #2391
Closes #2423
2022-10-30 02:21:56 +09:00
Hajime Hoshi
ee595659e7
Revert "internal/gamepad: remove dependency on golang.org/x/sys/unix"
...
This reverts commit 046f7e52a3
.
Reason: As we drop Go 1.16, we no longer have to remove this dependency.
Updates #2421
2022-10-29 23:23:13 +09:00
Hajime Hoshi
046f7e52a3
internal/gamepad: remove dependency on golang.org/x/sys/unix
2022-10-29 21:42:08 +09:00
Hajime Hoshi
ac08ebe080
internal/ui: set SwapInterval(0) when resizing the window
...
This mitigates flickering at least on macOS with OpenGL.
Updates #2144
2022-10-29 17:49:32 +09:00
Hajime Hoshi
066029539e
internal/ui: clean-up code
...
A callback is preferred to a dirty flag.
Updates #2341
2022-10-28 19:07:37 +09:00
Hajime Hoshi
b019a3723a
internal/ui: optimize GPU usages when the screen doesn't have to be updated
...
This change skips rendering when 1) the screen is not cleared every frame
(`SetScreenClearedEveryFrame(false)`) and 2) Draw doesn't draw anything
onto the screen. The GPU usages decreased on some machines (e.g. GPU usage
was 10% with an empty Ebitengine project and became 2-3 % on a Windows
machine).
Updates #2341
2022-10-28 18:51:06 +09:00
Hajime Hoshi
2cf651bed8
internal/graphicsdriver/directx: resize the swap buffer chain at the end of a frame
...
Updates #2144
2022-10-25 00:35:09 +09:00
Nathan Levett
f220eb729c
internal/graphicsdriver/opengl: move OpenGL constants to seperate package ( #2408 )
...
Closes #2389
2022-10-24 23:22:14 +09:00
Hajime Hoshi
3b7bc2fc57
internal/ui: remove unnecessary comments
2022-10-23 00:39:37 +09:00
Hajime Hoshi
fc2f999ebf
internal/ui: refactoring: separate globalState into a new file
2022-10-23 00:11:35 +09:00
Hajime Hoshi
422de70d59
internal/ui: bug fix: screenshot didn't include antialias renderings
2022-10-22 14:19:24 +09:00
Hajime Hoshi
c49db07e75
internal/ui: bug fix: wrong property name was used
...
Closes #2400
2022-10-21 21:37:27 +09:00
Hajime Hoshi
f04e391cb4
all: rename emptyImage -> whiteImage
2022-10-21 15:26:56 +09:00
Hajime Hoshi
a990d79905
internal/ui: refactoring
2022-10-21 03:11:13 +09:00
Hajime Hoshi
9ec23ddeb4
ebiten: add DrawTrianglesOptions.AntiAlias
and DrawTrianglesShaderOptions.AntiAlias
...
Closes #2385
2022-10-21 02:07:41 +09:00
Hajime Hoshi
da5f5ea327
ebiten: add blend factors
...
Updates #2382
2022-10-18 00:21:13 +09:00
Hajime Hoshi
d2a99afa44
internal/graphicsdriver/opengl: bug fix: lastBlend was not updated correctly on GLES
2022-10-17 16:05:09 +09:00
Hajime Hoshi
46a218c278
internal/graphicsdriver/metal/mtl: bug fix: wrong renaming
...
Updates #2382
2022-10-17 01:11:54 +09:00
Hajime Hoshi
871a8869db
ebiten: bug fix: wrong renaming
...
Updates #2382
2022-10-17 01:00:23 +09:00
Hajime Hoshi
180e456a8e
ebiten: rename members of Blend
...
Updates #2382
2022-10-17 00:51:55 +09:00
Hajime Hoshi
e03825bf08
ebiten: add BlendOperationSubtract and BlendOperationReverseSubtract
...
Updates #2382
2022-10-17 00:30:24 +09:00
Hajime Hoshi
06c53c1445
internal/grphicsdriver/opengl: bug fix: wrong consntant was used for blend operations
...
Updates #2382
2022-10-17 00:21:12 +09:00