aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-02misc: Cleanup Discord Presence (#2262)Ac_K
* ui: Cleanup Discord Presence * Clean Timestamps
2021-05-02Update to FFmpeg 4.4.0 (#2259)Mary
* Update to FFmpeg 4.4.0 As the title say * Fix warning from 4.4.0
2021-05-02hid: Rewrite shared memory management (#2257)Mary
* hid: Rewrite shared memory management This entirely rewrite our ancient (and original) HID shared memory interface to be more usable and accurate. HID update logics were updated to reflect those changes but should work still the same way it previously did. This need heavy testing just in case to avoid possible regressions. * Silence warnings * Address gdkchan's comments * Address Ac_K's comments * Address one missing nit
2021-05-01Fix shader buffer write flag on atomic instructions (#2261)gdkchan
* Fix shader buffer write flag on atomic instructions * Shader cache version bump
2021-04-30Changes ordering of config.json and configuration files (#2253)Mark Araujo
This allows configuration values to be written to log file for analysis
2021-04-30nfp: Increase Amiibo scanning delay (#2256)Ac_K
2021-04-26Fix GetClockSnapshot not writing steady clock timepoint (#2249)gdkchan
2021-04-26Initialize hid inputs on activation (#2246)Caian Benedicto
2021-04-25Fix uint -> int typo. (#2245)EmulationFanatic
2021-04-25Fix IsRegionInUse check on NV memory allocator (#2243)gdkchan
2021-04-24HLE: Fix integer sign inconcistency accross the codebase (#2222)Mary
* Make all title id instances unsigned * Replace address and size with ulong instead of signed types Long overdue change. Also change some logics here and there to optimize with the new memory manager. * Address Ac_K's comments * Remove uneeded cast all around * Fixes some others misalignment
2021-04-23account: add Custom User Profiles support (#2227)Ac_K
* Initial Impl * Fix names * remove useless ContentManager * Support backgrounds and improve avatar loading * Fix firmware checks * Addresses gdkchan feedback
2021-04-22mm: Cleaned up the service a bit (#2233)Ac_K
2021-04-21Miria: Do not try to query keyboard input when controller isn't set (#2231)Mary
This fix a possible crash with raw keyboard input since Miria. I took the liberty to move the the keyboard update to avoid possible duplicate update if we end up having two keyboards in use.
2021-04-20Only enable clip distance if written to on shader (#2217)gdkchan
* Only enable clip distance if written to on shader * Signal InstanceId use through FeatureFlags * Shader cache version bump
2021-04-18Add inlined on translation call counting (#2190)FICTURE7
* Add EntryTable<TEntry> * Add on translation call counting * Add Counter * Add PPTC support * Make Counter a generic & use a 32-bit counter instead * Return false on overflow * Set PPTC version * Print more information about the rejit queue * Make Counter<T> disposable * Remove Block.TailCall since it is not used anymore * Apply suggestions from code review Address gdkchan's feedback Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Fix more stale docs * Remove rejit requests queue logging * Make Counter<T> finalizable Most certainly quite an odd use case. * Make EntryTable<T>.TryAllocate set entry to default * Re-trigger CI * Dispose Counters before they hit the finalizer queue * Re-trigger CI Just for good measure... * Make EntryTable<T> expandable * EntryTable is now expandable instead of being a fixed slab. * Remove EntryTable<T>.TryAllocate * Remove Counter<T>.TryCreate Address LDj3SNuD's feedback * Apply suggestions from code review Address LDj3SNuD's feedback Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> * Remove useless return * POH approach, but the sequel * Revert "POH approach, but the sequel" This reverts commit 5f5abaa24735726ff2db367dc74f98055d4f4cba. The sequel got shelved * Add extra documentation Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>
2021-04-18Data should not be public for nvapi unicode stringriperiperi
2021-04-18Fix skipping missing shadersriperiperi
2021-04-18Use IntPtr for handles, remove unsafe keywordriperiperi
2021-04-18Forcibly enable threaded optimization on boot.riperiperi
2021-04-18Nitriperiperi
2021-04-18The task isn't required for loading compute binary.riperiperi
2021-04-18Use event to wake the main thread on task completionriperiperi
2021-04-18The new host program needs to be saved even if it isn't valid.riperiperi
2021-04-18Implement parallel host shader cache compilation.riperiperi
2021-04-18Amadeus: Fix low pass base gain related issues on delay effect in mono (#2224)Mary
This adds missing parenthesis around low pass z computation. This fixes FEZ audio gain issues inside rooms. (Ryujinx/Ryujinx-Games-List#3526)
2021-04-18Improve shader global memory to storage pass (#2200)gdkchan
* Improve shader global memory to storage pass * Formatting and more comments * Shader cache version bump
2021-04-18HwCapabilities: Divide Intel into IntelWindows and IntelUnix (#2219)A-w-x
as suggested by gdkchan
2021-04-18Amadeus: Allow out of bound read on empty delay lines (#2223)Mary
This allows to handle an OOB with delay lines when DelayTimeMax = 0. On real hardware, it will end up reading garbage at the given user work buffer address. As we do not use those buffers and allocate them ourself for simplicy, this could possibly cause a crash. Proposed solution here is to only increase the size of _workBuffer by one like what is done in DelayLineReverb3d already. This fixes FEZ. (Ryujinx/Ryujinx-Games-List#3526)
2021-04-17Fix intel view copy workaround. (#2216)riperiperi
The texture target must be taken from the storage rather than the view, when using the storage handle for the copy.
2021-04-17Return focus from controller applet after completion (#2218)riperiperi
* Return focus from controller applet after completion This fixes controller applet related in Mario Kart 8 Deluxe, in 2 player mode or when opening the applet in character select. * Return focus for player select
2021-04-15Miria: Fix Group Policy related crashes (#2212)Mary
We actually don't need to init sensors or haptic to get motion or rumble working on game controllers. This fix a group policy issue on some Windows 10 Pro when trying to init the SDL2 sensors APIs.
2021-04-14am: Stub ExtendSaveData (#2209)Ac_K
2021-04-14nsd/ssl: Fix Resolve/ResolveEx and stub GetConnectionCount (#2208)Ac_K
2021-04-14Miria: The Death of OpenTK 3 (#2194)Mary
* openal: Update to OpenTK 4 * Ryujinx.Graphics.OpenGL: Update to OpenTK 4 * Entirely removed OpenTK 3, still wip * Use SPB for context creation and handling Still need to test on GLX and readd input support * Start implementing a new input system So far only gamepad are supported, no configuration possible via UI but detected via hotplug/removal Button mapping backend is implemented TODO: front end, configuration handling and configuration migration TODO: keyboard support * Enforce RGB only framebuffer on the GLWidget Fix possible transparent window * Implement UI gamepad frontend Also fix bad mapping of minus button and ensure gamepad config is updated in real time * Handle controller being disconnected and reconnected again * Revert "Enforce RGB only framebuffer on the GLWidget" This reverts commit 0949715d1a03ec793e35e37f7b610cbff2d63965. * Fix first color clear * Filter SDL2 events a bit * Start working on the keyboard detail - Rework configuration classes a bit to be more clean. - Integrate fully the keyboard configuration to the front end (TODO: assigner) - Start skeleton for the GTK3 keyboard driver * Add KeyboardStateSnapshot and its integration * Implement keyboard assigner and GTK3 key mapping TODO: controller configuration mapping and IGamepad implementation for keyboard * Add missing SR and SL definitions * Fix copy pasta mistake on config for previous commit * Implement IGamepad interface for GTK3 keyboard * Fix some implementation still being commented in the controller ui for keyboard * Port screen handle code * Remove all configuration management code and move HidNew to Hid * Rename InputConfigNew to InputConfig * Add a version field to the input config * Prepare serialization and deserialization of new input config and migrate profile loading and saving * Support input configuration saving to config and bump config version to 23. * Clean up in ConfigurationState * Reference SPB via a nuget package * Move new input system to Ryujinx.Input project and SDL2 detail to Ryujinx.Input.SDL2 * move GTK3 input to the right directory * Fix triggers on SDL2 * Update to SDL2 2.0.14 via our own fork * Update buttons definition for SDL2 2.0.14 and report gamepad features * Implement motion support again with SDL2 TODO: cemu hooks integration * Switch to latest of nightly SDL2 * SDL2: Fix bugs in gamepad id matching allowing different gamepad to match on the same device index * Ensure values are set in UI when the gamepad get hot plugged * Avoid trying to add controllers in the Update method and don't open SDL2 gamepad instance before checking ids This fixes permanent rumble of pro controller in some hotplug scenario * Fix more UI bugs * Move legcay motion code around before reintegration * gamecontroller UI tweaks here and there * Hide Motion on non motion configurations * Update the TODO grave Some TODO were fixed long time ago or are quite oudated... * Integrate cemu hooks motion configuration * Integrate cemu hooks configuration options to the UI again * cemuhooks => cemuhooks * Add cemu hook support again * Fix regression on normal motion and fix some very nasty bugs around * Fix for XCB multithreads issue on Linux * Enable motion by default * Block inputs in the main view when in the controller configuration window * Some fixes for the controller ui again * Add joycon support and fixes other hints * Bug fixes and clean up - Invert default mapping if not a Nintendo controller - Keep alive the controller being selected on the controller window (allow to avoid big delay for controller needing time to init when doing button assignment) - Clean up hints in use - Remove debug logs around - Fixes potential double free with SDL2Gamepad * Move the button assigner and motion logic to the Ryujinx.Input project * Reimplement raw keyboard hle input Also move out the logic of the hotkeys * Move all remaining Input manager stuffs to the Ryujinx.Input project * Increment configuration version yet again because of master changes * Ensure input config isn't null when not present * Fixes for VS not being nice * Fix broken gamepad caching logic causing crashes on ui * Ensure the background context is destroyed * Update dependencies * Readd retrocompat with old format of the config to avoid parsing and crashes on those versions Also updated the debug Config.json * Document new input APIs * Isolate SDL2Driver to the project and remove external export of it * Add support for external gamepad db mappings on SDL2 * Last clean up before PR * Addresses first part of comments * Address gdkchan's comments * Do not use JsonException * Last comment fixes
2021-04-14[ImgBot] Optimize images (#2205)VocalFan
*Total -- 555.93kb -> 486.47kb (12.49%) /Ryujinx/Ui/Resources/Logo_GitHub.png -- 26.25kb -> 15.48kb (41.04%) /Ryujinx/Ui/Resources/Logo_Discord.png -- 13.29kb -> 7.89kb (40.63%) /Ryujinx/Ui/Resources/Logo_Patreon.png -- 15.12kb -> 9.79kb (35.27%) /Ryujinx/Ui/Resources/Icon_NRO.png -- 13.58kb -> 11.06kb (18.5%) /Ryujinx/Ui/Resources/Icon_NCA.png -- 13.35kb -> 10.96kb (17.92%) /Ryujinx/Ui/Resources/Icon_NSO.png -- 13.62kb -> 11.20kb (17.76%) /Ryujinx/Ui/Resources/Icon_XCI.png -- 12.79kb -> 10.53kb (17.61%) /Ryujinx/Ui/Resources/Icon_NSP.png -- 12.89kb -> 10.66kb (17.32%) /Ryujinx/Ui/Resources/Logo_Twitter.png -- 16.54kb -> 14.40kb (12.93%) /Ryujinx/Ui/Resources/Controller_JoyConPair.svg -- 74.83kb -> 65.64kb (12.28%) /Ryujinx/Ui/Resources/Controller_ProCon.svg -- 66.51kb -> 58.83kb (11.55%) /Ryujinx/Ui/Resources/Controller_JoyConRight.svg -- 87.82kb -> 80.99kb (7.77%) /Ryujinx.HLE/HOS/Services/Account/Acc/DefaultUserImage.jpg -- 51.73kb -> 47.85kb (7.49%) /Ryujinx/Ui/Resources/Controller_JoyConLeft.svg -- 73.68kb -> 68.34kb (7.25%) /Ryujinx/Ui/Resources/Logo_Amiibo.png -- 11.40kb -> 11.08kb (2.82%) /Ryujinx/Ui/Resources/Logo_Ryujinx.png -- 52.52kb -> 51.76kb (1.45%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com> Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2021-04-14Initial support for the new 12.x IPC system (#2182)Mary
* Rename CommandAttribute as CommandHIpcAttribute to prepare for 12.x changes * Implement inital support for TIPC and adds SM command ids * *Ipc to *ipc * Missed a ref in last commit... * CommandAttributeTIpc to CommandAttributeTipc * Addresses comment and fixes some bugs around TIPC doesn't have any padding requirements as buffer C isn't a thing Fix for RegisterService inverting two argument only on TIPC
2021-04-13Improves logging to console. (#2146)Mark Araujo
* Restore removed text * Adds more items to logs: - Remove #1942 * Further removal of changes from #1942 * Removes hardcoded config state variables for logging - Adds Configuration logging * Decoupled logging from ReactiveObject - Event handler added to Configuration state to handle logging of value changes * Decoupled logging from ReactiveObject - Event handler added to Configuration state to handle logging of value changes
2021-04-13PPTC vs. giant ExeFS. (#2168)LDj3SNuD
* PPTC vs. giant ExeFS. * InternalVersion = 2168 * Add new heuristic algorithm for calculating the number of threads for parallel translations that also takes into account the user's free physical memory and not just the number of CPU cores. * Nit. * Add an outer Header structure and add the hashes for both this new structure and the existing "inner" Header structure. * InternalVersion = 2169
2021-04-13account: Adds AccountManager (#2184)Ac_K
* account: Adds Account Manager In a way to have Custom User Profiles merged in master faster, this PR adds a `AccountManager` class (based on `AccountUtils` class) and the following changes have been made: - Adds a "default profile values" which were the old hardcoded ones. - The image profile is moved to the Account service folder. - The hardcoded UserId for the savedata is now using the `AccountManager` last opened one. - The DeviceId in Mii service is changed to the right value (checked by REd sys:set call). * Fix csproj * Addresses gdkchan's comments * Fix UserProfile fields * Fix mii GetDeviceId() * Update Ryujinx.HLE.csproj
2021-04-13Fix sub-image copies on intel GPUs (#2198)gdkchan
2021-04-13nifm/ssl: Implement GetCurrentNetworkProfile and stub Ssl Service (#2186)Ac_K
* nifm/ssl: Implement GetCurrentNetworkProfile and stub Ssl Service * remove InterfaceVersion
2021-04-13Surface Flinger: Fix an oversight when closing a layer (#2192)Mary
* Surface Flinger: Fix an oversight when closing a layer As the title say. I also took the liberty of changing the logic on how we select the current layer being rendered to make it more explicit when opening and creating layers. NOTE: Found by Ac_k. * check for RenderLayerId and not the dictionary size This fix a possible race condition between the time you create a layer and set the one currently used for rendering
2021-04-09Enable updates in portable mode. (related to #1885) (#2181)jms-c
* Enable updates in portable mode. * Added update test! * Enable update test again! * Triggering CI * Made this PR mergeable.
2021-04-08friend: Fixes PermissionLevel names (#2185)Ac_K
This PR fixes the permission level names, nothing more.
2021-04-07(CPU) Fix CRC32 instruction when constant values are used as input (#2183)gdkchan
2021-04-07CI: Add option to manually trigger github actionsMary
2021-04-07CI: Add temporary fix for Windows nuget issues and fix git hashes for PRsMary
2021-04-04Allow DRAM size to be increased from 4GB to 6GB (#2174)gdkchan
* Allow DRAM size to be increased from 4GB to 6GB * Add option on the UI
2021-04-03Hide debug artifacts (#2171)Itamai