aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2024-05-14HID: Stub IHidServer: 134 (SetNpadAnalogStickUseCenterClamp) (#6664)1.1.1302Tsubasa0504
* Add files via upload * Update IHidServer.cs mistakes... * format how do i do it * Update src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs Co-authored-by: Agatem <agaatem@outlook.com> * Update src/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs Co-authored-by: Agatem <agaatem@outlook.com> * bruh * Apply suggestions from code review Co-authored-by: gdkchan <gab.dark.100@gmail.com> * use readuint32 instead * second thought * i hope it works thanks someone higher up with the same thing * pid * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * styles i think * Apply suggestions from code review Co-authored-by: makigumo <makigumo@users.noreply.github.com> --------- Co-authored-by: Agatem <agaatem@outlook.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: makigumo <makigumo@users.noreply.github.com>
2024-05-14Update outdated Windows version warning (#6481)1.1.1301Luke Warner
* Change text * clarify version number * update gtk
2024-05-14Add linux specific files to local builds (#6762)1.1.1300TSRBerry
2024-05-08Replace "List.ForEach" for "foreach" (#6783)1.1.1298Marco Carvalho
* Replace "List.ForEach" for "foreach" * dotnet format * Update Ptc.cs * Update GpuContext.cs
2024-05-02Fix system dateTime loading in avalonia LoadCurrentConfiguration (#6676)1.1.1297Nicolas Abram
* Fix system dateTime loading in avalonia LoadCurrentConfiguration * Rename local var to not use upper camel case
2024-05-01UI: Fix some MainWindow bugs and implement menubar items to change window ↵1.1.1296MutantAura
size. (#6750) * Do not save window dimensions when maximized. * Implement option to disable window size/position memory. * Remove logging statements * Implement menubar items for common window sizes. * formatting fixes * Set 720p window as a composite value. * Remove unused using * Fix exception paramter. * Force restore window when a size change is requested * Fix some resizing bugs.
2024-04-29Fix alt key appearing as control in settings menus (#6742)1.1.1295Andrew Glaze
2024-04-28Fix Cursor States On Windows (#6725)1.1.1294Exhigh
* [Ava]: Fix Cursor States On Windows It's been sometime since the last PR #5415 was made and last time i was waiting for Ava 11 to be merged before re-writing the code and along the way forgot about the PR. Anyway this PR supersedes both #5288 and #5415, and fixes issue: #5136 * Now, the bounds for which the cursor should be detected in renderer should be accurate to any scaling / resolution, taking into account the status and the menu bar. ( This issue was partially resolved by #6450 ) * Reduced the number of times the cursor updates from per frame update to updating only when the cursor state needs to be changed. * Fixed the issue wherein you weren't able to resize the window, because of the cursor passthrough which caused the cursor to reset from the reset icon or flicker. * Fixed the issue caused by #6450 which caused the cursor to disappear over the submenus while cursor was set to always hide. * Changed the cursor state to not disappear while the game is being loaded. ( Needs Feedback ). * Removed an unused library import. * PR feedback * Fix excessive line breaks and whitespaces and other feedback * Add a check before calculating cursor idle time, such that it calculates only while the cursor mode is OnIdle. * PR Feedback * Rework the cursor state check code block Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com> * PR Feedback * A simpler version of the previous implementation. Co-Authored-By: gdkchan <5624669+gdkchan@users.noreply.github.com> * PR Feedback * PR Feedback --------- Co-authored-by: gdkchan <5624669+gdkchan@users.noreply.github.com>
2024-04-28Fix direct keyboard not working when using a Controller. (#6716)1.1.1293MaxLastBreath
* Fix direct keyboard not working when connected with a controller - Pass KeyboardDriver to NpadController.GetHLEKeyboardInput(). - Always fetch all keyboards if Direct Keyboard is turned on. - Remove unnecessary return null. * Get Keyboard Inputs outside of the controller loop. - Moved GetHLEKeyboardInput outside of the controller loop. - Made GetHLEKeyboardInput public static from public * Removed extra newline * Update src/Ryujinx.Input/HLE/NpadManager.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Update src/Ryujinx.Input/HLE/NpadController.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
2024-04-28HID: Correct direct mouse deltas (#6736)1.1.1292riperiperi
The delta position of the mouse should be the difference between the current and last position. Subtracting the last deltas doesn't really make sense. Won't implement pointer lock for first person games, but might stop some super weird behaviour with the mouse values appearing totally random.
2024-04-22Add support for bindless textures from shader input (vertex buffer) on ↵1.1.1291gdkchan
Vulkan (#6577) * Add support for bindless textures from shader input (vertex buffer) * Shader cache version bump * Format whitespace * Remove cache entries on pool removal, disable for OpenGL * PR feedback
2024-04-21implement `MemoryManagerHostTracked.GetReadOnlySequence()` (#6695)1.1.1290jhorv
* implement `MemoryManagerHostTracked.GetReadOnlySequence()`, fixes crashes on game starts on MacOS * whitespace fixes * whitespace fixes * add missing call to `SignalMemoryTracking()` * adjust call to `SignalMemoryTracking()`` * don't use GetPhysicalAddressMemory() * add newline for consistency
2024-04-21Use pooled memory and avoid memory copies (#6691)1.1.1289jhorv
* perf: use ByteMemoryPool * feat: KPageTableBase/KPageTable new methods to read and write `ReadOnlySequence<byte>` * new: add IWritableBlock.Write(ulong, ReadOnlySequence<byte>) with default impl * perf: use GetReadOnlySequence() instead of GetSpan() * perf: make `Parcel` IDisposable, use `ByteMemoryPool` for internal allocation, and make Parcel consumers dispose of it * remove comment about copySize * remove unnecessary Clear()
2024-04-20End render target lifetime on syncpoint increment (#6687)1.1.1288gdkchan
2024-04-19chore: remove repetitive words (#6690)1.1.1287toofooboo
Signed-off-by: toofooboo <cmaker@foxmail.com>
2024-04-19Do not compare Span<T> to 'null' or 'default' (#6683)1.1.1286Marco Carvalho
2024-04-19Update to new standard for volatility operations (#6682)1.1.1285Marco Carvalho
2024-04-18Fix unmapped address check when reading texture handles (#6679)1.1.1284gdkchan
2024-04-17Ava UI: Input Menu Refactor (#5826)1.1.1282Isaac Marovitz
* Refactor * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx.Input/ButtonValueType.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add empty line * Requested renames * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Make parent models private readonly * Fix ControllerInputView * Make line shorter * Mac keys in locale * Double line break * Fix build * Get rid of _isValid * Fix potential race condition * Rename HasAnyButtonPressed to IsAnyButtonPressed * Use switches * Simplify enumeration --------- Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2024-04-15Fix crash when changing controller config (#6654)1.1.1281Luke
* fix needsMotionInputUpdate conditions * Fix formatting Co-authored-by: gdkchan <gab.dark.100@gmail.com> --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-04-14Texture loading: reduce memory allocations (#6623)1.1.1280jhorv
* rebase * add methods Ryyjinx.Common EmbeddedResources and SteamUtils * GAL changes - change SetData() methods and ThreadedTexture commands to use IMemoryOwner<byte> instead of SpanOrArray<byte> * Ryujinx.Graphics.Texture: change texture conversion methods to return IMemoryOwner<byte> and allocate from ByteMemoryPool * Ryujinx.Graphics.OpenGL: update ITexture and Texture-like types with SetData() methods to take IMemoryOwner<byte> instead of SpanOrArray<byte> * Ryujinx.Graphics.Vulkan: update ITexture and Texture-like types with SetData() methods to take IMemoryOwner<byte> instead of SpanOrArray<byte> * Ryujinx.Graphics.Gpu: update ITexture and Texture-like types with SetData() methods to take IMemoryOwner<byte> instead of SpanOrArray<byte> * Remove now-unused SpanOrArray<T> * post-rebase cleanup * PixelConverter: remove unsafe modifier on safe methods, and remove one unnecessary cast * use ByteMemoryPool.Rent() in GetWritableRegion() impls * fix formatting, rename `ReadRentedMemory()` to `ReadFileToRentedMemory()`` * Texture.ConvertToHostCompatibleFormat(): dispose of `result` in Astc decode branch
2024-04-11Account for swapchain image count change after re-creation (#6652)1.1.1279gdkchan
2024-04-11Allow BSD sockets Poll to exit when emulation ends (#6650)1.1.1278gdkchan
2024-04-10Revert "Update StoreConstantToMemory to match StoreConstantToAddress on ↵1.1.1277gdkchan
value…" (#6649) This reverts commit 22e3ff06b51db0fa72e9f2dc2aee395a5d1aa2df.
2024-04-11Update StoreConstantToMemory to match StoreConstantToAddress on value read ↵1.1.1276WilliamWsyHK
(#6642)
2024-04-10Ava UI: Prevent Status Bar Backend Update (#6506)1.1.1275Isaac Marovitz
* Prevent Status Bar Backend Update * Make it a switch
2024-04-10Fix input consumed by audio renderer SplitterState.Update (#6640)1.1.1273gdkchan
* Fix input consumed by audio renderer SplitterState.Update * Use sizeof(int) to make clear what the value is
2024-04-09CPU: Produce non-inf results for RSQRTE instruction with subnormal inputs ↵1.1.1272gdkchan
(#6634) * CPU: Produce non-inf results for RSQRTE instruction with subnormal inputs * PPTC version bump
2024-04-09Use ResScaleUnsupported flag for texture arrays (#6626)1.1.1271gdkchan
2024-04-09Fast D32S8 2D depth texture copy (#6636)1.1.1270gdkchan
2024-04-08Pin audio renderer update output buffers (#6633)1.1.1269gdkchan
2024-04-07Disable CLI setting persistence for HW-accelerated GUI. (#6620)1.1.1268MutantAura
2024-04-07Add support for large sampler arrays on Vulkan (#6489)1.1.1267gdkchan
* Add support for large sampler arrays on Vulkan * Shader cache version bump * Format whitespace * Move DescriptorSetManager to PipelineLayoutCacheEntry to allow different pool sizes per layout * Handle array textures with different types on the same buffer * Somewhat better caching system * Avoid useless buffer data modification checks * Move redundant bindings update checking to the backend * Fix an issue where texture arrays would get the same bindings across stages on Vulkan * Backport some fixes from part 2 * Fix typo * PR feedback * Format whitespace * Add some missing XML docs
2024-04-07CPU: Fix PC alignment for ADR thumb instruction (#6613)1.1.1266gdkchan
* Fix PC alignment for ADR thumb instruction * PPTC version bump
2024-04-07Audio rendering: reduce memory allocations (#6604)1.1.1265jhorv
* - WritableRegion: enable wrapping IMemoryOwner<byte> - IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous. - IVirtualMemoryManager: add GetReadOnlySequence() and impls - ByteMemoryPool: add new method RentCopy() - ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl * - BytesReadOnlySequenceSegment: move from Ryujinx.Common.Memory to Ryujinx.Memory - BytesReadOnlySequenceSegment: add IsContiguousWith() and Replace() methods - VirtualMemoryManagerBase: - remove generic type parameters, instead use ulong for virtual addresses and nuint for host/physical addresses - implement IWritableBlock - add virtual GetReadOnlySequence() with coalescing of contiguous segments - add virtual GetSpan() - add virtual GetWritableRegion() - add abstract IsMapped() - add virtual MapForeign(ulong, nuint, ulong) - add virtual Read<T>() - add virtual Read(ulong, Span<byte>) - add virtual ReadTracked<T>() - add virtual SignalMemoryTracking() - add virtual Write() - add virtual Write<T>() - add virtual WriteUntracked() - add virtual WriteWithRedundancyCheck() - VirtualMemoryManagerRefCountedBase: remove generic type parameters - AddressSpaceManager: remove redundant methods, add required overrides - HvMemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - MemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - MemoryManagerHostMapped: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - NativeMemoryManager: add get properties for Pointer and Length - throughout: removed invalid <inheritdoc/> comments * - WritableRegion: enable wrapping IMemoryOwner<byte> - IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous. - IVirtualMemoryManager: add GetReadOnlySequence() and impls - ByteMemoryPool: add new method RentCopy() - ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl * add PagedMemoryRange enumerator types, use them in IVirtualMemoryManager implementations to consolidate page-handling logic and add a new capability - the coalescing of pages for consolidating memory copies and segmentation. * new: more tests for PagedMemoryRangeCoalescingEnumerator showing coalescing of contiguous segments * make some struct properties readonly * put braces around `foreach` bodies * encourage inlining of some PagedMemoryRange*Enumerator members * DynamicRingBuffer: - use ByteMemoryPool - make some methods return without locking when size/count argument = 0 - make generic Read<T>()/Write<T>() non-generic because its only usage is as T = byte - change Read(byte[]...) to Read(Span<byte>...) - change Write(byte[]...) to Write(Span<byte>...) * change IAudioRenderer.RequestUpdate() to take a ReadOnlySequence<byte>, enabling zero-copy audio rendering * HipcGenerator: support ReadOnlySequence<byte> as IPC method parameter * change IAudioRenderer/AudioRenderer RequestUpdate* methods to take input as ReadOnlySequence<byte> * MemoryManagerHostTracked: use rented memory when contiguous in `GetWritableRegion()` * rebase cleanup * dotnet format fixes * format and comment fixes * format long parameter list - take 2 * - add support to HipcGenerator for buffers of type `Memory<byte>` - change `AudioRenderer` `RequestUpdate()` and `RequestUpdateAuto()` to use Memory<byte> for output buffers, removing another memory block allocation/copy * SplitterContext `UpdateState()` and `UpdateData()` smooth out advance/rewind logic, only rewind if magic is invalid * DynamicRingBuffer.Write(): change Span<byte> to ReadOnlySpan<byte>
2024-04-07Enhance Error Handling with Try-Pattern Refactoring (#6610)1.1.1264Marco Carvalho
* Enhance Error Handling with Try-Pattern Refactoring * refactoring * refactoring * Update src/Ryujinx.HLE/FileSystem/ContentPath.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>
2024-04-07Replacing the try-catch block with null-conditional and null-coalescing ↵1.1.1263Marco Carvalho
operators (#6612) * Replacing the try-catch block with null-conditional and null-coalescing operators * repeating
2024-04-06misc: Add ANGLE configuration option to JSON and CLI (#6520)1.1.1262MutantAura
* Add hardware-acceleration toggle to ConfigurationState. * Add command line override for easier RenderDoc use. * Adjust CLI arguments. * fix whitespace format check * fix copypasta in comment * Add X11 rendering mode toggle * Remove ANGLE specific comments.
2024-04-06Delete old 16KB page workarounds (#6584)1.1.1261gdkchan
* Delete old 16KB page workarounds * Rename Supports4KBPage to UsesPrivateAllocations * Format whitespace * This one should be false too * Update XML doc
2024-04-06Vulkan: Fix swapchain image view leak (#6509)1.1.1260gdkchan
2024-04-06Vulkan: Skip draws when patches topology is used without a tessellation ↵1.1.1259gdkchan
shader (#6508)
2024-04-06Add mod enablement status in the log message (#6571)1.1.1257WilliamWsyHK
2024-04-06"Task.Wait()" synchronously blocks, use "await" instead (#6598)1.1.1255Marco Carvalho
2024-04-05ts: Migrate service to Horizon project (#6514)1.1.1254Ac_K
* ts: Migrate service to Horizon project This PR migrate the `ts` service (stored in `ptm`) to the Horizon project: - It stubs all known IPCs. - IpcServer consts are checked by RE. Closes #6480 * Fix args
2024-04-05Ignore diacritics on game search (#6602)1.1.1253gdkchan
2024-04-05Add missing ModWindowTitle locale key (#6601)1.1.1252gdkchan
* Add missing ModWindowTitle locale key * Fix this while I'm at it
2024-04-04Add support to IVirtualMemoryManager for zero-copy reads (#6251)1.1.1251jhorv
* - WritableRegion: enable wrapping IMemoryOwner<byte> - IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous. - IVirtualMemoryManager: add GetReadOnlySequence() and impls - ByteMemoryPool: add new method RentCopy() - ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl * - BytesReadOnlySequenceSegment: move from Ryujinx.Common.Memory to Ryujinx.Memory - BytesReadOnlySequenceSegment: add IsContiguousWith() and Replace() methods - VirtualMemoryManagerBase: - remove generic type parameters, instead use ulong for virtual addresses and nuint for host/physical addresses - implement IWritableBlock - add virtual GetReadOnlySequence() with coalescing of contiguous segments - add virtual GetSpan() - add virtual GetWritableRegion() - add abstract IsMapped() - add virtual MapForeign(ulong, nuint, ulong) - add virtual Read<T>() - add virtual Read(ulong, Span<byte>) - add virtual ReadTracked<T>() - add virtual SignalMemoryTracking() - add virtual Write() - add virtual Write<T>() - add virtual WriteUntracked() - add virtual WriteWithRedundancyCheck() - VirtualMemoryManagerRefCountedBase: remove generic type parameters - AddressSpaceManager: remove redundant methods, add required overrides - HvMemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - MemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - MemoryManagerHostMapped: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling - NativeMemoryManager: add get properties for Pointer and Length - throughout: removed invalid <inheritdoc/> comments * make HvMemoryManager class sealed * remove unused method * adjust MemoryManagerHostTracked * let MemoryManagerHostTracked override WriteImpl()
2024-04-03Stop clearing Modified flag on DiscardData (#6591)1.1.1250gdkchan
2024-04-02New Crowdin updates (#6550)1.1.1249Ac_K
* New translations en_us.json (Spanish) * New translations en_us.json (Arabic) * New translations en_us.json (German) * New translations en_us.json (Greek) * New translations en_us.json (Italian) * New translations en_us.json (Korean) * New translations en_us.json (Polish) * New translations en_us.json (Russian) * New translations en_us.json (Turkish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Spanish) * New translations en_us.json (Arabic) * New translations en_us.json (German) * New translations en_us.json (Greek) * New translations en_us.json (Hebrew) * New translations en_us.json (Italian) * New translations en_us.json (Japanese) * New translations en_us.json (Korean) * New translations en_us.json (Polish) * New translations en_us.json (Russian) * New translations en_us.json (Turkish) * New translations en_us.json (French) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Chinese Traditional) * New translations en_us.json (Portuguese, Brazilian) * New translations en_us.json (Thai) * New translations en_us.json (Italian) * New translations en_us.json (Japanese) * New translations en_us.json (Polish) * New translations en_us.json (Ukrainian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Arabic) * New translations en_us.json (Italian) * New translations en_us.json (Russian) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Italian) * New translations en_us.json (German) * New translations en_us.json (Korean) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Arabic) * New translations en_us.json (Hebrew) * New translations en_us.json (Chinese Simplified) * New translations en_us.json (Arabic)
2024-03-27UI: Friendly driver name reporting. (#6530)1.1.1248MutantAura
* Implement friendly VkDriverID names for UI. * Capitalise NVIDIA * Prefer vendor name on macOS * Typo fix Co-authored-by: gdkchan <gab.dark.100@gmail.com> --------- Co-authored-by: gdkchan <gab.dark.100@gmail.com>