Commit Graph

  • 3ca6e65984 Aligning code style of kernel primitives plutoo 2018-01-06 06:10:55 +0100
  • 282fdefe2b Align code style of MemoryInfo plutoo 2018-01-06 06:04:35 +0100
  • fee6b42963 Align code style for AM plutoo 2018-01-06 05:57:56 +0100
  • 6bf7eb84bf Added icon modified by @fincs, see README. yellows8 2018-01-05 18:21:50 -0500
  • 9b64cfe3f8 Added empty default icon file. yellows8 2018-01-01 20:01:35 -0500
  • 21d619e248 Added APP_ICON to switch_rules, .jpg is used since official icons use it. yellows8 2018-01-01 19:46:29 -0500
  • 916dfb56f0 More threading functionality plutoo 2018-01-01 23:32:44 +0100
  • 03e9fdb883 Make _SetupHeap overridable plutoo 2018-01-01 22:38:20 +0100
  • 5739fda64a Make allocation of virtmem regions thread-safe plutoo 2018-01-01 22:35:54 +0100
  • 53a63d861a Derp plutoo 2018-01-01 22:30:29 +0100
  • 5cad71213b Cache version values, fix guard paging of threads on 2.0.0+ plutoo 2018-01-01 22:28:12 +0100
  • 91afc81ce1 Detect 4.0.0 plutoo 2018-01-01 19:52:41 +0100
  • d3c8f58db4 Updated switch_rules for .nacp and NROFLAGS. yellows8 2018-01-01 12:27:27 -0500
  • a0ea8c53df Perf adjustments for gfxGetFramebufferDisplayOffset(). yellows8 2017-12-30 02:13:04 -0500
  • 4e77c36c30 Perf adjustments for gfxGetFramebufferDisplayOffset(). yellows8 2017-12-29 22:04:15 -0500
  • 28e2759412 Fixed vsync handling. yellows8 2017-12-29 18:44:09 -0500
  • 1dda414f31 Implemented apm. yellows8 2017-12-29 16:15:17 -0500
  • fa318656b3 Removed tools since those were moved to a seperate repo. yellows8 2017-12-27 19:18:03 -0500
  • 02ec6d5c8a Updated the delay code in gfx-init and removed disabled get-{width/height} code. yellows8 2017-12-24 23:29:55 -0500
  • 3c297c2a14 Added comment to vsync func. yellows8 2017-12-22 22:33:31 -0500
  • 18a0d45afe Added gfxInitResolutionDefault(). Added gfxConfigureAutoResolution() and gfxConfigureAutoResolutionDefault(). yellows8 2017-12-22 02:40:33 -0500
  • b89036f6fd Added user-specified crop handling with gfxConfigureCrop() and gfxConfigureResolution(). Added gfxGetFramebufferResolution(). Updated gfxGetFramebufferDisplayOffset() for handling this. yellows8 2017-12-21 14:47:00 -0500
  • 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. yellows8 2017-12-20 20:18:16 -0500
  • 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. yellows8 2017-12-20 16:27:57 -0500
  • 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. yellows8 2017-12-20 12:37:19 -0500
  • a730cf977f Added bufferProducerRect for crop. Updated a resolution comment and added a comment for crop. yellows8 2017-12-20 01:49:53 -0500
  • a814c79827 Properly setup the data in bufferProducerGraphicBuffer via a struct. Setup size/width/height fields properly in bufferProducerGraphicBuffer, instead of hard-coding. yellows8 2017-12-19 23:45:25 -0500
  • 917036cec6 Updated bufferProducerGraphicBuffer struct. yellows8 2017-12-19 13:26:36 -0500
  • 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(). yellows8 2017-12-19 12:13:37 -0500
  • c0780f5267 Fixed flickering. yellows8 2017-12-18 14:24:58 -0500
  • e871eb9695 Added gfxGetFramebufferSize(). yellows8 2017-12-17 23:04:27 -0500
  • c80096e5cc Imported an enum from Android for use with bufferProducerConnect/bufferProducerDisconnect. yellows8 2017-12-17 22:34:51 -0500
  • c921c86922 Updated a comment. yellows8 2017-12-17 21:38:18 -0500
  • 3477fff5ee Improved fence handling in _gfxDequeueBuffer(). Clear g_gfx_DequeueBuffer_fence in _gfxInit(). yellows8 2017-12-17 21:23:57 -0500
  • 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. yellows8 2017-12-17 20:05:38 -0500
  • 2a26b50459 Removed commented-out code for g_gfxQueueBufferData fence, and added a comment for it. yellows8 2017-12-15 16:34:34 -0500
  • edf2d1417a Handle nvioctlChannel_ZCullBind() properly. yellows8 2017-12-14 18:10:48 -0500
  • 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. yellows8 2017-12-13 13:42:02 -0500
  • 945615ece3 Updated nvgfxEventWait() and nvioctlNvhostCtrl_EventWait(). Updated _gfxDequeueBuffer(). yellows8 2017-12-13 11:46:24 -0500
  • 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. yellows8 2017-12-07 11:37:40 -0500
  • 4c1c1ee14b Parse bufferProducerConnect() parcel reply properly. Store the output QueueBufferOutput from bufferProducerConnect/bufferProducerQueueBuffer in gfx.c. yellows8 2017-12-04 13:31:29 -0500
  • 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. yellows8 2017-12-03 22:39:46 -0500
  • 428d0373a8 Fixed output ptr for parcelReadData(). Pass fence ptr to _gfxDequeueBuffer() in gfxSwapBuffers(). yellows8 2017-12-02 19:24:33 -0500
  • eec87a6ccf Rename account -> acc plutoo 2017-12-03 19:16:54 +0100
  • 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. yellows8 2017-12-02 18:50:47 -0500
  • 998980843f Fix gfxWaitForVsync plutoo 2017-12-03 00:08:35 +0100
  • 8485facf99 Parcel refactor again plutoo 2017-11-26 18:13:01 +0100
  • 12b2ba6eb6 Revert "Refactoring parcel a little, parcelTransact needs more work" plutoo 2017-11-26 17:51:30 +0100
  • 806a75c841 More refactoring, renamed graphicsproducer -> bufferproducer plutoo 2017-11-26 10:30:22 +0100
  • 7f2135754a Refactoring parcel a little, parcelTransact needs more work plutoo 2017-11-26 09:22:45 +0100
  • 1cf6bb2056 Moved binder.c to gfx, refactored plutoo 2017-11-26 08:40:35 +0100
  • 2fd13b5556 Moving ioctls to separate files plutoo 2017-11-26 08:16:48 +0100
  • 99880a7b26 Added the default_font. yellows8 2017-11-23 15:04:23 -0500
  • 41cd7bb725 Exit gfx properly. Adjusted the name for _gfxproducer_InterfaceDescriptor. yellows8 2017-11-21 13:19:35 -0500
  • e3d0c849ad Implemented {vi/gfx}GetDisplayResolution. Moved gfxGetFramebufferDisplayOffset into the .h as static inline. Added more comments to gfx.h. yellows8 2017-11-21 01:12:21 -0500
  • 33c5181237 Added gfxSetDoubleBuffering(). Adjusted g_gfxCurrentBuffer updating. Imported console from libctru with adjustments for Switch. yellows8 2017-11-21 00:26:44 -0500
  • 94809a1e15 Return pixel offset instead of byte offset in gfxGetFramebufferDisplayOffset(). yellows8 2017-11-20 20:44:54 -0500
  • 353faed782 Added x/y bounds checking to gfxGetFramebufferDisplayOffset(). yellows8 2017-11-20 19:26:04 -0500
  • 8f459cf958 Use u32 for gfxGetFramebuffer() width/height. Added gfxGetFramebufferDisplayOffset(). yellows8 2017-11-20 19:15:54 -0500
  • 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. yellows8 2017-11-20 11:13:47 -0500
  • 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. yellows8 2017-11-19 20:47:03 -0500
  • 34e22c82df Use total-framebufs value from a global field instead of hard-coding it. yellows8 2017-11-19 18:31:56 -0500
  • 0a7de00fe0 Use all 4 buffers with g_gfxCurrentBuffer. yellows8 2017-11-19 16:11:17 -0500
  • 283fdabbf6 Renamed gfxproducerBufferInit to gfxproducerTegraBufferInit. Use an enum for the binder 'code' for this. Added comments for the BufferInitData structure. yellows8 2017-11-19 00:35:49 -0500
  • fbce1e8029 Use the output buffer value from gfxproducerDequeueBuffer() with gfxproducer calls. Set g_gfxCurrentBuffer in _gfxDequeueBuffer() with the output buffer value. Removed a comment. yellows8 2017-11-18 17:35:06 -0500
  • ee3a74fa60 nvgfx event adjustments. Fixed loop interation check for running buffer init. Disabled updating a field in g_gfxQueueBufferData with _gfxQueueBuffer(). yellows8 2017-11-17 21:18:25 -0500
  • a85ee0458d Implemented interface for accessing framebuf. Adjustments for gfx init/exit. Removed 0x77 memset for framebuf in nvgfx init. yellows8 2017-11-17 02:20:32 -0500
  • 0d3da1d900 Removed outdated parcel-error comments. yellows8 2017-11-17 01:29:42 -0500
  • 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. yellows8 2017-11-17 01:16:17 -0500
  • 24fa9b0f4b More nv event stuff. Updated comment regarding NVHOST_IOCTL_CTRL_GET_CONFIG. yellows8 2017-11-16 13:22:49 -0500
  • 79fd32f0c7 More nvgfx event stuff, still broken. yellows8 2017-11-15 22:32:14 -0500
  • d35986d773 Added nvioctlNvhostCtrl_EventRegister(). yellows8 2017-11-15 16:28:22 -0500
  • 0f0a4cd0fe Added nvioctlNvhostCtrl_EventSignal and nvioctlNvhostCtrl_EventWait. More nvgfx init. yellows8 2017-11-15 02:36:27 -0500
  • 8d68cb401f Yet another nvmap obj added to nvgfx init. yellows8 2017-11-15 01:40:46 -0500
  • cc22a5e92a Another nvmap obj. yellows8 2017-11-15 01:28:18 -0500
  • 453e8b8303 More nvgfx init. yellows8 2017-11-15 01:14:17 -0500
  • e9dbf4d18f More nvgfx init. yellows8 2017-11-15 00:50:58 -0500
  • 9e10c02c88 Fixed kind value for last *MapBufferEx() loop interation. yellows8 2017-11-15 00:28:34 -0500
  • bccd0df4ae More nvgfx init. yellows8 2017-11-15 00:19:20 -0500
  • 2d3887fb0c Implemented more nvgfx init. yellows8 2017-11-15 00:00:29 -0500
  • 1908b29708 Added nvioctlChannel_SubmitGPFIFO(). yellows8 2017-11-14 20:20:08 -0500
  • eeb43bae97 Added nvioctlChannel_ZCullBind(). Added more nvgfx init. yellows8 2017-11-14 19:30:31 -0500
  • 017770b509 More ioctls + nvgfx init. Added nvmapobjSetup(). yellows8 2017-11-14 18:43:09 -0500
  • 31b945dff9 Store nvmap obj state inside of a dedicated obj struct + funcs for using that, etc. yellows8 2017-11-14 15:51:34 -0500
  • 20ec051ca4 Implemented nvioctlNvhostCtrlGpu_GetL2State(). yellows8 2017-11-14 13:03:33 -0500
  • 690b8be39a Implemented setting offset in nvioctlNvhostAsGpu_MapBufferEx(). Fixed broken MapBufferEx usage in nvgfx init for the second nvmap obj. yellows8 2017-11-14 12:44:54 -0500
  • bf65d6734a Added note regarding nvQueryEvent. yellows8 2017-11-14 12:09:10 -0500
  • f6ab87e309 Added an ioctl usage comment to nvgfx. yellows8 2017-11-14 02:05:29 -0500
  • cfffdcc444 Setup the second nvmap obj. yellows8 2017-11-14 01:16:43 -0500
  • 0cc65093e3 Implemented the ioctls which were skipped during nvgfx init. nvgfx init adjustments. Fixed ioctl direction define for nvioctlNvhostAsGpu_MapBufferEx, this now works properly. yellows8 2017-11-13 23:27:54 -0500
  • 704ead0d5f Added more nvioctls + more nvgfx init. yellows8 2017-11-13 16:21:49 -0500
  • 619a9a378c Added nvgfx. yellows8 2017-11-12 23:57:30 -0500
  • 0c19c1738c Added nvioctl. yellows8 2017-11-12 23:32:50 -0500
  • 1fccd4a1bb Improved handling for appletNotifyRunning(). yellows8 2017-12-24 23:31:58 -0500
  • 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. yellows8 2017-12-22 03:26:26 -0500
  • 146aad7f55 Fixes for 1.0.0, correcting NRO aslr base plutoo 2017-12-17 03:47:21 +0100
  • 4f8dfc52c6 Fixed bss handling in elf2nro. yellows8 2017-12-11 21:54:59 -0500
  • a0ebe68f54 Implemented actual args handling in __system_initArgv(). yellows8 2017-12-11 19:18:45 -0500
  • 79e573472e Added __argdata__ to switch.ld. yellows8 2017-12-10 23:27:16 -0500
  • 817fec6859 Fixed bss handling in tools. yellows8 2017-12-10 23:12:15 -0500