yellows8
00d0174c0a
Removed the buffer memset from tmemCreateFromMemory, tmemCreateFromMemory should not write to the user buffer.
2018-12-23 22:18:24 -05:00
yellows8
477058d28a
Added SwkbdType. Specifically set the type to SwkbdType_Normal in the Preset funcs which use it. Set type properly on 5.0.0+ for swkbdConfigMakePresetDownloadCode. Improved swkbd docs, including documenting what fields are set by the Preset funcs.
2018-12-23 01:26:00 -05:00
yellows8
56b767efbf
Implemented actual swkbd TextCheck support. Moved strbuf alloc from _swkbdProcessOutput into swkbdShow(), so that it can be used for TextCheck. Added validation for the out_string* params in swkbdShow(). The out_string buffer is now cleared before calling _swkbdProcessOutput.
2018-12-23 00:39:06 -05:00
yellows8
e8482f7581
Improved SwkbdArgV0, and updated swkbd docs.
2018-12-22 19:26:38 -05:00
yellows8
e892e91360
Moved swkbd version init into swkbdCreate, and use the newer swkbd versions. Added swkbdConfigMakePreset*(). Changed unk_x3e0 to u32, and various other adjustments.
2018-12-22 16:50:20 -05:00
yellows8
901dc817e7
Handle <=3.0.0 swkbd versions, and filled in the arg struct. Handle the workbuf. Added a param to swkbdCreate and added swkbdClose. Added swkbdConfigSet*Text and swkbdConfigSet*OptionalSymbolKey. Various other changes.
2018-12-22 11:51:51 -05:00
yellows8
854e3058ba
Replaced appletSetMediaPlaybackStateForApplication with appletSetMediaPlaybackState, which now supports non-Application. Added _appletCmdInU8/_appletCmdInBool, the latter is now used by appletSetMediaPlaybackState.
2018-12-21 11:33:56 -05:00
Cpasjuste
8be5cad7f8
Added appletSetMediaPlaybackStateForApplication
2018-12-21 10:30:28 -05:00
yellows8
59382cab1f
Added LibnxError_LibAppletBadExit, which is now used in swkbd.
2018-12-20 21:08:36 -05:00
yellows8
58cbacc76f
Handle the output swkbd storage.
2018-12-20 20:49:50 -05:00
yellows8
32f93bef5d
Added initial swkbd impl.
2018-12-20 13:06:20 -05:00
yellows8
d821185e3d
Added buffer param to appletCreateTransferMemoryStorage and appletCreateHandleStorageTmem, tmemCreateFromMemory will now be used with this when buffer is not NULL.
2018-12-20 12:59:59 -05:00
yellows8
2d5000ba57
Added libappletPushInData. Moved common storage creation+writing code into 1 func, in libapplet.c.
2018-12-20 12:57:35 -05:00
fincs
252e8ef9ff
Add tmemCreateFromMemory
2018-12-20 16:12:22 +01:00
yellows8
0bab302c3b
Added libappletRequestHomeMenu and libappletRequestJumpToSystemUpdate.
2018-12-19 20:37:19 -05:00
yellows8
6e10568589
Added applets/libapplet. Added appletSetThemeColorType and appletGetThemeColorType.
2018-12-19 19:49:57 -05:00
fincs
f448b0fbad
nvioctlMap_Param -> nvioctlNvmap_Param
2018-12-19 19:33:31 +01:00
fincs
5039c0815e
console_sw: Switch to PIXEL_FORMAT_RGB_565, optimize scrollWindow
2018-12-19 19:33:31 +01:00
fincs
e7c58fe59e
Deprecate old gfx API; scheduled for removal at a later date.
2018-12-19 19:33:31 +01:00
fincs
1b18a3b056
console_sw: Use Framebuffer object instead of old gfx api. Moved RGBA8/_MAXALPHA to framebuffer.h.
2018-12-19 19:33:31 +01:00
fincs
f37518d848
Add framebufferMakeLinear - linear shadow buffer support
2018-12-19 19:33:31 +01:00
fincs
dbc960a24f
NWindow: Internal rework to fix resource leak in nwindowReleaseBuffers
2018-12-19 19:33:31 +01:00
fincs
3a77a7ace8
Introduce nwindowGetDefault
2018-12-19 19:33:31 +01:00
fincs
f381066a43
Add NvColorFormat enum
2018-12-19 19:33:31 +01:00
fincs
b1600c9add
gfxGetFramebufferHandle: return id instead of handle
2018-12-19 19:33:31 +01:00
fincs
d87f9541d1
NvMap: added support for loading remote NvMap objects (from id)
2018-12-19 19:33:31 +01:00
fincs
72a48f6598
Add nvioctlMap_Param and NvMapParam enum
2018-12-19 19:33:31 +01:00
fincs
260f34fa4e
NWindow: add several new functions:
...
- nwindowIsValid
- nwindowGetDimensions
- nwindowSetDimensions
- nwindowSetCrop
- nwindowSetTransform
- nwindowIsConsumerRunningBehind
2018-12-19 19:33:31 +01:00
fincs
bf43284c9f
Misc code style fixes, rename NvGraphicBuffer::layers to planes
2018-12-19 19:33:31 +01:00
Michael Scire
798d8ff50c
Add vi wrappers for system StrayLayer usage.
2018-12-19 19:33:31 +01:00
fincs
4879937946
Introduce Framebuffer, experimental wrapper object around a framebuffer queue for use by software rendering clients
2018-12-19 19:33:31 +01:00
fincs
62aa8e8b23
NWindow: add nwindowReleaseBuffers, which is also done automatically on Close
2018-12-19 19:33:31 +01:00
fincs
412c84d5f9
Rename NvInfo to NvGpu
2018-12-19 19:33:31 +01:00
fincs
c5f8275978
Rename nvMapFree to nvMapClose for consistency reasons
2018-12-19 19:33:31 +01:00
fincs
a9cbd9116a
Introduce NWindow, an experimental replacement for the GFX API
2018-12-19 19:33:31 +01:00
fincs
b188f5fb33
gfx.c: fix two single-line bugs
2018-12-19 19:33:31 +01:00
fincs
2af9531f5b
Const correctness in bqCancelBuffer
2018-12-19 19:33:31 +01:00
fincs
ec6d878d12
Major buffer producer refactor, see details:
...
- Introduced NativeHandle (display/types.h)
- Introduced NvGraphicBuffer (nvidia/graphic_buffer.h)
- Renamed BqQueueBufferInput to BqBufferInput
- Renamed BqQueueBufferOutput to BqBufferOutput
- BqGraphicBuffer is now defined and marshalled in a way that matches
official sw more closely, with a pointer to a NativeHandle instead of
inline flattened data and other miscellaneous junk
- Const correctness fixes
- bqSetPreallocatedBuffer now has flattening logic for BqGraphicBuffer
- bqRequestBuffer doesn't have this logic for now, passing anything other
than NULL will fail
- gfx.c updated to use the refactored buffer producer
2018-12-19 19:33:31 +01:00
fincs
d717507541
display/parcel.h: Const correctness fixes
2018-12-19 19:33:31 +01:00
fincs
ae77cbea97
gfx/hid/irs/nv/vi: changes related to sysmodule users, see details:
...
- Removed hard dependency on applet
- Allow appletGetAppletResourceUserId to fail (using default zero in that case)
- nvInitialize uses nvdrv:s for AppletType_None
- gfx now uses weak global __nx_gfx_vi_service_type for the ViServiceType passed to viInitialize
2018-12-19 19:33:31 +01:00
fincs
3a31df429e
gfx: finally get rid of nvgfx, replaced with an NvMap object
2018-12-19 19:33:31 +01:00
fincs
5fe01c065a
Major refactor and redesign of nvidia wrapper objects, see details:
...
- NvBuffer replaced with NvMap, which only manages the creation of
raw nvmap objects. Users must map these objects manually to
address spaces.
- nvAddressSpaceBindToChannel removed.
- nvChannelSetNvmapFd is now automatic and has been removed.
- Nv3DContext, NvCmdList, NvErrorNotifier, NvGpfifo, NvGpu and
NvZcullContext have all been removed.
- Introduced NvGpuChannel, which provides all functionality that was
part of said removed objects.
- Other miscellaneous changes and fixes.
2018-12-19 19:33:31 +01:00
fincs
85a20f43dc
NvAddressSpace: major overhaul, see details:
...
- Now contains a 'page_size' field, used throughout the functions
- Removed NvPageSize
- Removed nvAddressSpaceReserveAlign/AtFixedAddr/Full
- Added nvAddressSpaceAlloc/AllocFixed/Free (replacing above functions)
- Removed nvAddressSpaceMapBuffer/UnmapBuffer
- Added nvAddressSpaceMap/MapFixed/Modify/Unmap (replacing above functions)
- Adapted NvBuffer/NvGpu to use the new functions
2018-12-19 19:33:31 +01:00
fincs
22499d8ddf
nvhost-as-gpu.c: fix some mistakes, add nvioctlNvhostAsGpu_FreeSpace, add NvAllocSpaceFlags, add NvMapBufferFlags_Modify
2018-12-19 19:33:31 +01:00
fincs
f0de0c869d
Added nvInfoGetGpuCharacteristics
2018-12-19 19:33:31 +01:00
yellows8
9f63f29988
Use eventActive for g_appletLibraryAppletLaunchableEvent. Fixed _appletWaitLibraryAppletLaunchableEvent, and set rc to eventWait ret in _appletWaitLibraryAppletLaunchableEvent. Added appletHolderWaitInteractiveOut.
2018-12-19 13:00:40 -05:00
yellows8
ced4f16ee1
Fixed+enabled appletSetTerminateResult and added it to applet.h.
2018-12-18 21:45:13 -05:00
yellows8
d8683ea188
Added appletHolderPopOutData and appletHolderPopInteractiveOutData.
2018-12-18 20:07:29 -05:00
yellows8
a6e1413712
Added storage pushing for AppletHolder. Verify that the input storage is initialized in _appletCmdInStorage().
2018-12-18 19:37:07 -05:00
yellows8
5874a272d0
Added appletHolderJoin and appletHolderGetExitReason.
2018-12-18 19:03:22 -05:00
yellows8
bca797afc2
Use LibraryAppletLaunchableEvent and handle LibraryApplet self-creation. Implemented LibraryApplet starting.
2018-12-17 20:23:43 -05:00
yellows8
8f22e9e213
Initial impl for LibraryApplet creation.
2018-12-17 12:16:46 -05:00
natinusala
c8f732fda8
Add missing applet focus states and handling modes
2018-12-17 11:03:49 -05:00
fincs
beeeb057d2
Finishing touches to user-mode synchronization primitives
2018-12-17 16:06:23 +01:00
fincs
21f69bfa57
Add, document, and use MAX_WAIT_OBJECTS
2018-12-17 16:06:23 +01:00
fincs
33dad9b893
UTimer: use an actual 'started' flag instead of a magic tick value
2018-12-17 16:06:23 +01:00
fincs
8d813ee666
Generalize Waitable, moving UEvent/UTimer specific code into a vtable.
2018-12-17 16:06:23 +01:00
fincs
1d14cad1cf
Separate WaiterNode initialization again, which is now done in waitImpl
2018-12-17 16:06:23 +01:00
fincs
a23d38ac77
Move waiterForXyz() functions to Xyz's header file. Implement waiter for (kernel mode) Event, and use it instead.
2018-12-17 16:06:23 +01:00
fincs
c9ee12ce20
Simplify WaiterNode, make it private. Improve UEvent autoclear logic.
2018-12-17 16:06:23 +01:00
fincs
47b786bcea
Synchronize eventWait and _waitLoop code
2018-12-17 16:06:23 +01:00
fincs
2e76b2b150
waitN: Fix index bug when there are handles before UEvents in the array
2018-12-17 16:06:23 +01:00
fincs
3c9a84fe68
wait.c: Fix no-timeout handling; use new kernel error result codes
2018-12-17 16:06:23 +01:00
fincs
9144d78031
Stylefixes, part 1
2018-12-17 16:06:23 +01:00
plutooo
eb7d835a79
wait: Rename UsermodeEvent and UsermodeTimer
2018-12-17 16:06:23 +01:00
plutooo
376add30a4
wait: Introduce wait for raw handles too
2018-12-17 16:06:23 +01:00
plutooo
68b4d323a0
utimer: Add TimerType_OneShot
2018-12-17 16:06:23 +01:00
plutooo
0c0261bf2f
wait: Improve timer calculation, thanks derrek
2018-12-17 16:06:23 +01:00
plutooo
b38983c1b7
wait: Fix a race
2018-12-17 16:06:23 +01:00
plutooo
eb01ccd097
wait: Doxygen
2018-12-17 16:06:23 +01:00
plutooo
6a6f654526
wait: Final implementation
2018-12-17 16:06:23 +01:00
plutooo
03ddd464a0
arm: Rename armTickToNs(), etc
2018-12-17 16:06:23 +01:00
plutooo
26b17cdae5
kernel: Review comments (move to private interface to private headers, atomics)
2018-12-17 16:06:23 +01:00
plutooo
9da123f916
wait: Check for disabled timer
2018-12-17 16:06:23 +01:00
plutooo
c6fc6a41e5
wait: Bug-fixes and lock-free utimer stop/start
2018-12-17 16:06:23 +01:00
plutooo
370d78453e
kernel: Introduce utimer, uevent, and waitN
2018-12-17 16:06:23 +01:00
yellows8
42e7cf44cb
Implemented applet IPC code for pushing storages/objects. Added appletPushToGeneralChannel().
2018-12-16 18:16:01 -05:00
yellows8
f61e9237e6
Added accountGetPreselectedUser.
2018-12-15 21:50:27 -05:00
yellows8
41e75d0b7d
Removed AppletStorage.isHandleStorage since it's not usable for storages not created by the current process. Hence, appletStorageGetSize no longer supports HandleStorage.
2018-12-15 18:11:21 -05:00
yellows8
10826dda13
Added appletPopLaunchParameter.
2018-12-15 17:31:36 -05:00
yellows8
d65c2ec94b
Added support for tmem with AppletStorage, and added HandleStorage support. applet IPC improvements.
2018-12-15 16:34:23 -05:00
yellows8
1077cc2b46
Implemented AppletStorage. Various IPC improvements in applet.c, etc.
2018-12-13 22:48:48 -05:00
yellows8
8b86e4ecb8
Use domains for applet.
2018-12-12 21:13:01 -05:00
Michael Scire
3cff199b42
Add remaining pm:shell services, address issues
2018-12-10 00:12:46 +01:00
Michael Scire
0fad4244da
Add ro:dmnt, ldr:ro.
2018-12-10 00:12:46 +01:00
Michael Scire
8e1ba23b83
pm: Add remaining pm:dmnt services
2018-12-10 00:12:46 +01:00
Michael Scire
0a92b0eb07
ns: Implement all of ns:dev
2018-12-10 00:12:46 +01:00
plutooo
bfad4d4557
Fix whitespace
2018-12-09 19:07:39 +01:00
plutooo
c328a74f71
Add fsIsExFatSupported()
2018-12-09 17:06:47 +01:00
Lioncash
69a98dc0cb
kernel/svc: Correct SVC instruction values for svcMapPhysicalMemory and svcUnmapPhysicalMemory
...
0x2A corresponds to svcFlushEntireDataCache, while 0x2B corresponds to
svcFlushDataCache.
2018-12-07 12:19:16 +01:00
Michael Scire
40bccd7838
Add svcTerminateDebugProcess
2018-12-06 13:18:06 +01:00
yellows8
bc2dff0361
Added hidAcquireNpadStyleSetUpdateEventHandle.
2018-12-02 16:48:59 -05:00
Michael Scire
2a831c6196
Fix struct definition for splSetConfig
2018-12-01 21:29:41 +01:00
yellows8
ee066a27ee
Implemented usbhs endpoints, other adjustments. Updated field name in UsbHsXferReport. Added defines in usb.h from libusb.
2018-11-30 20:13:58 -05:00
yellows8
31cea3a6b6
Implemented usbhs control transfers. Fixed eventCtrlXfer init. Updated a field name in UsbHsXferReport.
2018-11-30 20:13:58 -05:00
yellows8
2049ff081d
Updated usbhs comments and store the interface ID in UsbHsClientIfSession. Added: usbHsIfSetInterface, usbHsIfGetInterface, usbHsIfGetAlternateInterface, usbHsIfGetCurrentFrame, and usbHsIfResetDevice.
2018-11-30 20:13:58 -05:00
yellows8
83dfc58adb
Moved interface-specific data from UsbHsInterface into UsbHsInterfaceInfo. Added usbHsAcquireUsbIf/usbHsIfClose and the related structs.
2018-11-30 20:13:58 -05:00
yellows8
f1ba199d1c
Initial usbhs support.
2018-11-30 20:13:58 -05:00
yellows8
725ac9f00a
Moved usb code specific to usbds into seperate .c/.h.
2018-11-28 17:34:53 -05:00
yellows8
3726eb8950
Use PACKED for _usbDsGetSession resp, required for domains. Use domains for usbds, with changes from @SciresM.
2018-11-28 16:40:45 -05:00
yellows8
7ae659c2cb
Handle the output u8 in _usbDsGetSession, without using it in the callers.
2018-11-28 15:03:06 -05:00
yellows8
36bed9f8fc
Added support for getting file timestamps via 3.0.0+ fsFsGetFileTimeStampRaw, *stat() timestamps are now set when fsFsGetFileTimeStampRaw is successful. This is now used in fsdev_open() for supporting fstat. The sysver is now checked in fsFsCleanDirectoryRecursively(). Closes #204 .
2018-11-20 14:22:19 -05:00
pixel-stuck
a7577f7b56
Add pcvSetVoltageEnabled and pcvGetVoltageEnabled ( #208 )
...
* Add pcvSetVoltageEnabled and pcvGetVoltageEnabled
2018-11-19 10:37:59 -05:00
yellows8
8767ea798b
Determine whether to use AUDREN_REVISION_1-4 via the sysver, instead of hard-coding it for the 3.0+ rev. Updated comments and added AUDREN_REVISION_5/AUDREN_REVISION_6 defines.
2018-11-17 11:43:24 -05:00
yellows8
e7117a7903
Added enum for hidSetNpadJoyHoldType. Improved hid docs. Use hidSetNpadJoyHoldType during hid init/exit. Closes #206 .
2018-11-15 21:36:34 -05:00
yellows8
12ee6e502e
Fixed register corruption in crt0 introduced by the exception commit. Only handle exceptions when __libnx_exception_handler is defined by the user, and updated comments.
2018-11-14 20:55:17 -05:00
Michael Scire
4e4d5ef320
fatal: Implement fatalWithContext
2018-11-14 19:52:40 -05:00
Michael Scire
e943eb6ea5
Add fs gamecard attribute retrieve commands
2018-11-14 19:52:40 -05:00
Michael Scire
7b7bd9dd9d
Add setsys fatal commands
2018-11-14 19:52:40 -05:00
Michael Scire
5386edef4f
Add gpio wrapper
2018-11-14 19:52:40 -05:00
Michael Scire
dec6f1ffe1
Add i2cOpenSession, i2csessionSendAuto
2018-11-14 19:52:40 -05:00
Michael Scire
3ba8a5aa87
Add lblSwitchBacklightOn and lblSwitchBacklightOff
2018-11-14 19:52:40 -05:00
Michael Scire
8cb9004a2f
Add pcvGetClockRate/pcvSetClockRate
2018-11-14 19:52:40 -05:00
Michael Scire
27936900d0
Add enum for PsmBatteryVoltageState
2018-11-14 19:52:40 -05:00
Michael Scire
94dc8f75f9
Add bpcGetSleepButtonState
2018-11-14 19:52:40 -05:00
Michael Scire
ee55b63f79
Add spsm wrapper.
2018-11-14 19:52:40 -05:00
yellows8
5e69f760fb
Added support for exception-handling.
2018-11-14 16:17:02 -05:00
SciresM
e19765445d
fs: Add fsFsQueryEntry (and fsFsSetArchiveBit helper) ( #202 )
...
* fs: Add fsFsSetArchiveBit
* Add fsdevSetArchiveBit wrapper
2018-11-09 22:03:47 -05:00
natinusala
fd4afacb01
Expose appletSetFocusHandlingMode
2018-11-08 19:27:56 -05:00
yellows8
5a078b1205
Use 6.0.0+ _hwopusDecodeInterleaved cmds.
2018-11-06 23:02:40 -05:00
yellows8
6a8dba4eb4
Added support for hwopus multistream. Minor adjustments in hwopus.h.
2018-11-06 15:10:54 -05:00
yellows8
c99518643c
Use _hwopusDecodeInterleavedWithPerfOld on 4.0.0+. Use the multistream cmdid when a bool flag is set in HwopusDecoder, which is currently not set.
2018-11-06 10:47:09 -05:00
yellows8
b25be27525
Use BufferType_Normal in auddev.
2018-11-05 11:34:30 -05:00
yellows8
a6412e1e3a
Fixed swapped output raw fields in hwopusDecodeInterleaved, and also swapped those in the params.
2018-11-04 20:29:38 -05:00
yellows8
34e99d53c2
Added hwopus.
2018-11-04 18:39:04 -05:00
SciresM
7c2d89dc71
psc: Add PmModule support ( #200 )
...
* psc: Add PmModule support
2018-11-03 21:40:15 -04:00
yellows8
576302444d
Added auddev and AudioDeviceName.
2018-11-02 16:04:09 -04:00
fincs
ede79862fb
Add threadGetCurHandle
2018-10-27 17:34:44 +02:00
yellows8
ccfb1fd4d2
Use Event in applet instead of raw handles.
2018-10-26 14:00:13 -04:00
yellows8
3b0348654e
Use Event in audout/audin instead of raw handles.
2018-10-26 13:41:26 -04:00
yellows8
5dc7505139
Fixed swapped params for svcCreateEvent in eventCreate.
2018-10-26 13:08:45 -04:00
yellows8
49e4e31fcc
Added support for psm StateChangeEvent. Added psmGetBatteryVoltageState. Code style adjustments, use serviceIpc*, etc.
2018-10-26 13:07:10 -04:00
SciresM
ac853db5f0
set:sys: Add GetFirmwareVersion(2) ( #190 )
...
* set:sys: Add GetFirmwareVersion
2018-10-24 17:16:35 -04:00
yellows8
bcddc1ea35
Only allow using video-recording with regular-application, since it's not usable with SystemApplication. Added _appletIsRegularApplication() for this.
2018-10-23 16:23:14 -04:00
tatehaga
b130d96445
barrier implementation using semaphores ( #186 )
2018-10-23 21:19:26 +02:00
yellows8
318562d13b
Init/exit nifm in socketInitialize/socketExit, the user app no longer has to manually handle this when using gethostid/gethostname. Use domains for nifm. Style adjustments in nifm.c.
2018-10-23 14:04:58 -04:00
plutooo
6977cb24f5
virtmem: Fix minor regression
...
We need to fetch alias region to make sure virtmemReserve() avoids returning addresses inside of it
2018-10-23 04:07:01 +02:00
Michael Scire
e942b9cc25
virtmem: Fix stack region mapping on 1.0.0
2018-10-22 22:34:11 +02:00
yellows8
a15c9945a7
Updated comments regarding requirements for using video-recording, etc. Changed appletInitializeGamePlayRecording to (void) since the sysmodule only supports a fixed size.
2018-10-22 13:37:25 -04:00
yellows8
0fb0f67d2e
hidGetControllerConnected -> hidIsControllerConnected
2018-10-22 12:20:28 -04:00
yellows8
0370140c12
Added hidGetControllerConnected() and updated CONTROLLER_P1_AUTO comment.
2018-10-22 12:13:59 -04:00
yellows8
a62e29d5cf
Added support for applet video-recording, currently not usable. In appletExit, only call appletSetFocusHandlingMode when g_appletExitProcessFlag is zero, so that it isn't called twice during proc-exit.
2018-10-21 22:24:54 -04:00
yellows8
cfbc3e9278
Added usbCommsSetErrorHandling, don't throw fatalSimple for usbComms by default.
2018-10-19 12:34:17 -04:00
yellows8
319cc578ca
Fixed swapped params for memalign in jitCreate().
2018-10-17 14:47:14 -04:00
fincs
8e1736c480
Add RandomSeed (14) homebrew ABI key and related handling
2018-10-17 17:17:05 +02:00
yellows8
6a9d194fe3
Added hidGetControllerColors and HidControllerColors. Changed rightColorbuttons to rightColorButtons in HidControllerHeader. Updated CONTROLLER_P1_AUTO comment.
2018-10-16 22:45:44 -04:00
TuxSH
052fb34397
Reduce usage of malloc in select and poll. Fix poll not acceping -1 fds
2018-10-16 18:53:05 -04:00
fincs
fba43b0f10
nvBufferCreate: use separate is_cpu_cacheable/is_gpu_cacheable parameters
2018-10-17 00:32:47 +02:00
Michael Scire
86a25e1edd
Make fsp-ldr use domains
2018-10-16 17:56:39 -04:00
Michael Scire
d67ae02bc5
Add domain support to fsp-srv
2018-10-16 17:56:39 -04:00
yellows8
cde495241c
Added _hidActivateNpad/_hidDeactivateNpad for internal use in hidInitialize/hidExit. Added hidSetNpadJoyHoldType. Added _hidCmdWithInputU64 and _hidCmdWithNoInput.
2018-10-15 12:10:07 -04:00
yellows8
d4277b6d32
Added hidSetSupportedNpadIdType(), which is automatically called during init. Closes #148 , however vibration disable+enable in system-settings is still needed.
2018-10-14 21:47:26 -04:00
yellows8
52686826d1
Added fsdevGetDeviceFileSystem().
2018-10-12 22:13:14 -04:00
yellows8
42d3c32b37
Use FatalType_ErrorReportAndErrorScreen instead of FatalType_ErrorScreen, on pre-3.0.0. FatalType_ErrorScreen is only available with 3.0.0+, this fixes a regression where using fatalSimple on pre-3.0.0 caused a system hang.
2018-10-11 15:41:05 -04:00
SciresM
347e3b3156
Refactor usb:ds, add 5.0.0+ support to usbComms. ( #181 )
...
* Refactor usb:ds, add support for 5.0.0+. Closes #109 .
2018-10-11 15:35:22 -04:00
Samuel P
74ebf370dd
add an exit request hook type, allow to delay exit ( #183 )
...
* add an exit request hook type, allow to delay exit
* appletMainLoop: return false on exit request msg
2018-10-09 11:04:33 -04:00
Thog
8178c0fa45
_socketDeserializeHostent: fix usage of uninitialized h_name
2018-10-08 21:44:30 -04:00
fincs
420d5d4e61
C11 thread support: address standard compilance issues
...
Also fixes #158
2018-10-06 22:00:31 +02:00
fincs
1563df3921
Refactor console device, see details:
...
- Added ConsoleRenderer interface, which abstracts all relevant
operations needed to set up and write characters to a text mode display
- ConsoleFont now has tileWidth/tileHeight parameters
- PrintConsole now holds a pointer to a ConsoleRenderer
- Added consoleExit for deinitializing the console
- Added consoleUpdate for updating the display every frame
- Corrected lots of obsolete/outdated comments
- Separated console software renderer into its own file (console_sw.c)
- Added getDefaultConsoleRenderer weak function, for selecting the
default console renderer when none (NULL) is specified in PrintConsole
- Software renderer now takes care of gfxInitDefault/gfxExit
- All these changes are backwards compatible with older programs because:
- gfxInitDefault has double-init protection
- Old programs don't call consoleUpdate/Exit, but their implementation
in the software renderer is identical to what old programs were
already doing anyway
2018-10-06 16:48:03 +02:00
fincs
cc70f19e61
nvservices: increase default tmem size to 8MB
2018-10-06 16:47:53 +02:00
fincs
20204e3c48
NvFence: fix regression on 1.x
2018-10-06 16:47:25 +02:00
yellows8
4fb364060c
Added support for timezones, hence localtime() will now return actual localtime. Added timeToCalendarTimeWithMyRule and TimeCalendarTime/TimeCalendarAdditionalInfo, which are used for timezones support.
2018-10-05 19:59:24 -04:00
yellows8
dc011024f9
Call appletSetFocusHandlingMode in appletExit for AppletType_Application.
2018-10-04 22:19:58 -04:00
yellows8
6d2699b38d
Added pmshellGetApplicationPid().
2018-10-04 18:44:45 -04:00
yellows8
b4859873ec
Added env AppletFlags handling. Don't enter the msg-loop for AppletType_Application when the output from _appletGetCurrentFocusState is already 1. This fixes the hang issue with AppletType_Application where applet init with AppletType_Application was previously done. Moved AppletType_*Application checks into a dedicated function which also checks for AppletType_SystemApplication, hence some of these funcs which didn't check for AppletType_SystemApplication now support it.
2018-10-04 18:06:00 -04:00
yellows8
96dce1a8b6
In __libnx_gtod set errno to EIO instead of EINVAL when __boottime is invalid due to timeGetCurrentTime() failing during time init, and added this to __libnx_clock_gettime. Set errno to ENOSYS in __libnx_clock_settime.
2018-10-03 20:55:58 -04:00
yellows8
0b1b7039ca
Changed the value of TimeType_Default to TimeType_UserSystemClock. When timeGetCurrentTime fails where __nx_time_type isn't TimeType_Default, call it again with TimeType_Default.
2018-10-03 19:48:33 -04:00
yellows8
16bbf3411e
Added automatic process exit handling with applet cmds, see __nx_applet_exit_mode. appletSelfExit is no longer user-accessible, see __nx_applet_exit_mode instead. Added envSetExitFuncPtr. Added disabled _appletSetTerminateResult func.
2018-10-03 19:04:48 -04:00
yellows8
beef09a27e
Removed appletSelfExit and replaced it with the previously disabled _appletSelfExit, now renamed to appletSelfExit.
2018-10-01 18:35:49 -04:00
Vicki Pfau
7a952ab39b
hid: Uncomment function that works now
2018-09-30 16:39:51 -04:00
Vicki Pfau
8add42378b
hid: Add SixAxis sensor support
2018-09-30 16:39:51 -04:00
Vicki Pfau
68b2ad0c1e
hid: Call SetSupportedNpadStyleSet to enable additional Npad features
2018-09-27 16:23:37 -04:00
fincs
eb11e25dc5
Add Module_HomebrewAbi/Loader. Reassign Module_LibnxBinder, as it inadvertently collided with Module_HomebrewLoader.
2018-09-27 21:03:29 +02:00
yellows8
1cc3547990
Removed TODO comment in _hidGetDeviceHandles().
2018-09-27 12:01:58 -04:00
yellows8
1267019d83
Added partial support for hid SixAxisSensor. Moved some hid ipc code into a single func for using cmds with an input u32. Moved handle-generation code from hidInitializeVibrationDevices into a new func, with some improvements + support for SixAxisSensor.
2018-09-26 22:28:40 -04:00
fincs
67886bb3df
nvGpuClose: correct order of operations
2018-09-26 21:08:30 +02:00
leo60228
1c948e2d32
applet: Add appletSelfExit()
2018-09-21 15:55:06 -04:00
plutooo
00287b6a69
Fix pm:dmnt for 5.0.0+
2018-09-18 09:38:17 +02:00
TuxSH
3ecd841ec2
Update svcGetDebugThreadContext, add svcSetDebugThreadContext, implement threadDumpContext
2018-09-18 01:13:55 +02:00
TuxSH
5498d3e0c7
Add ThreadContext, RegisterGroup, svcGetThreadContext3, threadDumpContext
2018-09-18 01:13:55 +02:00
Vicki Pfau
d9e3be27a2
Add psm:GetChargerType
2018-09-18 01:13:24 +02:00
Lioncash
a06bfb74a7
kernel/random: Avoid casting away const in the U8TO32_LITTLE macro
...
This macro is only ever used with const input data within chachaInit(),
which causes -Wcast-qual warnings. This is trivial enough to fix, by
preserving the qualifier within the cast.
2018-09-18 01:13:04 +02:00
fincs
4645ef7004
gfx: Add gfxAppendFence. Remove obsolete comments related to double buffering.
2018-09-16 18:03:35 +02:00
fincs
a50942509f
NvGpfifo: Redesign API to allow for submitting multiple entries at once
2018-09-16 16:35:57 +02:00
plutooo
4a13ee3e62
Fix function name to not cause linker problems due to symbol truncation issues
2018-09-15 08:42:32 +02:00
Lioncash
9ff32e3260
Resolve trivial -Wmissing-prototypes warnings
...
Gets rid of trivial warnings caused by headers not being included into
the relevant .c file, empty parameter lists missing void, or functions
missing a prototype in the header.
2018-09-14 19:07:34 +02:00
fincs
e7ae7ea846
nv wrappers: Handle cacheability settings properly, more details:
...
- nvAddressSpaceMapBuffer now accepts a flags parameter instead of
hardcoding NvMapBufferFlags_IsCacheable.
- NvBufferFlags was incorrect and was thus removed.
- nvBufferCreate/nvBufferCreateRw replaced with nvBufferCreate, with
an extra 'is_cacheable' bool parameter. There's no such thing as a
"read-only/read-write" buffer.
- nvBufferMakeCpuUncached/nvBufferMakeCpuCached were removed.
2018-09-14 18:09:58 +02:00
fincs
f469fa7458
Add nvioctlChannel_KickoffPb (uses Ioctl2)
2018-09-14 02:15:55 +02:00
fincs
cae1954ebc
nv: add cloned session handle used with certain requests; add Ioctl2
2018-09-14 02:15:24 +02:00
fincs
1cbc67e650
NvBuffer: actually unmap and free the buffer in nvBufferFree
2018-09-13 20:05:55 +02:00
Rajko Stojadinovic
dcdb5c28a4
Fix fsOpenFileSystem ( #153 )
...
* Fix fsOpenFileSystem
* Make fsOpenFileSystem and fsOpenFileSystemWithId work on all firmware versions
* Add some comments for fsOpenFileSystem(WithId)
2018-09-09 19:56:38 +02:00
Random
122fec028c
Added nsListApplicationRecord and nsListContentMetaStatus ( #163 )
2018-09-09 19:56:16 +02:00
neonsea
20a39ef86c
Add appletBeginBlockingHomeButton() and appletEndBlockingHomeButton() ( #165 )
2018-09-09 19:55:53 +02:00
XorTroll
cd813ddb60
Add psm service and psmGetBatteryChargePercentage function (fixed) ( #166 )
2018-09-09 19:55:36 +02:00
Michael Scire
6ef26bff1a
Implement kernelAbove600()
2018-09-09 19:55:12 +02:00
fincs
81d56a9e23
console: disable forced flush/swap/vblank due to performance reasons
2018-09-08 14:19:24 +02:00
fincs
52c0cee10c
Add nvioctlChannel_SetTimeout & nvChannelSetTimeout
2018-09-08 14:17:54 +02:00
fincs
999edaa8b2
Changes to NvCmdList and NvGpfifo, see details:
...
- NvCmdList:
- Added 'offset' parameter: start of the cmdlist within the buffer
- Added nvCmdListReset for resetting a cmdlist (offset/num_cmds cleared)
- NvGpfifo:
- nvGpfifoCreate: disabled fence wait
- nvGpfifoSubmit -> nvGpfifoSubmitCmdList:
- Added fence_incr parameter
- Cleaned up flags and gpfifo entry creation
- Now advances cmdlist offset by the number of cmds submitted
instead of going back to the beginning
2018-09-07 17:27:15 +02:00
fincs
7f4001bec2
Potentially fix race condition nvGpfifoCreate by waiting on the fence returned by nvioctlChannel_AllocGpfifoEx2
2018-09-05 14:00:28 +02:00
fincs
d718a8dd28
NvBufferFlags_Nintendo doesn't exist, it's a misreading of the alignment parameter
2018-09-05 13:59:50 +02:00
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