fincs
e3a7187973
gfx: Remove gfxSetDrawFlip. Make 0 the default transform instead of FLIP_V.
2018-08-31 20:14:50 +02:00
fincs
0d1b8bd723
BqQueueBufferInput: add swapInterval field (purpose currently unknown)
2018-08-31 20:11:53 +02:00
fincs
651dd72ac1
Add bqCancelBuffer and use it in gfx.c
2018-08-31 14:14:54 +02:00
fincs
c8ebe8a3b5
buffer_producer: convert Binder error codes to Result values
2018-08-31 14:05:04 +02:00
fincs
a62fae427b
Introduce Module_LibnxBinder result codes (based on Android status_t) and binderConvertErrorCode
2018-08-31 13:59:18 +02:00
fincs
819a6f0d89
display/binder.h: refactoring and other changes:
...
- Removed session_handle/native_handle state
- Consequence of the above: simplified binderCreate/binderInitSession
- Now using viGetSession_IHOSBinderDriverRelay internally
- Changed binderGetNativeHandle to return an Event
- Added readable aliases for binderAdjustRefcount
- gfx: now using async bqDequeueBuffer when the binder event is available
2018-08-31 13:05:23 +02:00
fincs
60cbb68f46
gfx: use new NvFence waiting code
2018-08-31 13:05:23 +02:00
fincs
a70acdd445
Implement nvFence
2018-08-31 13:05:23 +02:00
fincs
57e1f5f4cb
nvioctlNvhostCtrl: add EventWaitAsync, EventUnregister; fix EventRegister
2018-08-31 13:05:23 +02:00
fincs
99f37184fb
nvQueryEvent: return an Event instead of a raw Handle
2018-08-31 13:05:23 +02:00
fincs
7f8b6af64c
runtime/newlib.c: use armGetSystemTick instead of svcGetSystemTick
2018-08-31 13:05:23 +02:00
fincs
b26bb6ce76
viGetDisplayVsyncEvent: return an Event instead of a raw handle
2018-08-31 13:05:22 +02:00
fincs
88e9d3bb83
kernel/event.h: several fixes, including autoclear support
2018-08-31 13:05:22 +02:00
fincs
f2f59c75c0
display/gfx.h & buffer_producer.h: Start major refactor, highly WIP
2018-08-31 13:05:22 +02:00
fincs
10684e205a
nvidia/fence.h: sketching on NvFence/NvMultiFence {not implemented}
2018-08-31 13:05:22 +02:00
fincs
30e2ca8ec3
Introduce nvidia/types.h & move NvBufferKind to it (renamed to NvKind)
2018-08-31 13:05:22 +02:00
fincs
27f5aecea8
nvgfx: Strip down to bare minimum - remove unused logic
2018-08-31 13:05:22 +02:00
fincs
4e7159ce02
VI service: major revamp, see details:
...
- Added viOpenDefaultDisplay.
- Replaced viOpenLayer with viCreateLayer.
- NativeWindow parcel data is now parsed by viCreateLayer, and the
ViLayer struct contains a new igbp_binder_obj_id field.
- LayerFlags/LayerId parameters replaced by weak global variables
__nx_vi_layer_id/__nx_vi_stray_layer_flags.
- The root vi:* session is closed on startup.
- Simplified corresponding gfx code.
- Misc style fixes
2018-08-31 13:05:22 +02:00
fincs
180cd9b550
display/parcel.h: publish ParcelHeader struct
2018-08-31 13:05:22 +02:00
fincs
a0b3d3e193
source/nvidia/: do NOT include <switch.h>
2018-08-31 13:05:22 +02:00
Jules Blok
e234129598
gfx: Add a buffer index to gfxGetFramebufferHandle().
2018-08-31 13:05:22 +02:00
Jules Blok
4f331eb9f7
gfx: Add function to query framebuffer pitch.
2018-08-31 13:05:22 +02:00
Jules Blok
06e50f74ab
gfx: Add a call to get the framebuffer nvmap handle.
2018-08-31 13:05:22 +02:00
Jules Blok
d93c45a18d
gpfifo: Reset the command buffer after submission.
...
Don't forget to wait on the fence before re-using the buffer.
2018-08-31 13:05:22 +02:00
Jules Blok
9ce884f29e
cmd_list: The number of entries is the number of ints.
2018-08-31 13:05:22 +02:00
Jules Blok
3a750138c5
buffer: Align the size based on the param.
2018-08-31 13:05:22 +02:00
Jules Blok
cd85610ebb
Fix nvBuffer memory allocation failure
2018-08-31 13:05:22 +02:00
plutooo
de93886c56
Buildfix
2018-08-31 13:05:22 +02:00
plutooo
a3a2e57fc2
More updates to nvidia
2018-08-31 13:05:22 +02:00
plutooo
1c88d99131
Implement cmd list
2018-08-31 13:05:22 +02:00
plutooo
d6dbb59872
Change code style
2018-08-31 13:05:22 +02:00
plutooo
9c234d4d40
Started sketching on cmd lists
2018-08-31 13:05:22 +02:00
plutooo
50718ddccb
Bad cleanup in gpu.c
2018-08-31 13:05:22 +02:00
plutooo
6d21700ff7
Get rid of flag todo
2018-08-31 13:05:22 +02:00
plutooo
28cac45af8
Completing error notifier
2018-08-31 13:05:22 +02:00
plutooo
267e4e509b
Error notifier bringup
2018-08-31 13:05:22 +02:00
plutooo
d22bc791f4
Nv fixes
2018-08-31 13:05:22 +02:00
plutooo
d6f2e1118c
Zcull context works
2018-08-31 13:05:22 +02:00
plutooo
420d445a84
Minor fixes, now gets to whitescreen
2018-08-31 13:05:22 +02:00
plutooo
577a76dc06
Minor fixes, adding custom flag to buffer allocation
2018-08-31 13:05:22 +02:00
plutooo
1a22b484f8
Implemented zcull_ctx, 3d_ctx, random fixes
2018-08-31 13:05:21 +02:00
plutooo
cff044f497
Implement 3d_ctx
2018-08-31 13:05:21 +02:00
plutooo
87d29bdeb3
gpu takes reference on singletons
2018-08-31 13:05:21 +02:00
plutooo
f62f6e8b54
Add refcounting to nvidia stuff
2018-08-31 13:05:21 +02:00
plutooo
e7daaf1e71
Hide nv tmem size from gfx
2018-08-31 13:05:21 +02:00
plutooo
74958c57ce
Use reference counting across services
2018-08-31 13:05:21 +02:00
plutooo
194e335532
Let nv reference applet
2018-08-31 13:05:21 +02:00
plutooo
efacee6956
Simplify nv
2018-08-31 13:05:21 +02:00
plutooo
4b20f609a9
Stubbed 3d_ctx
2018-08-31 13:05:21 +02:00
plutooo
1660f99afe
Stubbed gpfifo, zcull_ctx
2018-08-31 13:05:21 +02:00
plutooo
4bd1d3313c
Fix nvgfx, add nvinfo
2018-08-31 13:05:21 +02:00
plutooo
f6aa4e3d52
Minimize nvgfx.c
2018-08-31 13:05:21 +02:00
plutooo
b24f6babbb
Make compilable
2018-08-31 13:05:21 +02:00
plutooo
61ebd9ddfd
Started implementing channels
2018-08-31 13:05:21 +02:00
plutooo
9a759c26f5
Rename nvmap->buffer
2018-08-31 13:05:21 +02:00
plutooo
04751087ca
Stylechanges to binder, and implemented gpu address space
2018-08-31 13:05:21 +02:00
plutooo
cd753b1b58
Implemented nvmap.c
2018-08-31 13:05:21 +02:00
plutooo
112b2b5d8e
Move nvidia driver to nvidia/
2018-08-31 13:05:21 +02:00
plutooo
d8bb563546
Renamed gfx/ to display/
2018-08-31 13:05:21 +02:00
plutooo
978c3f7f15
Style fixes, use structs for parsing parcels, renamed bufferProducer to bq
2018-08-31 13:05:21 +02:00
fincs
772c839c8c
Add audio/ ("AudioDriver"), a high level wrapper around audren
2018-08-31 13:05:21 +02:00
fincs
6fbf25fb62
Add audren:u IPC service wrapper with structure definitions
2018-08-31 13:05:21 +02:00
fincs
80439a186b
Add MOD0 header to crt0
2018-08-31 13:05:21 +02:00
plutooo
68a77ac950
Close sm session properly
2018-08-28 21:29:55 +02:00
David Marcec
d91c315f77
Fixed nifm not initializing properly for < 3.0.0
2018-08-27 16:10:53 +02:00
XorTroll
722450ae25
Add bpc service with ShutdownSystem and RebootSystem commands ( #144 )
2018-08-24 16:21:16 +02:00
Juan Antonio Hernández Cánovas
377683acd5
Add rwlockInit ( #155 )
2018-08-24 16:20:01 +02:00
yellows8
3513c91c3c
Added the remaining init for AppletType_SystemApplet.
2018-08-17 21:55:37 -04:00
yellows8
a7ba75ea1a
Added comment regarding the AppletType_Application double-init issue.
2018-08-15 16:32:11 -04:00
plutooo
fb42ebe53a
Fix memory leak in tmemCreate
2018-08-11 15:01:12 +02:00
Lioncash
d3f388d2c8
socket: Correct missing break within _socketParseBsdResult()
2018-08-09 14:53:41 +02:00
Lioncash
12a473ecbe
hid: Correct bitwise AND for pro controllers in hidInitializeVibrationDevices()
...
LAYOUT_PROCONTROLLER is a value of zero, so the bitwise AND condition
here would always be false (TYPE_PROCONTROLLER, on the other hand is a
value of 1)
2018-08-09 14:53:26 +02:00
fincs
f3b530cea3
C11 threads: enable preemptive scheduler and load balancing
2018-08-06 17:59:51 +02:00
fincs
b181d725ac
Use revised CondVar API in C11 threads impl
2018-08-05 14:32:10 +02:00
fincs
1e349b6ce8
Change CondVar API to have the mutex be passed to condvarWait* instead of condvarInit
2018-08-05 14:31:31 +02:00
fincs
062ef2b188
Add svcGetThreadCoreMask and svcSetThreadCoreMask
2018-08-05 14:30:08 +02:00
fincs
d255fe730b
Experimental partial C11 threads support
2018-08-05 13:23:08 +02:00
plutooo
9fc5e85c88
Event bringup
2018-08-05 13:23:08 +02:00
Jakob Dietrich
8e19bb5b0d
Fix semaphoreTryWait
2018-08-04 12:14:02 +02:00
Michael Scire
81e6972ae1
Fatal: fix marshalling
2018-07-28 18:24:19 -07:00
Rajko Stojadinovic
d726c7c55c
Implement some missing fs functions ( #141 )
2018-07-28 17:49:14 +02:00
klockee
27b8868646
Wrapped and implemented fsOpenBisFilesystem() ( #140 )
2018-07-28 17:08:42 +02:00
Rajko Stojadinovic
01fb4218ba
Add ncmContentStorageGetPlaceHolderPath and ncmContentStorageCleanupAllPlaceHolder
2018-07-27 18:14:43 +02:00
Rajko Stojadinovic
1b7acba590
add ncmContentStorageDisableForcibly and ncmContentMetaDatabaseDisableForcibly
2018-07-27 18:14:43 +02:00
Rajko Stojadinovic
c3278ffd34
Add ncmContentStorage functions needed for writing content
2018-07-27 18:14:43 +02:00
Jakob Dietrich
a180a36cb3
Fixed hid in sysmodules ( #135 )
2018-07-27 18:01:41 +02:00
Dave Murphy
be509f62ce
return through libc exit rather than __libnx_exit directly ( #139 )
2018-07-26 18:01:40 +02:00
Rajko Stojadinovic
e1d50dc129
Fix signature of ncmContentMetaDatabaseSet/Get, add ncmContentMetaDatabaseList ( #134 )
...
* Fix ncmContentMetaDatabaseSet/ncmContentMetaDatabaseGet, add ncmContentMetaDatabaseList
2018-07-25 20:15:54 -04:00
Oliver Kuckertz
1eafa1b283
Fix data race by reordering in _CacheValues
2018-07-22 17:03:36 +02:00
Joel16
2bcede91ba
Add fsFsCleanDirectoryRecursively
2018-07-19 11:33:56 -04:00
Dave Murphy
aa3c35e6e3
adjust fsdev_fixpath for cwd changes ( #132 )
...
* adjust fsdev_fixpath for cwd changes
2018-07-19 11:31:51 -04:00
Adubbz
d48cf6aa2e
Added ncm to switch.h, fixed wrong order in ncmContentMetaDatabaseListApplication
2018-07-19 11:29:48 -04:00
tesnos
9530da3237
Add fsOpenBisStorage and fsStorageGetSize ( #130 )
...
* add fsOpenBisStorage and fsStorageGetSize
2018-07-19 11:16:38 -04:00
Adubbz
e4c3f7d3a2
Added ncm commands ( #129 )
2018-07-07 04:03:48 +02:00
Daniel Edwards
ffc404a7f6
Added accountGetUserCount and accountListAllUsers ( #103 )
...
* Added accountGetUserCount and accountListAllUsers
2018-07-01 16:34:21 -04:00
Kevoot
fbe2c1f2ce
Add Semaphore ( #125 )
2018-07-01 00:45:41 +02:00
SciresM
97b295acbc
Fatal: Only exit process if required, exit cleanly. ( #127 )
...
* Fatal: Only exit process if required, exit cleanly.
2018-06-26 11:28:07 -04:00
Dave Murphy
35be7ac772
allow user additions to init/exit code ( #124 )
...
* allow user additions to init/exit code
2018-06-25 12:42:52 -04:00
SciresM
dbbaf64ad3
ns:dev: Add TerminateProcess and TerminateProgram ( #122 )
...
* ns:dev: Add TerminateProcess and TerminateProgram
2018-06-25 12:02:08 -04:00
Michael Scire
9770f4bb18
Implement svcGetThreadList
2018-06-25 11:18:07 -04:00
Michael Scire
481d27d1f1
Implement svcGetDebugThreadParam
2018-06-25 11:18:07 -04:00
gdkchan
b55317511c
Fix mutexUnlock
2018-06-25 11:12:45 -04:00
Michael Scire
c26e410ed8
Fatal: Make fatalSimple not create report, add FatalType enum
2018-06-25 12:33:15 +02:00
Dave Murphy
8b2b12b454
fix _IOC cast
2018-06-14 18:26:29 -04:00
Dave Murphy
4e4d2fe3c6
translate horizon errno to newlib errno
2018-06-14 18:25:52 -04:00
Dave Murphy
70cd9e017d
fix ioctl
2018-06-14 01:51:36 +02:00
Joel16
eb3c264e88
Add setsysSetColorSetId and region codes
2018-06-13 19:34:20 -04:00
Dave Murphy
9860ad331c
implement nanosleep
2018-06-14 00:49:20 +02:00
jarulo
8b793729fc
Fix inet_pton4
2018-06-12 13:08:27 +02:00
Somebody Whoisbored
ad4af954c2
Added nifm service ( #110 )
...
* Added nifm service
* Properly implemented gethostid
* Implemented gethostname
2018-06-07 18:00:51 -04:00
Joel
3c6344d7f3
Add more set:sys Get*/Set* functions ( #108 )
...
* Use setsysGetFlag/setsysSetFlag instead of setsysGet*/setsysSet*.
* Added more setsys Flags (now handled via an enum).
2018-06-07 16:06:36 -04:00
Dave Murphy
3326d5e62d
Time fixes ( #102 )
...
* provide microseconds to gettimeofday
* implement clock functions
2018-06-07 15:35:41 -04:00
Joel
1abfb02460
Add nsGetSpace commands ( #111 )
...
* Add nsGetSpace commands
2018-06-05 22:15:52 -04:00
Adubbz
d3889fb9ed
Added a few misc IPC wrappers ( #107 )
...
* Added a few misc IPC wrappers
2018-06-04 22:05:51 -04:00
jarulo
a5381e43c0
Fix incorrect pointer reference in socketDeserializeAddrInfo
2018-05-29 15:29:39 -04:00
Joel
deab92d486
Add some setsysGet* functions ( #98 )
...
* Add some setsysGet* functions
2018-05-22 11:33:45 -04:00
yellows8
b11288ea44
In jitTransitionToWritable() and jitTransitionToExecutable(), only run the JitType_CodeMemory handling code when it's actually needed. Actually free j->rx_addr in jitClose() for JitType_JitMemory.
2018-05-21 16:59:49 -04:00
yellows8
a12eb11eab
Sync jit SVC names with wiki + updated the comment for JitType_JitMemory in jit.h.
2018-05-21 14:32:02 -04:00
yellows8
93957370a9
Disable using JitType_JitMemory on 5.0.0+, resulting in falling back to JitType_CodeMemory if available.
2018-05-21 14:04:20 -04:00
yellows8
726f8adfe3
Replaced the hard-coded timeout error constant in nvgfxEventWait() with the one from result.h. This fixes an issue caused by a past commit.
2018-05-19 21:45:18 -04:00
Joel
3605e40dbd
Add string.h to remove compile error ( #96 )
...
* Add string.h to remove compile error
2018-05-19 15:41:15 -04:00
Joel
c28cae95cd
Add setGetSerialNumber ( #95 )
2018-05-19 16:50:00 +02:00
yellows8
df203f0697
Added hidMergeSingleJoyAsDualJoy().
2018-05-18 18:42:48 -04:00
Dave Murphy
28ebb9ed0c
implement nxlink stdio redirect ( #94 )
2018-05-17 00:22:47 +02:00
Dave Murphy
71036319a7
translate crlf eol markers to lf for consistency
2018-05-15 12:27:25 +02:00
yellows8
fdf0949562
Fixed parsing in _socketDeserializeHostent().
2018-05-15 02:10:13 -04:00
Matthew Bell
61d4140773
Implement pm:info ( #88 )
...
* Added pm:info and GetTitleId
2018-05-14 21:09:43 -04:00
yellows8
5ebe01191e
Fixed hang in _socketDeserializeHostent().
2018-05-14 12:37:56 -04:00
yellows8
ce718b3ac2
Set h_errno and errno for the socket.c 'Unimplementable functions'.
2018-05-14 12:32:07 -04:00
yellows8
3f75b79803
Copy the HidControllerHeader for each controller into hid state. Added disabled hidGetControllerType().
2018-05-12 13:53:11 -04:00
yellows8
c548a76763
In select(), use pollinfo revents instead of events when processing poll() output.
2018-05-10 20:11:07 -04:00
yellows8
c8d68ae853
Fixed _socketOpen().
2018-05-10 12:35:55 -04:00
yellows8
9c7ed03424
Fixed bsdGetSockOpt.
2018-05-09 22:07:54 -04:00
yellows8
2619142d78
Fixed bsdIoctl.
2018-05-09 12:57:07 -04:00
yellows8
adad6f1c0c
Fixed passing rawdata params in _sfdnsresDispatchDnsRequest().
2018-05-08 22:52:32 -04:00
Michael Scire
fd9378754d
Fix asm error in svcGetResourceLimit*Value
2018-05-09 02:32:44 +02:00
yellows8
468924b730
Fixed static-buf-size issue with _bsdNameGetterCommand.
2018-05-08 16:22:18 -04:00
TuxSH
635599491c
Add ipcAddSendSmart, ipcAddRecvSmart, use where applicable
2018-05-08 16:17:13 -04:00
Dave Murphy
e648524fa5
fix stringop-truncation warnings ( #84 )
...
avoid gcc 8.1.0 diagnostics as per https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html#index-Wstringop-truncation
2018-05-08 21:58:38 +02:00
Michael Scire
6f248b9b9e
Add FS commands for SD card state change detection.
2018-05-08 13:29:56 +02:00
Michael Scire
dc133ab99f
Implement all Loader Services.
2018-05-07 17:04:59 +02:00
Michael Scire
836ec09917
Implement CSRNG services
2018-05-07 17:04:59 +02:00
Michael Scire
24b42cb6a3
Implement SPL services
2018-05-07 17:04:59 +02:00
Michael Scire
1cc0ac7a94
Revise LR API to use actual LR function names
2018-05-07 17:04:59 +02:00
Michael Scire
65cca4bf13
Add support for fsp-pr.
2018-05-07 17:04:59 +02:00
Michael Scire
ef47389228
Implement svcMap/UnmapPhysicalMemory(Unsafe), svcSetUnsafeLimit
2018-05-07 14:03:27 +02:00
Michael Scire
7b5d1b1bf3
Implement sm:m.
2018-05-04 01:50:22 +02:00
SciresM
0ac5743c1f
Add ResourceLimit SVCs, svcGetProcessInfo ( #76 )
2018-05-04 00:59:17 +02:00
fincs
e001318c42
Fix strncat vulnerabilities in fs_dev.c [reported by @TuxSH]
2018-05-02 16:09:11 +02:00
fincs
2818c99dea
Revise fsdev initialization, see details:
...
- Removed fsdevInit/Exit
- Now automatically initializing fsdev state on first mount
- Added fsdevMountSdmc (replaces fsdevInit)
- Added fsdevUnmountAll (replaces fsdevExit)
2018-05-01 19:06:14 +02:00
hexkyz
b2b8e1ec67
Implement more SVCs ( #74 )
...
Implement svcSetThreadPriority.
Implement svcGetCurrentProcessorNumber.
Implement svcSignalEvent.
Implement svcSendSyncRequestWithUserBuffer.
Implement svcSendAsyncRequestWithUserBuffer.
Implement svcGetThreadId.
Implement svcReplyAndReceiveWithUserBuffer.
Implement svcCreateEvent.
Implement svcReadWriteRegister.
Implement svcCreateInterruptEvent.
Implement svcMapDeviceAddressSpaceByForce.
Implement svcTerminateProcess.
Fix svcMapDeviceAddressSpaceAligned.
Fix svcUnmapDeviceAddressSpace.
2018-04-30 00:43:52 +02:00
yellows8
c2b4f586f2
Merge branch 'master' of github.com:switchbrew/libnx
2018-04-25 12:49:10 -04:00
yellows8
6e1cc4dc1e
Added plGetSharedFontByType(). Added _plRequestLoadWait which is used internally for both plGetSharedFontByType() and plGetSharedFont(). Moved offset/size validation code in pl into a dedicated func.
2018-04-25 12:49:01 -04:00
SciresM
d5bce6b0a6
Implement svcCreatePort. ( #73 )
...
* Implement svcCreatePort
* Implement svcConnectToPort
* Implement svcUnmapProcessMemory
* Implement svcGetSystemInfo
2018-04-24 18:33:46 -04:00
yellows8
9bb649b5e2
plFontData -> PlFontData and fixed @file in pl.h.
2018-04-24 14:08:12 -04:00
yellows8
07759f38d9
Added pl.
2018-04-23 21:15:32 -04:00
Michael Scire
cea3db77b1
Services: Add fsp-ldr, add lr/fsp-ldr to <switch.h>
2018-04-22 01:15:28 +02:00
yellows8
f727aa669a
Added the remaining (pre-4.0.0) hid-serv vibration cmds.
2018-04-19 15:17:22 -04:00
yellows8
37bb9a6b7f
Added nacpGetLanguageEntry and SetLanguage_Total.
2018-04-18 23:38:01 -04:00
Michael Scire
5e591d708a
LR: Fix style for helper funcs, add comment
2018-04-18 14:06:15 +02:00
Michael Scire
d950853b4a
LR: Implement wrappers for some commands
2018-04-18 14:06:15 +02:00
yellows8
a33fc64457
Implemented 3.0.0+ support for ns.
2018-04-15 22:13:07 -04:00
plutooo
daf819cb75
Stylefixes
2018-04-15 23:28:28 +02:00
yellows8
c5bc2ec77a
Changed nsApplicationControlData to NsApplicationControlData.
2018-04-15 17:00:50 -04:00
yellows8
c82f2cea00
Added ns impl, and added nsGetApplicationControlData. Imported nacp.h from nx-hbmenu with adjustments.
2018-04-15 15:00:11 -04:00
yellows8
8091db8931
Added FsStorageId. Added pmshell init/exit and pmshellLaunchProcess.
2018-04-12 02:52:49 -04:00
yellows8
a3baa0eeb1
Allow using multiple interfaces with usbComms. Added usbComms Ex funcs. Use RwLock with usbComms. Various other usbComms changes.
2018-04-11 17:18:23 -04:00
yellows8
58835fae1a
Use Service for AccountProfile.
2018-04-10 17:06:33 -04:00
yellows8
29211c1800
Use Service for all fs sessions. This fixes an issue with savedata commit.
2018-04-06 12:39:57 -04:00
yellows8
7f158396ad
Added impl for accountProfile*. If the inital smGetService fails, attempt to use 'acc:u0'.
2018-03-28 19:31:36 -04:00
yellows8
26d2e6d7f4
Implemented FsSaveDataIterator (aka ISaveDataInfoReader). In fs*Close(), set the handle to INVALID_HANDLE after closing the handle. Changed ContentStorageId in FsSave to SaveDataType. Added enums FsSaveDataSpaceId and FsSaveDataType. Removed FS_MOUNTSAVEDATA_INVAL_DEFAULT/FS_MOUNTSYSTEMSAVEDATA_INVAL_DEFAULT.
2018-03-26 14:45:12 -04:00
Dave Murphy
45b36774e0
add socket flags translation
2018-03-25 17:51:09 +02:00
plutoo
d604976f08
Derp
2018-03-23 19:04:26 +01:00
plutoo
6c72bf8273
Detect 5.0.0 properly
2018-03-23 19:01:09 +01:00
yellows8
bf216aa667
Added mounting for SystemSaveData.
2018-03-22 22:56:38 -04:00
yellows8
51293c7fb0
In socket ioctl(), properly call fcntl-F_SETFL with the new flags.
2018-03-20 22:49:52 -04:00
Dave Murphy
21d27b935e
modularise nxlink code
2018-03-18 20:51:49 +01:00
Dave Murphy
1394891509
better tag for nxlink host ip
2018-03-18 20:51:49 +01:00
Dave Murphy
23f577576c
more checking of NXLINKED arg
2018-03-18 20:51:49 +01:00
Dave Murphy
e8fdd73561
add support for finding nxlink host
2018-03-18 20:51:49 +01:00
yellows8
213676c5f8
Added hidGetHandheldMode().
2018-03-15 22:24:52 -04:00
yellows8
5e9869cc41
Added hidSendVibrationValues(). Improved hidInitializeVibrationDevices(), including changing the HidControllerLayoutType param to HidControllerType.
2018-03-14 21:47:21 -04:00
yellows8
3a8a9d7c26
Removed code for g_gfxPixelFormat/gfxSetPixelFormat and use hard-coded constant instead, since changing this value has no affect (even when changing g_gfx_BufferInitData.format).
2018-03-11 22:14:03 -04:00
yellows8
49bea43cce
Added envGetLastLoadResult().
2018-03-11 17:40:28 -04:00
plutoo
e112ab6968
Fix ipc session close race properly
2018-03-11 13:21:36 +01:00
plutoo
e162da18ff
Fix race condition in tmem
2018-03-10 21:03:31 +01:00
plutoo
965c7cdd47
Irs stylefix
2018-03-10 14:48:15 +01:00
plutoo
1d34db8497
Improve atomics
2018-03-10 14:41:06 +01:00
plutoo
a102c64341
Introduce atomics.c, refcounting on all services
2018-03-10 14:33:40 +01:00
plutoo
d12e99e3ad
Move ipc.h to kernel/
2018-03-10 14:03:29 +01:00
yellows8
d1cefabd12
Renamed hidInitializeVibrationDevice() to hidInitializeVibrationDevices(), and added support for optionally returning 2 handles + other changes.
2018-03-07 01:16:35 -05:00
yellows8
cbaa0e359b
Added hidPermitVibration() and hidIsVibrationPermitted().
2018-03-06 23:38:33 -05:00
Kostas Missos
e243e4507e
[irs] Name image transfer config variables ( #61 )
...
* [irs] Name image transfer config variables
2018-03-06 19:33:45 -05:00
yellows8
a3933c7a85
Added hid vibration.
2018-03-06 18:08:57 -05:00
yellows8
e7a4eba71c
Added hidSetNpadJoyAssignmentModeSingleByDefault() and hidSetNpadJoyAssignmentModeDual(). Check serviceIsActive() in hidExit(). Use hidSetNpadJoyAssignmentModeDual() for all controllers during hidInitialize()/hidExit().
2018-03-05 22:37:37 -05:00
Mike H
208daf6344
Audio input implementation and fixes ( #60 )
...
* Implemented audin service and fixed released audio buffer handling
2018-03-04 12:20:31 -05:00
yellows8
f7335b7ae5
Only clear allocated tmem when alloc was successful.
2018-03-01 22:57:44 -05:00
yellows8
20a549b46b
Clear allocated tmem.
2018-03-01 22:55:17 -05:00
yellows8
07ec16a8e7
Implemented more irs.
2018-03-01 19:14:45 -05:00
yellows8
6dd76f6288
Sync AudioOutBuffer comments with wiki. Updated audoutPlayBuffer() comments. Moved the waiting/post-append code from audoutPlayBuffer() into new func audoutWaitPlayFinish(). Removed '&' from code setting audoutAppendAudioOutBuffer() raw->tag.
2018-02-28 19:37:17 -05:00
plutoo
f4230f3ef0
Fix race condition in hid
2018-03-01 00:15:01 +01:00
plutoo
20f3e87d11
Change type of TryLock to bool
2018-02-28 18:22:28 +01:00
Jules Blok
e966f21800
mutex: Add TryLock() variants.
2018-02-28 18:00:03 +01:00
TuxSH
e0457c4534
Handle bsdInitialize failure codes properly
2018-02-27 19:14:44 +01:00
TuxSH
d33b26016d
Add documentation to bsd.h and sfdnsres.h, etc.
2018-02-27 19:14:44 +01:00
TuxSH
3709ee92a5
Fix netdb functions
2018-02-27 19:14:44 +01:00
TuxSH
888f7e101f
Fix inet_ntop6
2018-02-27 19:14:44 +01:00
TuxSH
472d305883
Move socket.c definitions around, fix bugs
2018-02-27 19:14:44 +01:00
TuxSH
dcf3e56300
Implement netdb.h functions, fix bugs, etc.
2018-02-27 19:14:44 +01:00
TuxSH
b8fb1722d0
Add sfdnsres
2018-02-27 19:14:44 +01:00
TuxSH
4b685d676b
Add basic IPv6 definitions as sfdnsres seems to support it...
...
...also fix a bug in the inet_* functions.
2018-02-27 19:14:44 +01:00
TuxSH
0b92bb76b0
Add newlib wrapper for sockets...
...
... fix several bugs, etc.
2018-02-27 19:14:44 +01:00
TuxSH
88dbc66d01
Handle result code+errno properly...
...
also make fcntl and ioctl non-variadic for convenience for the newlib wrapper
2018-02-27 19:14:44 +01:00
TuxSH
a3e90d68a0
Add all the needed headers from FreeBSD...
...
... clean them up, also fix some bugs in bsd.c/h, etc.
2018-02-27 19:14:44 +01:00
TuxSH
4d78f12871
Implement most bsd:u/s service commands
2018-02-27 19:14:44 +01:00
yellows8
5664830f35
Fixed args parsing with quotes.
2018-02-27 02:14:23 -05:00
yellows8
f07d09aeb0
Added appletGetDesiredLanguage(). In set-serv('set'), added support for all language/region commands, etc.
2018-02-26 12:34:01 -05:00
plutoo
d3cc781bf6
Stylefix for nro
2018-02-26 02:10:49 +01:00
Dave Murphy
0bbfbadc39
switch to 16x16 console font
2018-02-25 15:49:25 +01:00
yellows8
e24c20f9e7
Added Nro prefix to Asset in nro.h + updated romfs_dev for this.
2018-02-24 15:39:30 -05:00
yellows8
4c1b09d6b9
Check for invalid handle in fs*Close(). Added fsOpenDataStorageByCurrentProcess(), fsStorageRead(), and fsStorageClose(). Added fsdevGetDefaultFileSystem(). Imported nro.h from nx-hbmenu. Implemented proper RomFS support.
2018-02-23 22:29:43 -05:00
yellows8
2022d545dc
Store pixel-format in a global instead of hard-coding it and added a disabled func for setting it. Added a pixel-format comment to gfx.h.
2018-02-22 21:49:55 -05:00
yellows8
3c4c35e6e5
Added gfxSetDrawFlip() and gfxConfigureTransform().
2018-02-22 20:31:51 -05:00
plutoo
60876ef3f3
Eyeballin set:sys
2018-02-22 08:44:12 +01:00
shinyquagsire23
954a48b8fe
Add hidMouseRead, allows mouse position/velocity/scrollwheel velocity to be fetched
2018-02-22 06:48:00 +01:00
shinyquagsire23
1b255bfe15
Add usleep
2018-02-21 08:28:18 +01:00
plutoo
f8a86bf7b6
Merge branch 'master' of https://github.com/switchbrew/libnx
2018-02-21 08:38:49 +01:00
plutoo
e25aae5a97
Workaround for burn in issue
2018-02-21 08:38:22 +01:00
yellows8
d61154f0e5
Added timeSetCurrentTime() and attempt to initialize time-serv with 'time:s' first.
2018-02-21 00:26:21 -05:00
yellows8
0dcaeec959
In __libnx_gtod() set tv_usec, and moved+updated the timezones comment.
2018-02-20 22:24:35 -05:00
plutoo
842ce50c2f
Condvar fix
2018-02-21 03:05:15 +01:00
yellows8
14263ddd78
Initial time support, timezones are not handled yet.
2018-02-20 18:17:32 -05:00
plutoo
6ee4d389a5
Binder bugfix
2018-02-19 23:40:48 +01:00
Mike H
cde07068dd
Return result from audoutPlayBuffer ( #46 )
...
* Return result from audoutPlayBuffer
* Add alignment note in header file
2018-02-19 16:43:58 -05:00
yellows8
20cd940095
Implemented arg parsing for NRO env. When args aren't available, set __system_argv to {ptr to NULL} instead of NULL.
2018-02-17 21:25:21 -05:00
yellows8
a1462c8b0b
Fixed size of bufferProducerGraphicBuffer and removed the union for it. Removed an invalid comment from gfx.c, since bufferProducerRequestBuffer() is used after bufferProducerGraphicBufferInit().
2018-02-17 19:35:04 -05:00
Mike H
0e40828c19
Initial audio support ( #43 )
...
Initial audio support
2018-02-17 11:40:59 -05:00
yellows8
c22655e7a2
Moved the applet GetEventHandle code outside of the regularapp block since appletMainLoop() uses this event.
2018-02-16 22:54:15 -05:00
yellows8
3c6b8bb6dd
Removed envGetArgc() and the related code, since it was removed from wiki-ABI. Updated a comment in argv.c.
2018-02-16 22:40:53 -05:00
yellows8
3f90f3b64c
Align width/height to 4 in gfxInitResolution() and gfxConfigureCrop(). Updated the image-transfer code in gfxFlushBuffers() for removing the width misalignment handling.
2018-02-16 20:13:47 -05:00
yellows8
67af341594
Fixed romfs_dir struct for the parent field and fixed romfs_dev.h formatting.
2018-02-13 17:50:21 -05:00
yellows8
f5606bfb8a
Added disabled _appletExitProcessAndReturn().
2018-02-13 12:16:17 -05:00
yellows8
4efcc5b439
Only handle appletIFunctions for non-LibraryApplet. Added remaining init/exit for LibraryApplet. Handle appletExit() properly.
2018-02-12 22:15:56 -05:00
yellows8
83349f946a
Use u128 for data-transfer in gfxFlushBuffers() when width is aligned for this.
2018-02-12 18:09:15 -05:00
yellows8
13b4c74723
Updated gfx API. Replaced gfxSetDoubleBuffering() with gfxSetMode(), and added GfxMode enum. Updated gfx.h comments. Updated gfxGetFramebufferDisplayOffset() for using the aligned width. The new GfxMode_LinearDouble is now used by default, apps must not use gfxGetFramebufferDisplayOffset() with this mode. Apps using gfxGetFramebufferDisplayOffset() must be updated.
2018-02-12 16:08:25 -05:00
yellows8
4b2a32af59
Imported transform enums from Android and updated g_gfxQueueBufferData.transform for this.
2018-02-12 11:58:54 -05:00
yellows8
a31e53d57a
Added disabled applet code for cmds Exit, LockExit, and UnlockExit.
2018-02-11 15:44:49 -05:00
TuxSH
507bf71a7b
Fix NV ioctl nameclashes...
...
...with bsd ioctls (coming soon) & C++ stdlib
2018-02-10 23:02:05 +01:00
fincs
521bc1c5c9
Document kernel/condvar.h
2018-02-10 22:40:11 +01:00
fincs
78ff885390
Rename __in/out/inout to _in_/etc to avoid problems with C++ system headers
2018-02-10 22:40:11 +01:00
fincs
d2ab48262c
Fix breakage after rebase
2018-02-10 22:40:11 +01:00
fincs
cde9d05c80
Optimize/fix several things in svc.s
2018-02-10 22:40:11 +01:00
fincs
c20d372946
Clean up types.h:
...
- Move Permission to kernel/svc.h (also fix enum naming)
- Add s128, vu128, vs128
- voidfn -> VoidFn
2018-02-10 22:40:11 +01:00
fincs
41da28eb5c
Document kernel/: shmem.h, thread.h, tmem.h, virtmem.h
2018-02-10 22:40:11 +01:00
fincs
cbd367c8a0
Document kernel/: detect.h, jit.h, mutex.h, random.h, rwlock.h
2018-02-10 22:40:11 +01:00
yellows8
dc785c1fee
Added appletSetScreenShotPermission and appletSetScreenShotImageOrientation. Added LibnxError_IncompatSysVer.
2018-02-08 22:13:56 -05:00
yellows8
4137f9aefe
Allocate heap with the size determined via svcGetInfo by default. Updated heap comments.
2018-02-05 22:21:44 -05:00
plutoo
356a06fb94
Fix bug where attempts to parse __argdata__ while running as an NRO
2018-02-04 03:29:59 +01:00
yellows8
2103e40448
Better argdata validation.
2018-02-03 21:06:23 -05:00
yellows8
7a9e43b684
Removed outdated todo comment.
2018-02-02 16:22:23 -05:00
plutoo
75003f40f1
Add some syscalls
2018-02-01 22:04:37 +01:00
plutoo
89021287f8
Revert "We don't understand Auto -- disable for now"
...
This reverts commit 20c4bfd54a
.
2018-02-01 00:26:39 +01:00
plutoo
20c4bfd54a
We don't understand Auto -- disable for now
2018-02-01 00:16:38 +01:00
plutoo
b2810ab38d
Condvar stylefix
2018-01-31 02:22:28 +01:00
plutoo
c7213b119b
Condvar bugfix
2018-01-31 02:14:01 +01:00
TuxSH
e7c57fbd0b
Fix 85d7ac4
2018-01-31 01:44:30 +01:00
TuxSH
85d7ac4da1
Restore initial sp on application exit
2018-01-31 01:14:48 +01:00
plutoo
000a7f05c9
Experimental implementation of condvars
2018-01-30 22:39:02 +01:00
yellows8
ca6d017be9
Started irs IR-sensor support.
2018-01-29 23:16:06 -05:00
yellows8
83ea6fb32e
Imported romfs_dev from libctru with adjustments, this is currently unusable.
2018-01-28 21:18:53 -05:00
Lioncash
1e04b22bae
applet: Remove redundant declaration of appletExit()
...
This is already present within the header.
2018-01-28 01:03:56 +01:00
Lioncash
b637276c48
Silence a few missing prototype warnings
2018-01-28 01:03:56 +01:00
yellows8
e1347f367c
Enabled code which requires devkitA64 a6.
2018-01-25 22:16:14 -05:00
yellows8
e78f57d862
Check for fence id NO_FENCE before calling nvgfxEventWait() in _gfxDequeueBuffer(), since that does occur in some cases.
2018-01-25 01:34:31 -05:00
yellows8
53319ff6d2
Merge branch 'master' of github.com:switchbrew/libnx
2018-01-25 00:42:27 -05:00
yellows8
0f8f5e9732
Re-added g_appletProxySession closing, this was removed by an eariler commit. Renamed APT_BUSY_ERROR to AM_BUSY_ERROR.
2018-01-25 00:42:19 -05:00
Dave Murphy
305d4bf3e3
move crt0 to libnx
2018-01-25 01:44:59 +01:00
yellows8
e39dc2baf8
Fixed building when fsdev usage is enabled.
2018-01-24 16:05:47 -05:00
TuxSH
5b0de6c054
Move tmem allocation in bsdInitalize...
...
...add bsdExit, change the default config's "version" field to 1.
2018-01-22 22:11:33 +01:00
TuxSH
fb9e126f3a
Make the bsd service work properly
2018-01-22 22:11:33 +01:00
plutoo
340266502a
Cache management for jit
2018-01-22 21:06:53 +01:00
plutoo
b34f59e179
ARM cache operations
2018-01-22 20:29:49 +01:00
plutoo
9634a5467e
Small stylefix
2018-01-22 20:15:03 +01:00
plutoo
6fa8370bfb
This looks better
2018-01-22 20:11:55 +01:00
TuxSH
5abc4873d8
Include only what is really necessary...
...
add pragma once in every header, etc.
2018-01-22 18:42:57 +01:00
plutoo
5a67f0909d
Stop confusing Nvidia error codes and Switch error codes
2018-01-21 18:54:11 +01:00
plutoo
e54bbc54ea
Fix codestyle for results
2018-01-21 18:40:23 +01:00
plutoo
6b4b693842
3.0.0 jit also requires own process handle
2018-01-21 17:24:42 +01:00
yellows8
cd881bbc0e
Added envHasNextLoad().
2018-01-20 18:25:35 -05:00
plutoo
200240f328
Actually reprotect code segment to RX
2018-01-20 19:37:11 +01:00
plutoo
d4db5b7647
Stylefix
2018-01-20 19:37:11 +01:00
plutoo
97141448e9
Implement NextLoadPath for loader env
2018-01-20 19:37:11 +01:00
fincs
af0e9eea7d
Minor style change in appletMainLoop()
2018-01-20 14:41:05 +01:00
fincs
79e51cb733
More fatalSimple unique error codes (plus some fixing)
2018-01-20 14:41:05 +01:00
plutoo
a4cff4de13
Jit bug number two
2018-01-20 14:19:14 +01:00
plutoo
de8b3f81e4
Jit errorcode bugfix
2018-01-20 14:03:44 +01:00
plutoo
81a39130fe
Whitespace fix in svc
2018-01-20 14:01:26 +01:00
plutoo
22e9a0fcc3
Jit bringup, improvements to virtmem
2018-01-20 13:56:12 +01:00
plutoo
b877e1b1c1
Why is this not crashing
2018-01-20 12:26:31 +01:00
shinyquagsire23
368fbbb570
hid: joystickPosition -> JoystickPosition
2018-01-20 10:37:47 +01:00
shinyquagsire23
52e928df0e
hid: circlePosition -> joystickPosition
2018-01-20 10:37:47 +01:00
shinyquagsire23
a4dbd93b1f
hid: Add hidJoystickRead
2018-01-20 10:37:47 +01:00
plutoo
8ae150d110
NRO loading bringup
2018-01-20 00:13:38 +01:00
yellows8
3a9451bbeb
Added CONTROLLER_P1_AUTO. Added bounds checking for id in hid{Set|Get}ControllerLayout.
2018-01-19 13:58:32 -05:00
Lioncash
4b9a460fb6
usb_comms: Correct scenarios when freeing the endpoint out buffer
...
Previously g_usbComms_endpoint_out_buffer wouldnt be freed in
usbCommsExit, as g_usbComms_endpoint_out would be set to NULL before
the conditional check
2018-01-19 11:22:44 +01:00
plutoo
3faa6e8325
Add comment about seed
2018-01-18 21:11:58 +01:00
plutoo
15fe53dad3
Fix signature of randomGet64()
2018-01-18 20:53:04 +01:00
plutoo
ec4430d2e6
Introduce random
2018-01-18 20:51:55 +01:00
yellows8
e3f0e08a90
Skip HID init when applet-type is None.
2018-01-17 00:39:56 -05:00
fincs
a8a15f7d16
Make fatalSimple error codes unique
2018-01-15 22:48:46 +01:00
yellows8
eec1fc2fcc
Added svcSetProcessMemoryPermission and svcMapProcessCodeMemory/svcUnmapProcessCodeMemory. Added PERM_X.
2018-01-13 23:49:54 -05:00
yellows8
197b1900a1
Fixed appletInitialize() which broke during the Service changes.
2018-01-13 01:09:08 -05:00
plutoo
844f72fe67
Panic if any initialization fails
2018-01-13 00:43:38 +01:00
plutoo
61494b77cc
Minor stuff
2018-01-13 00:36:31 +01:00
plutoo
d8061f67bd
Introduce svcWaitForSynchronizationSingle to clean up code
2018-01-13 00:27:47 +01:00
plutoo
94658b9f60
More loader config
2018-01-13 00:18:04 +01:00
plutoo
fbf0b0643a
Missed vi on the first round
2018-01-12 23:53:08 +01:00
plutoo
f70d70f029
Introducing "Service" object, implemented service override, fixing minor formatting mistakes
...
NOT TESTED :(
2018-01-12 23:29:49 +01:00
cpasjuste
31049f051b
Rename ipc function in vi
2018-01-12 22:13:21 +01:00
plutoo
efc7cbf653
Implement heap override
2018-01-12 19:10:46 +01:00
plutoo
3ac366528e
Merge pull request #24 from shinyquagsire23/vi-managedlayer
...
vi:m ManagedLayer support
2018-01-12 18:25:30 +01:00
shinyquagsire23
e5726cbc83
Move viCreateManagedLayer logic out of viOpenLayer
2018-01-11 19:11:39 -07:00
plutoo
6720355dd1
Bringup loader config block parsing
...
Not tested yet
2018-01-11 22:59:40 +01:00
plutoo
fd4522423b
Hid stylefix
2018-01-11 22:29:16 +01:00
plutoo
7482c849fe
Introducing RwLock, make hid threadsafe
2018-01-11 22:25:49 +01:00
plutoo
bf89c7526e
Rename ipc functions before it's too late
2018-01-11 21:56:04 +01:00
plutoo
6585261210
Detect debugger and use svcBreak in panic
2018-01-11 21:49:41 +01:00
plutoo
5f860ad4b3
Rename version.{c.h} to detect
2018-01-11 21:43:37 +01:00
plutoo
4a19fb7022
Hide utf under runtime/, fix headers
2018-01-11 21:38:12 +01:00
shinyquagsire23
3fcd8a1596
This should be the ViServiceType
2018-01-09 03:47:13 -07:00
shinyquagsire23
ab3d5adb3d
Add viCreateManagedLayer, attempt to use vi:m before using applet
2018-01-09 03:46:49 -07:00
plutoo
e1c762e2bd
OCD fix.
2018-01-06 14:03:21 +01:00
plutoo
edcf789b6e
C was developed in 1972
2018-01-06 13:54:59 +01:00
plutoo
cac3f735af
Renamed misleading dir names "devices/" and "system/" to "runtime/"
2018-01-06 13:45:37 +01:00
plutoo
fbfb5cdba2
NV code style
2018-01-06 13:43:18 +01:00
plutoo
10246ebdbc
Binder codestyle fix
2018-01-06 13:39:47 +01:00
plutoo
a63ce5d8bc
Align VI code style
2018-01-06 13:34:08 +01:00
plutoo
3ca6e65984
Aligning code style of kernel primitives
2018-01-06 06:10:55 +01:00
plutoo
282fdefe2b
Align code style of MemoryInfo
2018-01-06 06:04:35 +01:00
plutoo
fee6b42963
Align code style for AM
2018-01-06 05:57:56 +01:00
plutoo
916dfb56f0
More threading functionality
2018-01-01 23:32:44 +01:00
plutoo
03e9fdb883
Make _SetupHeap overridable
2018-01-01 22:38:20 +01:00
plutoo
5739fda64a
Make allocation of virtmem regions thread-safe
2018-01-01 22:35:54 +01:00
plutoo
53a63d861a
Derp
2018-01-01 22:30:29 +01:00
plutoo
5cad71213b
Cache version values, fix guard paging of threads on 2.0.0+
2018-01-01 22:28:12 +01:00
plutoo
91afc81ce1
Detect 4.0.0
2018-01-01 19:52:41 +01:00
yellows8
4e77c36c30
Perf adjustments for gfxGetFramebufferDisplayOffset().
2017-12-29 22:04:15 -05:00
yellows8
28e2759412
Fixed vsync handling.
2017-12-29 18:44:09 -05:00
yellows8
1dda414f31
Implemented apm.
2017-12-29 16:15:17 -05:00
yellows8
02ec6d5c8a
Updated the delay code in gfx-init and removed disabled get-{width/height} code.
2017-12-27 18:52:54 -05:00
yellows8
3c297c2a14
Added comment to vsync func.
2017-12-27 18:52:54 -05:00
yellows8
18a0d45afe
Added gfxInitResolutionDefault(). Added gfxConfigureAutoResolution() and gfxConfigureAutoResolutionDefault().
2017-12-27 18:52:54 -05:00
yellows8
b89036f6fd
Added user-specified crop handling with gfxConfigureCrop() and gfxConfigureResolution(). Added gfxGetFramebufferResolution(). Updated gfxGetFramebufferDisplayOffset() for handling this.
2017-12-27 18:52:54 -05:00
yellows8
d62709adc7
Added gfxInitResolution() + added gfx.h comments. Updated gfxGetFramebufferDisplayOffset() so that the returned pixel-offset is in a region that's not displayed when the x/y is out-of-bounds. Fixed g_gfx_framebuf_aligned_{width/height} init when the initial width/height is not the default 0. Updated nvioctlNvhostAsGpu_InitializeEx/nvioctlNvhostAsGpu_AllocSpace usage etc, required for using non-720p framebufs.
2017-12-27 18:52:54 -05:00
yellows8
f00bc78569
Moved framebuf width/height/size fields from nvgfx into gfx + code used with those. Moved g_gfxprod_BufferInitData into gfx + renamed it. Moved code for using bufferProducerGraphicBufferInit() / struct init code into gfx. Removed commented out code for g_nvgfx_totalframebufs init. Replaced hard-coded width/height constants in gfx with the width/height fields.
2017-12-27 18:52:53 -05:00
yellows8
e128fd58f1
Disabled nvmap objs which aren't used afterwards which don't use an input_offset for MapBufferEx. Moved bufferProducerGraphicBufferInit() code outside of the loop and added a comment. Only use kind 0xdb for MapBufferEx framebuf init in the loop, since the other kind is unrelated to framebuf.
2017-12-27 18:52:53 -05:00
yellows8
a730cf977f
Added bufferProducerRect for crop. Updated a resolution comment and added a comment for crop.
2017-12-27 18:52:53 -05:00
yellows8
a814c79827
Properly setup the data in bufferProducerGraphicBuffer via a struct. Setup size/width/height fields properly in bufferProducerGraphicBuffer, instead of hard-coding.
2017-12-27 18:52:53 -05:00
yellows8
917036cec6
Updated bufferProducerGraphicBuffer struct.
2017-12-27 18:52:53 -05:00
yellows8
dd4a9bbca6
Added bufferProducerGraphicBuffer struct. Parse the bufferProducerRequestBuffer parcel reply properly. Renamed bufferProducerTegraBufferInit to bufferProducerGraphicBufferInit + renamed the enum for it, and handle input/output for it properly. Properly return rc in bufferProducerGraphicBufferInit().
2017-12-27 18:52:53 -05:00
yellows8
c0780f5267
Fixed flickering.
2017-12-27 18:52:53 -05:00
yellows8
e871eb9695
Added gfxGetFramebufferSize().
2017-12-27 18:52:53 -05:00
yellows8
c80096e5cc
Imported an enum from Android for use with bufferProducerConnect/bufferProducerDisconnect.
2017-12-27 18:52:53 -05:00
yellows8
c921c86922
Updated a comment.
2017-12-27 18:52:53 -05:00
yellows8
3477fff5ee
Improved fence handling in _gfxDequeueBuffer(). Clear g_gfx_DequeueBuffer_fence in _gfxInit().
2017-12-27 18:52:53 -05:00
yellows8
824dadd291
Added better code for gpfifo handling which is disabled, currently broken with the data written into the gpfifo-data mem. Updated nvgfxEventWait(). Load the classnum for nvioctlChannel_AllocObjCtx() from gpu_characteristics. Added disabled code for gpfifo in gfx.c + added a comment.
2017-12-27 18:52:53 -05:00
yellows8
2a26b50459
Removed commented-out code for g_gfxQueueBufferData fence, and added a comment for it.
2017-12-27 18:52:53 -05:00
yellows8
edf2d1417a
Handle nvioctlChannel_ZCullBind() properly.
2017-12-27 18:52:53 -05:00
yellows8
0e1a90a7a9
Changed the RGBA8 define to RGBA8_MAXALPHA and adjusted it + moved it into gfx.h. Added RGBA8 define to gfx.h which is the same as the original except it now uses an input alpha param. Added a comment to gfx.c regarding width/height.
2017-12-27 18:52:53 -05:00
yellows8
945615ece3
Updated nvgfxEventWait() and nvioctlNvhostCtrl_EventWait(). Updated _gfxDequeueBuffer().
2017-12-27 18:52:53 -05:00
yellows8
2db9a5fdb9
Imported enum for use with bufferProducerQuery(). Changed gfxGetDisplayResolution to static with adjusted name and removed it from the .h. Disabled _gfxGetDisplayResolution. Added disabled get-{resolution/width/height} code. Check fence->is_valid when calling nvgfxEventWait(), with the commented out line.
2017-12-27 18:52:52 -05:00
yellows8
4c1c1ee14b
Parse bufferProducerConnect() parcel reply properly. Store the output QueueBufferOutput from bufferProducerConnect/bufferProducerQueueBuffer in gfx.c.
2017-12-27 18:52:52 -05:00
yellows8
63016db072
Updated bufferProducerFence. Updated nvgfxEventWait. Added better initialization validation to binder, etc. In bufferProducerDequeueBuffer(), use sizeof instead of a constant for the fence size. Updated g_gfxQueueBufferData. Fixed validation in _gfxGetNativeWindowID. Other changes.
2017-12-27 18:52:52 -05:00
yellows8
428d0373a8
Fixed output ptr for parcelReadData(). Pass fence ptr to _gfxDequeueBuffer() in gfxSwapBuffers().
2017-12-27 18:52:52 -05:00
plutoo
eec87a6ccf
Rename account -> acc
2017-12-27 18:52:52 -05:00
yellows8
6569775e7d
Added parcelReadFlattenedObject/parcelWriteFlattenedObject. Parse bufferProducerDequeueBuffer output properly. Handle bufferProducerQueueBuffer input/output properly. Updated vsync handling. Added a 3s delay for gfx-init. Updated g_gfxQueueBufferData, etc.
2017-12-27 18:52:52 -05:00
plutoo
998980843f
Fix gfxWaitForVsync
2017-12-27 18:52:52 -05:00
plutoo
8485facf99
Parcel refactor again
2017-12-27 18:52:52 -05:00
plutoo
12b2ba6eb6
Revert "Refactoring parcel a little, parcelTransact needs more work"
...
This reverts commit e97807ef293dc9456b5828235f4dee7716e8a7bc.
2017-12-27 18:52:52 -05:00
plutoo
806a75c841
More refactoring, renamed graphicsproducer -> bufferproducer
2017-12-27 18:52:52 -05:00
plutoo
7f2135754a
Refactoring parcel a little, parcelTransact needs more work
2017-12-27 18:52:52 -05:00
plutoo
1cf6bb2056
Moved binder.c to gfx, refactored
2017-12-27 18:52:52 -05:00
plutoo
2fd13b5556
Moving ioctls to separate files
2017-12-27 18:52:39 -05:00
yellows8
41cd7bb725
Exit gfx properly. Adjusted the name for _gfxproducer_InterfaceDescriptor.
2017-12-27 18:50:16 -05:00
yellows8
e3d0c849ad
Implemented {vi/gfx}GetDisplayResolution. Moved gfxGetFramebufferDisplayOffset into the .h as static inline. Added more comments to gfx.h.
2017-12-27 18:50:16 -05:00
yellows8
33c5181237
Added gfxSetDoubleBuffering(). Adjusted g_gfxCurrentBuffer updating. Imported console from libctru with adjustments for Switch.
2017-12-27 18:50:16 -05:00
yellows8
94809a1e15
Return pixel offset instead of byte offset in gfxGetFramebufferDisplayOffset().
2017-12-27 18:50:16 -05:00
yellows8
353faed782
Added x/y bounds checking to gfxGetFramebufferDisplayOffset().
2017-12-27 18:50:16 -05:00
yellows8
8f459cf958
Use u32 for gfxGetFramebuffer() width/height. Added gfxGetFramebufferDisplayOffset().
2017-12-27 18:50:16 -05:00
yellows8
24adf197af
Moved the single-framebuf-size field from gfx into nvgfx. Use this field instead of hard-coded size in nvgfx, in some cases. Other adjustments.
2017-12-27 18:50:16 -05:00
yellows8
7c826e57e8
Changed g_nvgfx_totalframebufs to 2. Removed the gfxFlushBuffers() call in _gfxInit() and added a dcache-flush in nvmapobjInitialize(). Moved the nvgfxGetFramebuffer() call. Added a delay in _gfxInit(). Changed the initial g_gfxCurrentBuffer value, which is then updated by _gfxDequeueBuffer() later. Adjusted the code for updating g_gfxCurrentBuffer. For the gfxproducerDequeueBuffer() call, changed the value for the async param from 1 to 0.
2017-12-27 18:50:16 -05:00
yellows8
34e22c82df
Use total-framebufs value from a global field instead of hard-coding it.
2017-12-27 18:50:15 -05:00
yellows8
0a7de00fe0
Use all 4 buffers with g_gfxCurrentBuffer.
2017-12-27 18:50:15 -05:00
yellows8
283fdabbf6
Renamed gfxproducerBufferInit to gfxproducerTegraBufferInit. Use an enum for the binder 'code' for this. Added comments for the BufferInitData structure.
2017-12-27 18:50:15 -05:00
yellows8
fbce1e8029
Use the output buffer value from gfxproducerDequeueBuffer() with gfxproducer calls. Set g_gfxCurrentBuffer in _gfxDequeueBuffer() with the output buffer value. Removed a comment.
2017-12-27 18:50:15 -05:00
yellows8
ee3a74fa60
nvgfx event adjustments. Fixed loop interation check for running buffer init. Disabled updating a field in g_gfxQueueBufferData with _gfxQueueBuffer().
2017-12-27 18:50:15 -05:00
yellows8
a85ee0458d
Implemented interface for accessing framebuf. Adjustments for gfx init/exit. Removed 0x77 memset for framebuf in nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
0d3da1d900
Removed outdated parcel-error comments.
2017-12-27 18:50:15 -05:00
yellows8
b577367011
Implemented nvioctlNvmap_FromID() and nvioctlNvmap_GetID().
...
Added PARCEL_LOGGING define in parcel.c.
Fixed the 'code' value used in gfxproducerQueueBuffer().
Moved some gfxproducer init into nvgfx.
Moved some nvgfx event init into nvgfxEventInit().
Updated the code using gfxproducerBufferInit() for setting the nvmap-handles.
Disabled a nvQueryEvent() call which now fails.
Other changes.
The setup framebuf/windowbuf is now displayed.
2017-12-27 18:50:15 -05:00
yellows8
24fa9b0f4b
More nv event stuff. Updated comment regarding NVHOST_IOCTL_CTRL_GET_CONFIG.
2017-12-27 18:50:15 -05:00
yellows8
79fd32f0c7
More nvgfx event stuff, still broken.
2017-12-27 18:50:15 -05:00
yellows8
d35986d773
Added nvioctlNvhostCtrl_EventRegister().
2017-12-27 18:50:15 -05:00
yellows8
0f0a4cd0fe
Added nvioctlNvhostCtrl_EventSignal and nvioctlNvhostCtrl_EventWait. More nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
8d68cb401f
Yet another nvmap obj added to nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
cc22a5e92a
Another nvmap obj.
2017-12-27 18:50:15 -05:00
yellows8
453e8b8303
More nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
e9dbf4d18f
More nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
9e10c02c88
Fixed kind value for last *MapBufferEx() loop interation.
2017-12-27 18:50:15 -05:00
yellows8
bccd0df4ae
More nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
2d3887fb0c
Implemented more nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
1908b29708
Added nvioctlChannel_SubmitGPFIFO().
2017-12-27 18:50:15 -05:00
yellows8
eeb43bae97
Added nvioctlChannel_ZCullBind(). Added more nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
017770b509
More ioctls + nvgfx init. Added nvmapobjSetup().
2017-12-27 18:50:15 -05:00
yellows8
31b945dff9
Store nvmap obj state inside of a dedicated obj struct + funcs for using that, etc.
2017-12-27 18:50:15 -05:00
yellows8
20ec051ca4
Implemented nvioctlNvhostCtrlGpu_GetL2State().
2017-12-27 18:50:15 -05:00
yellows8
690b8be39a
Implemented setting offset in nvioctlNvhostAsGpu_MapBufferEx(). Fixed broken MapBufferEx usage in nvgfx init for the second nvmap obj.
2017-12-27 18:50:15 -05:00
yellows8
bf65d6734a
Added note regarding nvQueryEvent.
2017-12-27 18:50:15 -05:00
yellows8
f6ab87e309
Added an ioctl usage comment to nvgfx.
2017-12-27 18:50:15 -05:00
yellows8
cfffdcc444
Setup the second nvmap obj.
2017-12-27 18:50:15 -05:00
yellows8
0cc65093e3
Implemented the ioctls which were skipped during nvgfx init. nvgfx init adjustments. Fixed ioctl direction define for nvioctlNvhostAsGpu_MapBufferEx, this now works properly.
2017-12-27 18:50:15 -05:00
yellows8
704ead0d5f
Added more nvioctls + more nvgfx init.
2017-12-27 18:50:15 -05:00
yellows8
619a9a378c
Added nvgfx.
2017-12-27 18:50:14 -05:00
yellows8
0c19c1738c
Added nvioctl.
2017-12-27 18:50:14 -05:00
yellows8
1fccd4a1bb
Improved handling for appletNotifyRunning().
2017-12-24 23:31:58 -05:00
yellows8
ec594bfbcf
Added _appletGetOperationMode() and _appletGetPerformanceMode(). In appletInitialize(), use _appletGetOperationMode and _appletGetPerformanceMode(). Also use _appletGetCurrentFocusState() in appletInitialize() with a global field even for non-application-type. Added _appletSetOperationModeChangedNotification/_appletSetPerformanceModeChangedNotification and use these in appletInitialize(). Added appletGetOperationMode(), appletGetPerformanceMode(), and appletGetFocusState(), which load from cached state fields. Handle notifications in appletMainLoop(). Added appletOperationMode enum. Imported applet hooking from libctru.
2017-12-22 03:26:26 -05:00
plutoo
146aad7f55
Fixes for 1.0.0, correcting NRO aslr base
2017-12-22 02:49:32 -05:00
yellows8
a0ebe68f54
Implemented actual args handling in __system_initArgv().
2017-12-11 19:18:45 -05:00
yellows8
ebf81ab6ff
Imported *MainLoop() from libctru.
2017-12-07 18:54:07 -05:00
plutoo
cddec5c754
More pm
2017-12-05 12:30:33 +01:00
plutoo
e5d0821678
Implement pm:dmnt
2017-12-05 12:30:21 +01:00
plutoo
12410fc44a
Merge pull request #22 from shinyquagsire23/hid-sharedmem-impl
...
HID Shared Memory - Structures + key held/down/up implementation
2017-12-02 23:21:10 +01:00
yellows8
d24671b306
Implemented applet initialization for application-type which was missing. Added svcResetSignal.
2017-12-01 23:15:40 -05:00
yellows8
7da25ba40f
Updated fs_dev.h comments, etc. Fixed _fsdevUnmountDeviceStruct(). Added fsdevCommitDevice(). Check whether sdmc is already mounted in fsdevInit().
2017-11-30 13:00:47 -05:00
yellows8
0c5efe5f9c
Added a comment in fs_dev.h. Adjusted fs.h formatting, etc. Added support for mounting SaveData.
2017-11-30 01:58:21 -05:00
yellows8
a405bc4827
Added account. Added u128 type to types.h.
2017-11-29 23:31:18 -05:00
yellows8
cb123dd579
Imported initArgv from libctru. Load __system_argc/__system_argv in crt0. Enabled the __system_argc/__system_argv code in fsdev.
2017-11-29 21:30:40 -05:00
yellows8
99e4a61492
Moved fsdev_dir_t/*MAGIC into the .h. Removed fsdevWriteSafe(). Added fsdevMountDevice/fsdevUnmountDevice to the .h. Moved the code for fsdevUpdateDevices() into fsdevInit(). Changed _fsdevMountDevice() to static. Added fsdev_read_safe(). Automatically calll fsdev_{read/write}_safe() when required, instead of using fsdevWriteSafe().
2017-11-29 19:40:21 -05:00
yellows8
49959e4e37
FS adjustments + fixed fsFsGetFreeSpace/fsFsGetTotalSpace. In fs_dev: fixed cwd handling, unmounting adjustments, use fsFsGetEntryType(), updated fsdev_dirnext(), and properly handle fsdev_statvfs().
2017-11-29 01:47:11 -05:00
yellows8
02526c920e
Updated comments for fsdevWriteSafe().
2017-11-27 18:43:02 -05:00
yellows8
59880e9488
Removed output bytes_written for fsFileWrite() since the command doesn't actually return that. In fsdev_open(), set the FS_OPEN_APPEND flag when opening for writing. Adjusted file-creation handling in fsdev_open().
2017-11-27 17:40:49 -05:00
plutoo
40dd1adc23
Mutex fix
2017-11-26 20:45:55 +01:00
plutoo
de52de8e88
Fixes for 1.0.0
2017-11-26 20:44:42 +01:00
yellows8
96010d3c75
Use a global field for default fsdev device. Added 'id' to fsdev_fsdevice struct. Adjusted fsdev mounting handling, and verify that the specified device name isn't already used. In _fsdevUnmountDeviceStruct(), call RemoveDevice() with ':' appended to name. Adjusted fsdevInit(). Adjusted comments for fsdevWriteSafe(). In fsdev_rename(), throw an error if the two paths don't use the same device.
2017-11-26 00:55:10 -05:00
yellows8
9703ddbf3e
Fixed the stack_sz used for stack_top in threadCreate(). t->stack_sz is uninitialized at the time stack_top is set, hence this was causing memory corruption in some cases.
2017-11-25 12:54:42 -05:00
yellows8
cca73c47fa
__thread fix by fincs.
2017-11-25 12:02:25 -05:00
yellows8
d7e611f9f4
fs_dev adjustments: disabled broken __thread, handle default device in fsdevFindDevice(), and check for fsdevFindDevice() failure in fsdev_fixpath(). Added a comment in _fsdevUnmountDeviceStruct(). Removed the return at the start of fsdev_open().
2017-11-24 22:30:44 -05:00
yellows8
25f2839c75
Imported util/utf from libctru. Updated appInit/appExit. Fs adjustments + implemented IDirectory. Imported a modified version of sdmc_dev from libctru as fs_dev, this currently isn't usable.
2017-11-23 15:00:56 -05:00
yellows8
0bc5be0708
Fixed session-close error when using APPLET_TYPE_LibraryApplet.
2017-11-23 01:53:45 -05:00
shinyquagsire23
63f91dd215
Add hidTouchCount, hidTouchRead, KEY_TOUCH. Header tweaks.
2017-11-22 17:09:37 -07:00
shinyquagsire23
aa458e59f9
Add hidGetControllerLayout
2017-11-22 17:09:32 -07:00