Commit graph

1483 commits

Author SHA1 Message Date
riperiperi
b838e81c24 Use a descriptor cache for faster pool invalidation. (#1977)
* Use a descriptor cache for faster pool invalidation.

* Speed up comparison by casting to Vector256

Now we never need to worry about this ever again
2024-02-22 19:15:32 -05:00
ShahilSharma
284be04653 Enable Docked Mode by Default (#1953)
Enables Docked Mode by default, since I see no reason to keep it off by Default.
2024-02-22 19:15:32 -05:00
gdkchan
979392d5ff Support multiple destination operands on shader IR and shuffle predicates (#1964)
* Support multiple destination operands on shader IR and shuffle predicates

* Cache version change
2024-02-22 19:15:32 -05:00
gdkchan
cfa5974bd3 Lower precision of estimate instruction results to match Arm behavior (#1943)
* Lower precision of estimate instruction results to match Arm behavior

* PTC version update

* Nits
2024-02-22 19:15:32 -05:00
gdkchan
077134ae73 Support shader F32 to Bool reinterpretation (#1969) 2024-02-22 19:15:32 -05:00
gdkchan
8ee95856c1 Fix regression on shader atomic SSBO operations (#1967)
* Fix regression on shader atomic SSBO operations

* Update comment
2024-02-22 19:15:32 -05:00
gdkchan
a74181c2df Avoid some redundant GL calls (#1958) 2024-02-22 19:15:32 -05:00
gdkchan
c2392224b2 Fix conditional rendering without queries (#1965) 2024-02-22 19:15:32 -05:00
mageven
f4ce16c140 Initial Setup: Reload keys before verifying firmware (#1955)
* Initial Setup: Reload keys before verifying firmware

Also, display the NoKeys dialog if keyset is empty when verifying
firmware.

* LoadApplications: Remove the lone debug log and print the error directly
2024-02-22 19:15:32 -05:00
gdkchan
b765253554 Fix compute shader code dumping (#1960) 2024-02-22 19:15:32 -05:00
gdkchan
5a5f19c416 Add support for shader atomic min/max (S32) (#1948) 2024-02-22 19:15:32 -05:00
mageven
82e3996046 Implement PRFM (register variant) as NOP (#1956)
* Implement PRFM (register variant) as NOP

Fix typo pfrm -> prfm
Add comments to distinguish variants

* Increment PTC version
2024-02-22 19:15:32 -05:00
EmulationFanatic
12982e10d2 GUI Update: Fix controller input window to fit all images without scrolling (#1962)
Currently, when configuring controller input with an "Xinput Controller" or "Unmapped Controller", the window does not fit the images for Pro Controller (width limited) or Joycon Pair (width and height limited). This PR proportionally enlarges the window so that no scrolling is ever necessary to fully see the controller image.
2024-02-22 19:15:32 -05:00
EliEron
b4a8de13cf Prevent Display Sleep on Windows while running a game (#1850)
Co-authored-by: EliEron <example@example.com>
2024-02-22 19:15:31 -05:00
FICTURE7
b8e08bc6cc Add VCLZ.* fast path (#1917)
* Add VCLZ fast path

* Add VCLZ.8B/16B SSSE3 fast path
* Add VCLZ.4H/8H SSSE3 fast path
* Add VCLZ.2S/4S SSE2 fast path

* Improve CLZ.4H/8H fast path

* Improve CLZ.2S/4S fast path

* Set PPTC version
2024-02-22 19:15:31 -05:00
gdkchan
77ebedee7f Allow out of bounds storage buffer access by aligning their sizes (#1870)
* Allow out of bounds storage buffer access by aligning their sizes

* Use correct size

* Fix typo and comment on the reason for the change
2024-02-22 19:15:31 -05:00
ShahilSharma
8004cfe0bb Update Controller Images (#1951)
This updates the old Images used for the input section for Ryujinx. The old one didn't play nice with the some GTK themes like light mode, this new one does.
2024-02-22 19:15:30 -05:00
Mary
7dd73864a8 Github Actions: Workaround windows-latest restore failures (#1957)
See https://github.com/actions/setup-dotnet/issues/155.
2024-02-22 19:15:30 -05:00
gdkchan
f224543038 Match texture if the physical range is the same (#1934)
* Match texture if the physical range is the same

* XML docs and comments
2024-02-22 19:15:30 -05:00
mageven
93710ed291 TZ: Fix loop condition in GetTZName (#1950)
Closes #1949
2024-02-22 19:15:30 -05:00
Caian Benedicto
76c1d46682 Fix inverted read only flag in transfer memory creation (#1945) 2024-02-22 19:15:30 -05:00
mageven
eae53fa371 Fix SL/SR typo in keyboard controller mapping (#1938) 2024-02-22 19:15:30 -05:00
gdkchan
c18df3c819 Fix alignment on CreateTransferMemoryStorage (#1937) 2024-02-22 19:15:30 -05:00
LDj3SNuD
b7b1cd6bd7 CPU (A64): Add Fmaxnmp & Fminnmp Scalar Inst.s, Fast & Slow Paths; with Tests. (#1894) 2024-02-22 19:15:30 -05:00
gdkchan
8dc031ad8e Enable parallel ASTC decoding by default (#1930) 2024-02-22 19:15:30 -05:00
gdkchan
c1010f9bfd Fix out of range exception when a invalid base lod is used (#1931) 2024-02-22 19:15:30 -05:00
Sera
8fe492ccbb Fix some GLXBadDrawable crashes on linux (#1900)
Fixes the crashes on linux when you stop emulation, and when you try to
exit the emulator while a game is running.
Also tested on windows without problems on my side.
2024-02-22 19:15:30 -05:00
gdkchan
c3fc68417e Reduce temporary copy/fill buffer size (#1926) 2024-02-22 19:15:30 -05:00
Ac_K
f049c125b7 am: Implement CreateHandleStorage and fixes (#1929) 2024-02-22 19:15:30 -05:00
mageven
877b873383 Emulate a circular zone for keyboard analog sticks (#1906) 2024-02-22 19:15:30 -05:00
pineappleEA
95bb02f75e Fix Linux Icon (#1927) 2024-02-22 19:15:29 -05:00
riperiperi
6d33b44e03 Implement lazy flush-on-read for Buffers (SSBO/Copy) (#1790)
* Initial implementation of buffer flush (VERY WIP)

* Host shaders need to be rebuilt for the SSBO write flag.

* New approach with reserved regions and gl sync

* Fix a ton of buffer issues.

* Remove unused buffer unmapped behaviour

* Revert "Remove unused buffer unmapped behaviour"

This reverts commit f1700e52fb8760180ac5e0987a07d409d1e70ece.

* Delete modified ranges on unmap

Fixes potential crashes in Super Smash Bros, where a previously modified range could lie on either side of an unmap.

* Cache some more delegates.

* Dispose Sync on Close

* Also create host sync for GPFifo syncpoint increment.

* Copy buffer optimization, add docs

* Fix race condition with OpenGL Sync

* Enable read tracking on CommandBuffer, insert syncpoint on WaitForIdle

* Performance: Only flush individual pages of SSBO at a time

This avoids flushing large amounts of data when only a small amount is actually used.

* Signal Modified rather than flushing after clear

* Fix some docs and code style.

* Introduce a new test for tracking memory protection.

Sucessfully demonstrates that the bug causing write protection to be cleared by a read action has been fixed. (these tests fail on master)

* Address Comments

* Add host sync for SetReference

This ensures that any indirect draws will correctly flush any related buffer data written before them. Fixes some flashing and misplaced world geometry in MH rise.

* Make PageAlign static

* Re-enable read tracking, for reads.
2024-02-22 19:15:29 -05:00
gdkchan
17dbc7a45e Support for resources on non-contiguous GPU memory regions (#1905)
* Support for resources on non-contiguous GPU memory regions

* Implement MultiRange physical addresses, only used with a single range for now

* Actually use non-contiguous ranges

* GetPhysicalRegions fixes

* Documentation and remove Address property from TextureInfo

* Finish implementing GetWritableRegion

* Fix typo
2024-02-22 19:15:29 -05:00
gdkchan
b7bbd3fc33 Fix mipmap base level being ignored for sampled textures and images (#1911)
* Fix mipmap base level being ignored for sampled textures and images

* Fix layer size and max level for textures

* Missing XML doc + reorder comments
2024-02-22 19:15:29 -05:00
Bruno Macabeus
8131347c0a settings: add Show Confirm Exist toggle (#1856) 2024-02-22 19:15:29 -05:00
gdkchan
18b8bf1ea8 Fix shader LOP3 predicate write condition (#1910)
* Fix LOP3 predicate write condition

* Bump shader cache version
2024-02-22 19:15:29 -05:00
Bruno Macabeus
ee0765d4ac android-fence: call callback when fence is invalid (#1881) 2024-02-22 19:15:29 -05:00
gdkchan
cef890bcc5 Implement shader CC mode for ISCADD, X mode for ISETP and fix STL/STS/STG with RZ (#1901)
* Implement shader CC mode for ISCADD, X mode for ISETP and fix STS/STG with RZ

* Fix STG too and bump shader cache version

* Fix wrong name

* Fix Carry being inverted on comparison
2024-02-22 19:15:29 -05:00
gdkchan
166eeb8f0b Implement clear buffer (fast path) (#1902)
* Implement clear buffer (fast path)

* Remove blank line
2024-02-22 19:15:29 -05:00
LDj3SNuD
4dd8f7f36c Add a simple Pools Limiter. (#1830)
* Added support for offline invalidation, via PPTC, of low cq translations replaced by high cq translations; both on a single run and between runs.

Added invalidation of .cache files in the event of reuse on a different user operating system.

Added .info and .cache files invalidation in case of a failed stream decompression.

Nits.

* InternalVersion = 1712;

* Nits.

* Address comment.

* Get rid of BinaryFormatter.

Nits.

* Move Ptc.LoadTranslations().

Nits.

* Nits.

* Fixed corner cases (in case backup copies have to be used). Added save logs.

* Not core fixes.

* Complement to the previous commit. Added load logs. Removed BinaryFormatter leftovers.

* Add LoadTranslations log.

* Nits.

* Removed the search and management of LowCq overlapping functions.

* Final increment of .info and .cache flags.

* Nit.

* Free up memory allocated by Pools during any PPTC translations at boot time.

* Nit due to rebase.

* Add a simple Pools Limiter.

* Nits.

* Fix missing JumpTable.RegisterFunction() due to rebase.

Clear MemoryStreams as soon as possible, when they are no longer needed.

* Code cleaning.

* Nit for retrigger Checks.

* Update Ptc.cs

* Contextual refactoring of Translator. Ignore resetting of pools for DirectCallStubs.

* Nit for retrigger Checks.
2024-02-22 19:15:29 -05:00
Caian Benedicto
d39309c906 Add support for inline software keyboard (#1868)
* Add background mode configuration to SoftwareKeyboardApplet

* Add placeholder text generator for Software Keyboard in background mode

* Add stub for GetIndirectLayerImageMap

* Fix default state of DecidedCancel response

* Add GUI text input to Software Keyboard in background mode

* Fix graphical glitch when Inline Software Keyboard appears

* Improve readability of InlineResponses class

* Improve code styling and fix compiler warnings

* Replace ServiceDisplay log class by ServiceVi

* Replace static readonly by const

* Add proper finalization to the keyboard applet in inline mode

* Rename constants to start with uppercase

* Fix inline keyboard not working with some games

* Improve code readability

* Fix code styling
2024-02-22 19:15:29 -05:00
Bruno Macabeus
4d571cd7ee ui: disable "Simulate Wake-up" when no game is running (#1863) 2024-02-22 19:15:29 -05:00
Steven Smith
0d24e580fc Only attempt to import common tickets. (#1886) 2024-02-22 19:15:29 -05:00
Ac_K
dead51d1ab pctl: Stub IsFreeCommunicationAvailable (#1893)
* pctl: Stub IsFreeCommunicationAvailable

This PR stub call IsFreeCommunicationAvailable since it's the same as call CheckFreeCommunicationPermission without a sets of an internal field.
I've fixed a wrong logic found while I'm checked the call by RE.

This fix #1883.

* Fix comments
2024-02-22 19:15:28 -05:00
gdkchan
08a4718651 Fix compute reserved constant buffer updates (#1892) 2024-02-22 19:15:28 -05:00
Ac_K
edecf74f8c Hotfix for Updater introduced in #1859 2024-02-22 19:15:28 -05:00
gdkchan
63e74aa41c Fix remap when handle is 0 (#1882)
* Nvservices cleanup and attempt to fix remap

* Unmap if remap handle is 0

* Remove mapped pool add from Remap
2024-02-22 19:15:28 -05:00
Ac_K
d44ef61d86 am: stub PresetLibraryAppletGpuTimeSliceZero (#1876) 2024-02-22 19:15:28 -05:00
gdkchan
01b8cd1820 Support conditional on BRK and SYNC shader instructions (#1878)
* Support conditional on BRK and SYNC shader instructions

* Add TODO comment and bump cache version
2024-02-22 19:15:28 -05:00
Ac_K
8cad2c0a7c gui: Refactoring Part 1 (#1859)
* gui: Refactoring Part 1

* Fix ProfileDialog.glade path

* Fix Application.Quit assert

* Fix TitleUpdateWindow parent

* Fix TitleUpdate selected item

* Remove extra line in TitleUpdateWindow

* Fix empty assign of Enum.TryParse

* Add Patrons list in the About Window

* update about error messages
2024-02-22 19:15:28 -05:00