Commit Graph

311 Commits

Author SHA1 Message Date
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
Unknown
bddf244d0b default_icon now included in make install 2018-01-15 22:49:01 +01:00
fincs
fb9c53235e Fix ipc.h C++ compatibility errors (tested by compiling code as .cpp) 2018-01-15 22:48:46 +01: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
251e57fa59 Fix bug in newly introduced service impl 2018-01-12 23:31:59 +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
yellows8
6bf7eb84bf Added icon modified by @fincs, see README. 2018-01-05 18:21:50 -05:00
yellows8
9b64cfe3f8 Added empty default icon file. 2018-01-01 20:01:35 -05: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
a0ea8c53df Perf adjustments for gfxGetFramebufferDisplayOffset(). 2017-12-30 02:13:04 -05: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
99880a7b26 Added the default_font. 2017-12-27 18:50:16 -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