Hajime Hoshi
5290605b2d
internal/atlas: add comments
2022-06-08 11:18:08 +09:00
Hajime Hoshi
9ee56ac320
inetrnal/atlas: remove unnecessary (and risky) locks
2022-06-08 10:05:15 +09:00
Hajime Hoshi
3b6a080519
internal/atlas: bug fix: use the global lock for shaders
...
Closes #2129
2022-06-08 10:00:31 +09:00
Hajime Hoshi
83ac234142
internal/ui: bug fix: offscreen images were created too often unexpectedly
2022-06-08 09:26:22 +09:00
Hajime Hoshi
6b212d7642
internal/restorable: refactoring: add Image.needsRestoring
2022-06-08 02:24:10 +09:00
Hajime Hoshi
9f729cf5c3
internal/restorable: remove SetVolatile
2022-06-08 02:20:09 +09:00
Hajime Hoshi
81f91658ff
internal/atlas: refactoring: remove SetVolatile and SetIsolate
...
Pass an image type to NewImage instead.
2022-06-08 01:08:00 +09:00
Hajime Hoshi
b8e8d72377
internal/restorable: rename ImageTypeScreenFramebuffer -> ImageTypeScreen
2022-06-07 23:45:35 +09:00
Hajime Hoshi
d3e3df812a
internal/ui: recreate an offscreen image when isScreenClearedEveryFrame is toggled
...
This is a preparation to remove SetVolatile and SetIsolated in
the atlas package.
2022-06-07 23:16:42 +09:00
Hajime Hoshi
b30700ac31
update Oto: simplify pausing
...
Updates #2125
2022-06-07 00:24:58 +09:00
Hajime Hoshi
6398230f84
internal/graphicscommand: add 'screen' info to (*newImageCommand).String()
2022-06-06 11:13:04 +09:00
Hajime Hoshi
73c893e977
internal/restorable: refactoring: unify NewScreenFramebufferImage and NewImage
2022-06-06 09:33:50 +09:00
Hajime Hoshi
31fd736ca5
internal/graphicscommand: refactoring: unify NewScreenFrameBufferImage and NewImage
2022-06-06 09:21:11 +09:00
Hajime Hoshi
cb0cbb4efa
internal/restorable: refactoring: introduce ImageType
2022-06-06 09:13:55 +09:00
Hajime Hoshi
7f10744514
internal/atlas: add an assertion at putOnAtlas
2022-06-06 09:01:04 +09:00
Hajime Hoshi
9bf5f2188f
internal/atlas: add an assertion at SetIsolated
2022-06-06 08:25:43 +09:00
Hajime Hoshi
86a0a4154d
internal/atlas: rename SetIsolate -> SetIsolated
2022-06-06 07:17:45 +09:00
Hajime Hoshi
0a1fe2e294
update Oto
2022-06-06 02:40:06 +09:00
Hajime Hoshi
b9012fc6ed
internal/atlas: unify the term 'isolate' and 'independent' to 'isolate'
2022-06-06 00:28:23 +09:00
Hajime Hoshi
6ce8f77c53
gofmt
2022-06-06 00:28:19 +09:00
Hajime Hoshi
e5172d7b6c
update Oto
2022-06-05 23:13:18 +09:00
Hajime Hoshi
0256b0cfbf
internal/graphicsdriver/directx: bug fix: disable fullscreen by Alt+Enter
...
By default, DirectX 12 tries to make the window fullscreen by Alt+Enter.
This caused application crashes. Let's disable this feature.
Closes #2123
2022-06-05 16:16:09 +09:00
Hajime Hoshi
51fe48fb76
internal/gamepad: bug fix: wrong offset especially on 32bit Linux
...
Closes #2122
2022-06-05 12:48:47 +09:00
Hajime Hoshi
744340da5e
update Oto: use arecord -L to list devices
...
Closes #2118
2022-06-05 12:16:02 +09:00
Hajime Hoshi
04643d06f7
update Oto: try other devices than 'default' when needed
...
Closes #2118
2022-06-04 22:56:11 +09:00
Hajime Hoshi
23b8d60e42
go mod tidy
2022-06-04 22:54:32 +09:00
Hajime Hoshi
c2251d49b5
.github/workflows: add -l to -gcflags
2022-06-04 17:45:59 +09:00
Hajime Hoshi
1fa5696c91
.github/workflows: add a building test without optimization to check potential stack overflow
2022-06-04 17:24:46 +09:00
Hajime Hoshi
5cdd2f8bce
internal/affine: further optimization to avoid heap allocation
...
Updates #2119
2022-06-04 15:13:30 +09:00
Hajime Hoshi
d518e64e22
Revert "internal/graphicsdriver/directx: refactoring: add syscallN"
...
This reverts commit 55a490736a
.
Reason: This has a potential risk of stack overflow.
Closes #2120
2022-06-04 13:58:01 +09:00
Hajime Hoshi
ecaa25faba
internal/affine: avoid heap allocations by casting a variable to a concrete type
...
This is a dirty hack but seems efficient.
Closes #2119
2022-06-04 13:18:14 +09:00
Hajime Hoshi
f69c550992
internal/graphicsdriver/directx: bug fix: go:nosplit was required for syscallN
...
Updates #2116
Closes #2117
2022-06-04 01:11:22 +09:00
Hajime Hoshi
55a490736a
internal/graphicsdriver/directx: refactoring: add syscallN
...
syscall.SyscallN is available as of Go 1.18 so this change implemented
our original syscallN function.
syscallN also panics when a given function pointer is 0. This helps
debugging especially on Xbox.
Updates #2084
2022-06-03 21:56:34 +09:00
Hajime Hoshi
3e1b313221
internal/graphicsdriver/directx: bug fix: ID3D12Resource::Map sometimes retrying
...
Updates #2113
Closes #2116
2022-06-03 21:56:30 +09:00
Hajime Hoshi
8e4e3d67c4
internal/gamepad: refactoring
2022-06-03 19:00:21 +09:00
Hajime Hoshi
2eb4ef1a94
internal/gamepad: give a window from another package instead of GetActiveWindow
...
GetActiveWindow doesn't work on Xbox.
Updates #2084
2022-06-03 18:42:54 +09:00
Hajime Hoshi
1580e92dfc
internal/gamepad: refactoring
2022-06-03 18:06:54 +09:00
Hajime Hoshi
90d26305e7
internal/gamepad: unify the naming convention for Win32API with other packages
2022-06-03 16:59:44 +09:00
Hajime Hoshi
124f233de0
internal/gamepad: cast returning values to uint32
2022-06-03 16:52:49 +09:00
Hajime Hoshi
532b476c4e
Revert "internal/graphicsdriver/directx: pass nil for pReadRange at Map"
...
This reverts commit 3b13158cc0
.
Reason: Specifying nil for reading ranges is not efficient
2022-06-03 13:59:34 +09:00
Hajime Hoshi
c6c45aadfa
Revert "Revert "internal/glfwwin: ignore errors from DWM functions""
...
This reverts commit 991cec993c
.
Reason: Reverted a wrong commit
2022-06-03 13:59:16 +09:00
Hajime Hoshi
991cec993c
Revert "internal/glfwwin: ignore errors from DWM functions"
...
This reverts commit 9ad87c0153
.
Reason: Specifying nil for reading ranges is not efficient
2022-06-03 13:49:45 +09:00
Hajime Hoshi
3b13158cc0
internal/graphicsdriver/directx: pass nil for pReadRange at Map
...
Updates #2113
2022-06-03 13:45:08 +09:00
Hajime Hoshi
9ad87c0153
internal/glfwwin: ignore errors from DWM functions
...
DWM functions might not be implemented on Proton. In the original
GLFW implementation, the returning values are not checked.
Updates #2113
2022-06-03 01:36:31 +09:00
Hajime Hoshi
c29c423686
internal/glfwwin, internal/graphicsdriver/directx: bug fix: HRESULT and Errno are imcompatible
2022-06-03 00:41:04 +09:00
Hajime Hoshi
7d95dddb1a
internal/glfwwin: refactoring
2022-06-03 00:32:36 +09:00
Hajime Hoshi
666d50e83d
internal/glfwwin: use HRESULT for an error value instead of GetLastError
...
GetLastError might not be reliable for some APIs like DwmFlush.
Updates #2113
2022-06-02 23:02:09 +09:00
Hajime Hoshi
4a9caf8afb
internal/graphicsdriver/directx: ignore higher 32bit values for Errno
...
Updates #2113
2022-06-02 23:01:38 +09:00
Hajime Hoshi
fb03a1e351
internal/graphicsdriver/directx: bug fix: ID3D12Resource::Unmap does not return an value
...
Updates #2113
2022-06-02 12:52:58 +09:00
Hajime Hoshi
4a684c4195
treat Windows error values as uint32 instead of windows.Handle
...
The error value are defined as windows.Handle (64bit) in
golang.org/x/sys/windows, but an actual type should be HRESULT (32bit).
This causes an issue that a returning value from a Windows API was
recognized as a non-zero error value though the value was not an error,
when the value's lower 32-bits are all zero.
See also https://github.com/golang/go/issues/48736#issuecomment-1143993096
Updates #2113
2022-06-02 12:10:21 +09:00