Commit graph

1944 commits

Author SHA1 Message Date
Logan Stromberg
03f87b3967 merge from master 2021-12-30 16:12:22 -08:00
Logan Stromberg
a8a4e44179
Merge branch 'Ryujinx:master' into master 2021-12-28 15:00:49 -08:00
gdkchan
ef39b2ebdd
Flip scissor box when the YNegate bit is set (#2941)
* Flip scissor box when the YNegate bit is set

* Flip scissor based on screen scissor state, account for negative scissor Y

* No need for abs when we already know the value is negative
2021-12-28 08:37:23 -03:00
gdkchan
6dacc4c577
Fix GetHostByNameRequestWithOptions and GetHostByAddrRequestWithOptions (#2943) 2021-12-28 08:22:58 -03:00
gdkchan
f65d01b5d3
Use minimum stream sample count on SDL2 audio backend (#2948) 2021-12-27 18:25:21 -03:00
gdkchan
ac57dd5d75
Fix wrong title language (#2933)
* Fix wrong title language

* Sort
2021-12-27 18:10:49 -03:00
gdkchan
a87f7f2029
Fix DMA copy fast path line size when xCount < stride (#2942) 2021-12-26 13:05:26 -03:00
sharmander
7c7bf30ad3
Fix missing default value of audio volume. (#2939) 2021-12-26 12:54:26 -03:00
gdkchan
451673ada5
Fix I2M texture copies when line length is not a multiple of 4 (#2938)
* Fix I2M texture copies when line length is not a multiple of 4

* Do not copy padding bytes for 1D copies

* Nit
2021-12-26 12:39:07 -03:00
gdkchan
0b1185284c
Fix GetAddrInfoWithOptions and some sockets issues (#2936)
* Fix GetAddrInfoWithOptions and some sockets issues

* Was not supposed to remove this log
2021-12-26 15:17:13 +01:00
gdkchan
c0056546e7
Fix bug causing an audio buffer to be enqueued more than once (#2940) 2021-12-26 14:48:18 +01:00
Logan Stromberg
9aa6d1c735 Revert "Revert "Add support for releasing a semaphore to DmaClass (#2926)""
This reverts commit ec8a5fd053.
2021-12-23 21:09:27 -08:00
Logan Stromberg
ec8a5fd053 Revert "Add support for releasing a semaphore to DmaClass (#2926)"
This reverts commit 521a07e612.
2021-12-23 16:48:27 -08:00
Mary
0205b1d7f6 Revert "sdl2: Update to Ryujinx.SDL2-CS 2.0.19 (#2907)"
This reverts commit 5dae02cfcb.
2021-12-24 00:03:23 +01:00
gdkchan
a438a4bc16
Remove PortRemoteClosed warning (#2928) 2021-12-23 14:43:30 -03:00
Mary
3aa22a1408
misc: Update SPB to 0.0.4-build17 (#2903)
Update to a new SPB version targeting .NET 6.
2021-12-23 14:31:06 -03:00
Mary
5dae02cfcb
sdl2: Update to Ryujinx.SDL2-CS 2.0.19 (#2907) 2021-12-23 14:11:32 -03:00
Alex Barney
aa932a6df1
Update to LibHac v0.14.3 (#2925)
* Update to LibHac v0.14.3

* Fix loading NCAs that don't have a data partition
2021-12-23 13:55:50 -03:00
sharmander
cb43cc7e32
UI - Add Volume Controls + Mute Toggle (F2) (#2871)
* Add the ability to toggle mute in the status bar.

* Add the ability to toggle mute in the status bar.

* Formatting fixes

* Add hotkey (F2) to mute

* Add default hotkey to config.json

* Add ability to change volume via slider.

* Fix Headless

* Fix SDL2 Problem : Credits to d3xMachina

* Remove unnecessary work

* Address gdk comments

* Toggling with Hotkey now properly restores volume to original level.

* Toggling with Hotkey now properly restores volume to original level.

* Update UI to show Volume % instead of Muted/Unmuted

* Clean up the volume ui a bit.

* Undo unintentionally committed code.

* Implement AudRen Support

* Restore intiial volume level in function definition.

* Finalize UI

* Finalize UI

* Use clamp for bounds check

* Use Math.Clamp for volume in soundio

* Address comments by gdkchan

* Address remaining comments

* Fix missing semicolon

* Address remaining gdkchan comment

* Fix comment

* Change /* to //

* Allow volume slider to change volume immediately.
Also force label text to cast to int to prevent decimals from showing in status bar

* Remove blank line

* Undo setting of volume level when "Cancel" is pressed.

* Fix allignment for settings window code
2021-12-23 13:33:56 -03:00
Logan Stromberg
00f4251525 using pools for file read operations instead of allocating a giant transient array each time 2021-12-22 21:40:51 -08:00
gdkchan
e7c2dc8ec3
Fix for texture pool not being updated when it should + buffer texture related fixes (#2911) 2021-12-19 11:50:44 -03:00
riperiperi
521a07e612
Add support for releasing a semaphore to DmaClass (#2926)
* Add support for releasing a semaphore to DmaClass

Fixes freezes in OpenGL games, primarily GameMaker ones such as Undertale.

* Address Feedback
2021-12-19 11:32:52 -03:00
gdkchan
e24949ca2c
Implement CSDB instruction (#2927) 2021-12-19 11:19:05 -03:00
VocalFan
267b248c13
Using more intense lossless compression. (#2811) 2021-12-19 09:50:34 -03:00
Mary
2a8e02ecfb
Remove debug configuration and schema (#2920)
The debug configuration can be created by the emulator and is an
artefact of the past.

I also took the liberty of removing the _schema.json file as most of the
time it is left unused/outdated.
2021-12-15 17:40:08 +01:00
Mary
2b08ceb9c1
Remove unused empty Ryujinx.Audio.Backends project (#2919) 2021-12-14 18:05:25 -03:00
Mary
265b3145a3
misc: Sync Config.json default debug config (#2904) 2021-12-12 23:12:57 +01:00
gdkchan
119a3a1887
Fix SUATOM and other texture shader instructions with RZ dest (#2885)
* Fix SUATOM and other texture shader instructions with RZ dest

* Shader cache version bump
2021-12-08 18:36:09 -03:00
Mary
00c69f2098
Remove usage of Mono.Posix.NETStandard accross all projects (#2906)
* Remove usage of Mono.Posix.NETStandard in Ryujinx project

* Remove usage of Mono.Posix.NETStandard in ARMeilleure project

* Remove usage of Mono.Posix.NETStandard in Ryujinx.Memory project

* Address gdkchan's comments
2021-12-08 18:24:26 -03:00
riperiperi
bc4e70b6fa
Move texture anisotropy check to SetInfo (#2843)
Rather than calculating this for every sampler, this PR calculates if a texture can force anisotropy when its info is set, and exposes the value via a public boolean.

This should help texture/sampler heavy games when anisotropic filtering is not Auto, like UE4 ones (or so i hear?). There is another cost where samplers are created twice when anisotropic filtering is enabled, but I'm not sure how relevant this one is.
2021-12-08 18:09:36 -03:00
gdkchan
650cc41c02
Implement remaining shader double-precision instructions (#2845)
* Implement remaining shader double-precision instructions

* Shader cache version bump
2021-12-08 17:54:12 -03:00
Mary
a0aa87366c
misc: Fix alsoft.ini being present on Linux releases (#2902) 2021-12-08 17:43:02 -03:00
Piyachet Kanda
3e2f89b4fd
Implement UHADD8 instruction (#2908)
* Implement UHADD8 instruction along with a test unit

* Update PTC revision number
2021-12-08 17:05:59 -03:00
gdkchan
acc0b0f313
Fix FLO.SH shader instruction with a input of 0 (#2876)
* Fix FLO.SH shader instruction with a input of 0

* Shader cache version bump
2021-12-05 13:25:05 +01:00
Mary
2ab777885b
kernel: Improve GetInfo readability and update to 13.0.0 (#2900)
* kernel: Define InfoTYpe and make it less obscure when reading GetInfo

Also map ThreadTickCount to 25 instead of 0xF0000002 like 13.x kernel.

* kernel: Implement GetInfo IsApplication

* kernel: Implement GetInfo FreeThreadCount
2021-12-04 20:23:26 -03:00
Mary
f39fce8f54
misc: Migrate usage of RuntimeInformation to OperatingSystem (#2901)
Very basic migration across the codebase.
2021-12-04 20:02:30 -03:00
Logan Stromberg
ff12f911e2 Pooling the FIFO command buffers reduces heap allocations by another 10%, from 80MB/sec to 65MB/sec in Mario 2021-11-30 21:25:53 -08:00
Logan Stromberg
1a45df0b12 Reverting changes to ITexture so it accepts a ReadOnlySpan again. 2021-11-30 21:07:57 -08:00
Logan Stromberg
0dcd59d443 Updating some comments 2021-11-30 17:27:41 -08:00
Logan Stromberg
9d38fd5c5c making it a easier to debug buffer pool leaks 2021-11-30 16:58:31 -08:00
Logan Stromberg
d8edc66420 fixing the texture decoding regression 2021-11-30 16:47:59 -08:00
Logan Stromberg
3544dcc1ee pointless changes 2021-11-30 14:03:00 -08:00
Logan Stromberg
a8e98427d7 fix dumb range syntax in pooled buffer, and also allow the option to initially clear the buffer 2021-11-30 13:53:49 -08:00
Mary
7c9360d393
Fix Amiibo hanging since .NET 6 changes (#2890)
The .NET 6 changes ended up causing a difference in the way we deserialise and would end up deserializing wrongly.

This commit fixes it by resoring previous behaviour while still fixing the illink warning that caused that change in the first place
2021-11-30 11:09:32 +01:00
Logan Stromberg
560ed5eebd
Don't blow up everything if a DLC file is moved or renamed. (#2867)
* Don't blow up everything if a DLC file is missing

* change comment

* More correctly setting the "enabled" check box on dlc dialog for the add-on NSP based on the enabled state of all NCAs in the package.

* Update Ryujinx.HLE/HOS/ApplicationLoader.cs

Co-authored-by: Ac_K <Acoustik666@gmail.com>

Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
Co-authored-by: Ac_K <Acoustik666@gmail.com>
2021-11-29 15:21:27 -03:00
Logan Stromberg
3a4a752622 making pooled buffer access internal so it can only be fetched as a span - this prevents references to the pooled buffer from escaping. Requires some refactor to the ASTC decoder to support it. 2021-11-28 17:52:51 -08:00
Mary
57d3296ba4
infra: Migrate to .NET 6 (#2829)
* infra: Migrate to .NET 6

* Rollback version naming change

* Workaround .NET 6 ZipArchive API issues

* ci: Switch to VS 2022 for AppVeyor

CI is now ready for .NET 6

* Suppress WebClient warning in DoUpdateWithMultipleThreads

* Attempt to workaround System.Drawing.Common changes on 6.0.0

* Change keyboard rendering from System.Drawing to ImageSharp

* Make the software keyboard renderer multithreaded

* Bump ImageSharp version to 1.0.4 to fix a bug in Image.Load

* Add fallback fonts to the keyboard renderer

* Fix warnings

* Address caian's comment

* Clean up linux workaround as it's uneeded now

* Update readme

Co-authored-by: Caian Benedicto <caianbene@gmail.com>
2021-11-28 21:24:17 +01:00
Logan Stromberg
a36a0248cc Implementing a new BufferPool<T> wrapper for ArrayPool<T> which can be used to pass around large pooled buffers. Replacing all Texture.SetData(Span) signatures with equivalents which use these pooled buffers. Returning pooled buffers from texture format conversions and DMA copies. 2021-11-28 09:41:57 -08:00
Mary
7b040e51b0
kernel: Fix sleep timing accuracy (#2828)
* kernel: Fix sleep timing accuracy

This commit corrects some mistake while comparing reversing of kernel
13.x with our own.

WaitAndCheckScheduledObjects timing accuracy was also improved.

* Make KTimeManager.WaitAndCheckScheduledObjects spin wait for sub milliseconds

Fix performance regression on Pokemon Let's Go games and possibly
others.

* Address rip's comment

* kernel: Fix issues with timeout of -1 (0xFFFFFFFF)

Fixes possible hang on Pokemon DP and possibly others
2021-11-28 13:15:26 +01:00
Mary
786fb04d20
kernel: Add support for CFI (#2839)
Add basic support for the CFI value being passed in X18 since 11.0.0 by the official kernel.
We do not implement any random generator atm in the kernel and as such the KSystemControl.GenerateRandom function is stubbed
2021-11-28 13:01:17 +01:00