Compare commits

..

28 Commits

Author SHA1 Message Date
46c8129bf5 Avalonia: Another Cleanup (#3494)
* Avalonia: Another Cleanup

This PR is a cleanup to the avalonia code recently added:

- Some XAML file are autoformatted like a previous PR.
- Dlc is renamed to DownloadableContent (Locale exclude).
- DownloadableContentManagerWindow is a bit improved (Fixes #3491).
- Some nits here and there.

* Fix GTK

* Remove AttachDebugDevTools

* Fix last warning

* Fix JSON fields
2022-07-29 00:41:34 +02:00
8cfec5de4b Avalonia: Cleanup UserEditor a bit (#3492)
This PR cleanup the UserEditor code a bit, 2 texts are added for "Name" and "User Id", because when you create a new profile, the textbox is empty without any hints. `axaml` files are autoformated too.
2022-07-28 14:16:23 -03:00
37b6e081da Fix DMA linear texture copy fast path (#3496)
* Fix DMA linear texture copy fast path

* Formatting
2022-07-28 13:46:12 -03:00
3c3bcd82fe Add a sampler pool cache and improve texture pool cache (#3487)
* Add a sampler pool cache and improve texture pool cache

* Increase disposal timestamp delta more to be on the safe side

* Nits

* Use abstract class for PoolCache, remove factory callback
2022-07-27 21:07:48 -03:00
a00c59a46c update settings and main window tooltips (#3488) 2022-07-25 23:02:17 +02:00
1825bd87b4 misc: Reformat Ryujinx.Audio with dotnet-format (#3485)
This is the first commit of a series of reformat around the codebase as
discussed internally some weeks ago.

This project being one that isn't touched that much, it shouldn't cause
conflict with any opened PRs.
2022-07-25 15:46:33 -03:00
62f8ceb60b Resolution scaling hotkeys (#3185)
* hotkeys

* comments

* update implementation to include custom scales

* copypasta

* review changes

* hotkeys

* comments

* update implementation to include custom scales

* copypasta

* review changes

* Remove outdated configuration and force hotkeys unbound

* Add avalonia support

* Fix configuration file

* Update GTK implementation and fix config... again.

* Remove legacy implementation + nits

* Avalonia locales (DeepL)

* review

* Remove colon from chinese locale

* Update ConfigFile

* locale fix
2022-07-24 15:44:47 -03:00
1a888ae087 Add support for conditional (with CC) shader Exit instructions (#3470)
* Add support for conditional (with CC) shader Exit instructions

* Shader cache version bump

* Make CSM conditions default to false for EXIT.CC
2022-07-24 15:33:30 -03:00
84d0ca5645 feat: add traditional chinese translate (Avalonia) (#3474)
* feat: add traditional chinese translate

* update translate
2022-07-24 15:18:21 -03:00
31b8d413d5 Change MenuHeaders to embedded textblocks (#3469) 2022-07-24 14:50:06 -03:00
6e02cac952 Avalonia - Use content dialog for user profile manager (#3455)
* remove content dialog placeholder from all windows

* remove redundant window argument

* redesign user profile window

* wip

* use avalonia auto name generator

* add edit and new user options

* move profile image selection to content dialog

* remove usings

* fix updater

* address review

* adjust avatar dialog size

* add validation for user editor

* fix typo

* Shorten some labels
2022-07-24 14:38:38 -03:00
3a3380fa25 fix: Ensure to load latest version of ffmpeg libraries first (#3473)
Fix a possible crash related to older version of ffmpeg being loaded
instewad of the one shipped with the emulator.
2022-07-24 11:39:56 +02:00
2d252db0a7 GTK & Avalonia changes (#3480) 2022-07-23 12:05:51 -03:00
7f8a3541eb Fix decoding of block after shader BRA.CC instructions without predicate (#3472)
* Fix decoding of block after BRA.CC instructions without predicate

* Shader cache version bump
2022-07-23 11:53:14 -03:00
b34de74f81 Avoid adding shader buffer descriptors for constant buffers that are not used (#3478)
* Avoid adding shader buffer descriptors for constant buffers that are not used

* Shader cache version
2022-07-23 11:15:58 -03:00
5811d121df Avoid scaling 2d textures that could be used as 3d (#3464) 2022-07-15 09:24:13 -03:00
6eb85e846f Reduce some unnecessary allocations in DMA handler (#2886)
* experimental changes to try and reduce allocations in kernel threading and DMA handler

* Simplify the changes in this branch to just 1. Don't make unnecessary copies of data just for texture-texture transfers and 2. Add a fast path for 1bpp linear byte copies

* forgot to check src + dst linearity in 1bpp DMA fast path. Fixes the UE4 regression.

* removing dev log I left in

* Generalizing the DMA linear fast path to cases other than 1bpp copies

* revert kernel changes

* revert whitespace

* remove unneeded references

* PR feedback

Co-authored-by: Logan Stromberg <lostromb@microsoft.com>
Co-authored-by: gdk <gab.dark.100@gmail.com>
2022-07-14 15:45:56 -03:00
c5bddfeab8 Remove dependency for FFmpeg.AutoGen and Update FFmpeg to 5.0.1 for Windows (#3466)
* Remove dependency for FFMpeg.AutoGen

Also prepare for FFMpeg 5.0 and 5.1

* Update Ryujinx.Graphics.Nvdec.Dependencies to 5.0.1-build10

* Address gdkchan's comments

* Address Ack's comment

* Address gdkchan's comment
2022-07-14 15:13:23 +02:00
70ec5def9c BSD: Allow use of DontWait flag in Receive (#3462) 2022-07-14 11:47:25 +02:00
7853faa334 Ava/MainWindow: Do not show Show Console menu item on non-Windows (#3461) 2022-07-12 12:58:31 +00:00
b7fb474bfe Handle the case where byte optionValues are sent to BSD (#3405)
Some games and the Mario Odyssey Multiplayer mod do this.

The SMO multiplayer mod also needs you to revert #3394 as it uses a blocking socket to receive (otherwise it hangs), and it doesn't seem to like being forced as non-blocking.
2022-07-12 00:50:01 +02:00
2fa6413ed8 Avalonia - Add border to Flyouts (#3341)
* add borders to menus

* apply to dropdowns

* darken the border for dark theme

* fix duplicate keys
2022-07-12 00:44:35 +02:00
4523a73f75 Propagate Shader phi nodes with the same source value from all blocks (#3457)
* Propagate Shader phi nodes with the same source value from all incoming blocks

* Shader cache version bump
2022-07-12 00:36:58 +02:00
f4c47f3c9a Avalonia - Make tooltips more useful and descriptive, update Spanish localization (#3453)
* expand English tooltips and clean up

* small oversight

* update Spanish locale

* wording

* Internet

* address feedback

* update localization accordingly
2022-07-12 00:32:14 +02:00
7d9a5feccb Avalonia - Couple fixes and improvements (#3451)
* fix updater check crash

* remove line

* reduce cheat window sizes

* enable tiered compilation and r2r

* remove warning on LaunchState

* remove warnings related to tasks

* addressed review

* undo csproj indentation

* fix tabs in axaml file

* remove double line

* remove R2R
2022-07-12 00:25:33 +02:00
14ae4e276f Avalonia - Further Optimize Chinese Translation (#3452)
* Optimize Chinese Translation

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* test

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Update zh_CN.json

* Delete zh_CN.json

* Add files via upload

* Update zh_CN.json

* Update zh_CN.json
2022-07-12 00:12:52 +02:00
3af42d6c7e UI - Avalonia Part 3 (#3441)
* Add all other windows

* addreesed review

* Prevent "No Update" option from being deleted

* Select no update is the current update is removed from the title update window

* fix amiibo crash
2022-07-08 15:47:11 -03:00
bccf5e8b5a Avalonia - Use loaded config when assigning controller input (#3447)
* Use loaded config when assigning controller input

* Fix crash when switch player in controller window
2022-07-08 15:28:45 -03:00
320 changed files with 6036 additions and 1513 deletions

View File

@ -129,4 +129,4 @@ namespace Ryujinx.Audio
} }
} }
} }
} }

View File

@ -23,4 +23,4 @@ namespace Ryujinx.Audio.Backends.Common
return bufferSize / GetSampleSize(format) / channelCount; return bufferSize / GetSampleSize(format) / channelCount;
} }
} }
} }

View File

@ -163,4 +163,4 @@ namespace Ryujinx.Audio.Backends.Common
} }
} }
} }
} }

View File

@ -76,4 +76,4 @@ namespace Ryujinx.Audio.Backends.Common
public virtual void UnregisterBuffer(AudioBuffer buffer) { } public virtual void UnregisterBuffer(AudioBuffer buffer) { }
} }
} }

View File

@ -133,4 +133,4 @@ namespace Ryujinx.Audio.Backends.CompatLayer
return direction == Direction.Input || direction == Direction.Output; return direction == Direction.Input || direction == Direction.Output;
} }
} }
} }

View File

@ -81,7 +81,7 @@ namespace Ryujinx.Audio.Backends.CompatLayer
{ {
BufferTag = buffer.BufferTag, BufferTag = buffer.BufferTag,
DataPointer = buffer.DataPointer, DataPointer = buffer.DataPointer,
DataSize = (ulong)downmixedBuffer.Length DataSize = (ulong)downmixedBuffer.Length
}; };
bool result = _realSession.RegisterBuffer(fakeBuffer, downmixedBuffer); bool result = _realSession.RegisterBuffer(fakeBuffer, downmixedBuffer);
@ -120,4 +120,4 @@ namespace Ryujinx.Audio.Backends.CompatLayer
return _realSession.WasBufferFullyConsumed(buffer); return _realSession.WasBufferFullyConsumed(buffer);
} }
} }
} }

View File

@ -24,11 +24,11 @@ namespace Ryujinx.Audio.Backends.CompatLayer
public short Right; public short Right;
} }
private const int Q15Bits = 16; private const int Q15Bits = 16;
private const int RawQ15One = 1 << Q15Bits; private const int RawQ15One = 1 << Q15Bits;
private const int RawQ15HalfOne = (int)(0.5f * RawQ15One); private const int RawQ15HalfOne = (int)(0.5f * RawQ15One);
private const int Minus3dBInQ15 = (int)(0.707f * RawQ15One); private const int Minus3dBInQ15 = (int)(0.707f * RawQ15One);
private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One); private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One);
private const int Minus12dBInQ15 = (int)(0.251f * RawQ15One); private const int Minus12dBInQ15 = (int)(0.251f * RawQ15One);
private static readonly int[] DefaultSurroundToStereoCoefficients = new int[4] private static readonly int[] DefaultSurroundToStereoCoefficients = new int[4]
@ -46,8 +46,8 @@ namespace Ryujinx.Audio.Backends.CompatLayer
}; };
private const int SurroundChannelCount = 6; private const int SurroundChannelCount = 6;
private const int StereoChannelCount = 2; private const int StereoChannelCount = 2;
private const int MonoChannelCount = 1; private const int MonoChannelCount = 1;
[MethodImpl(MethodImplOptions.AggressiveInlining)] [MethodImpl(MethodImplOptions.AggressiveInlining)]
private static ReadOnlySpan<Channel51FormatPCM16> GetSurroundBuffer(ReadOnlySpan<short> data) private static ReadOnlySpan<Channel51FormatPCM16> GetSurroundBuffer(ReadOnlySpan<short> data)
@ -86,7 +86,7 @@ namespace Ryujinx.Audio.Backends.CompatLayer
{ {
Channel51FormatPCM16 channel = channels[i]; Channel51FormatPCM16 channel = channels[i];
downmixedBuffer[i * 2] = DownMixSurroundToStereo(coefficients, channel.BackLeft, channel.LowFrequency, channel.FrontCenter, channel.FrontLeft); downmixedBuffer[i * 2] = DownMixSurroundToStereo(coefficients, channel.BackLeft, channel.LowFrequency, channel.FrontCenter, channel.FrontLeft);
downmixedBuffer[i * 2 + 1] = DownMixSurroundToStereo(coefficients, channel.BackRight, channel.LowFrequency, channel.FrontCenter, channel.FrontRight); downmixedBuffer[i * 2 + 1] = DownMixSurroundToStereo(coefficients, channel.BackRight, channel.LowFrequency, channel.FrontCenter, channel.FrontRight);
} }
@ -122,4 +122,4 @@ namespace Ryujinx.Audio.Backends.CompatLayer
return DownMixSurroundToStereo(DefaultSurroundToStereoCoefficients, data); return DownMixSurroundToStereo(DefaultSurroundToStereoCoefficients, data);
} }
} }
} }

View File

@ -84,4 +84,4 @@ namespace Ryujinx.Audio.Backends.Dummy
return channelCount == 1 || channelCount == 2 || channelCount == 6; return channelCount == 1 || channelCount == 2 || channelCount == 6;
} }
} }
} }

View File

@ -64,4 +64,4 @@ namespace Ryujinx.Audio.Backends.Dummy
return true; return true;
} }
} }
} }

View File

@ -34,4 +34,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
public byte[] Data; public byte[] Data;
} }
} }

View File

@ -513,4 +513,4 @@ namespace Ryujinx.Audio.Common
} }
} }
} }
} }

View File

@ -15,4 +15,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
Stopped Stopped
} }
} }

View File

@ -26,4 +26,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
private ushort _reserved; private ushort _reserved;
} }
} }

View File

@ -34,4 +34,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
public AudioDeviceState AudioOutState; public AudioDeviceState AudioOutState;
} }
} }

View File

@ -33,4 +33,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
public ulong DataOffset; public ulong DataOffset;
} }
} }

View File

@ -40,4 +40,4 @@ namespace Ryujinx.Audio.Common
/// </summary> /// </summary>
Adpcm = 6 Adpcm = 6
} }
} }

View File

@ -172,4 +172,4 @@ namespace Ryujinx.Audio
0.707f, 0.707f,
}; };
} }
} }

View File

@ -214,9 +214,9 @@ namespace Ryujinx.Audio.Input
outputDeviceName = audioIn.DeviceName; outputDeviceName = audioIn.DeviceName;
outputConfiguration = new AudioOutputConfiguration outputConfiguration = new AudioOutputConfiguration
{ {
ChannelCount = audioIn.ChannelCount, ChannelCount = audioIn.ChannelCount,
SampleFormat = audioIn.SampleFormat, SampleFormat = audioIn.SampleFormat,
SampleRate = audioIn.SampleRate, SampleRate = audioIn.SampleRate,
AudioOutState = audioIn.GetState(), AudioOutState = audioIn.GetState(),
}; };
@ -263,4 +263,4 @@ namespace Ryujinx.Audio.Input
} }
} }
} }
} }

View File

@ -389,4 +389,4 @@ namespace Ryujinx.Audio.Input
} }
} }
} }
} }

View File

@ -32,8 +32,8 @@ namespace Ryujinx.Audio.Integration
_session.QueueBuffer(new AudioBuffer _session.QueueBuffer(new AudioBuffer
{ {
DataPointer = _currentBufferTag++, DataPointer = _currentBufferTag++,
Data = _buffer, Data = _buffer,
DataSize = (ulong)_buffer.Length, DataSize = (ulong)_buffer.Length,
}); });
_currentBufferTag = _currentBufferTag % 4; _currentBufferTag = _currentBufferTag % 4;
@ -72,4 +72,4 @@ namespace Ryujinx.Audio.Integration
} }
} }
} }
} }

View File

@ -52,4 +52,4 @@ namespace Ryujinx.Audio.Integration
return channelCount != Constants.ChannelCountMax; return channelCount != Constants.ChannelCountMax;
} }
} }
} }

View File

@ -31,4 +31,4 @@ namespace Ryujinx.Audio.Integration
return this; return this;
} }
} }
} }

View File

@ -25,4 +25,4 @@ namespace Ryujinx.Audio.Integration
void PrepareToClose(); void PrepareToClose();
} }
} }

View File

@ -15,4 +15,4 @@ namespace Ryujinx.Audio.Integration
/// </summary> /// </summary>
void Clear(); void Clear();
} }
} }

View File

@ -209,9 +209,9 @@ namespace Ryujinx.Audio.Output
outputDeviceName = audioOut.DeviceName; outputDeviceName = audioOut.DeviceName;
outputConfiguration = new AudioOutputConfiguration outputConfiguration = new AudioOutputConfiguration
{ {
ChannelCount = audioOut.ChannelCount, ChannelCount = audioOut.ChannelCount,
SampleFormat = audioOut.SampleFormat, SampleFormat = audioOut.SampleFormat,
SampleRate = audioOut.SampleRate, SampleRate = audioOut.SampleRate,
AudioOutState = audioOut.GetState(), AudioOutState = audioOut.GetState(),
}; };
@ -293,4 +293,4 @@ namespace Ryujinx.Audio.Output
} }
} }
} }
} }

View File

@ -169,7 +169,7 @@ namespace Ryujinx.Audio.Output
} }
SampleFormat = sampleFormat; SampleFormat = sampleFormat;
SampleRate = Constants.TargetSampleRate; SampleRate = Constants.TargetSampleRate;
} }
return result; return result;
@ -187,9 +187,9 @@ namespace Ryujinx.Audio.Output
{ {
AudioBuffer buffer = new AudioBuffer AudioBuffer buffer = new AudioBuffer
{ {
BufferTag = bufferTag, BufferTag = bufferTag,
DataPointer = userBuffer.Data, DataPointer = userBuffer.Data,
DataSize = userBuffer.DataSize DataSize = userBuffer.DataSize
}; };
if (_session.AppendBuffer(buffer)) if (_session.AppendBuffer(buffer))
@ -291,7 +291,7 @@ namespace Ryujinx.Audio.Output
{ {
lock (_parentLock) lock (_parentLock)
{ {
_session.SetVolume(volume); _session.SetVolume(volume);
} }
} }
@ -362,4 +362,4 @@ namespace Ryujinx.Audio.Output
} }
} }
} }
} }

View File

@ -10,4 +10,4 @@ namespace Ryujinx.Audio.Renderer.Common
public ulong ReturnBufferInfo; public ulong ReturnBufferInfo;
public ulong ReturnBufferInfoBase; public ulong ReturnBufferInfoBase;
} }
} }

View File

@ -47,4 +47,4 @@ namespace Ryujinx.Audio.Renderer.Common
public ulong ExtraErrorInfo; public ulong ExtraErrorInfo;
} }
} }
} }

View File

@ -147,4 +147,4 @@ namespace Ryujinx.Audio.Renderer.Common
return _nodeCount; return _nodeCount;
} }
} }
} }

View File

@ -50,4 +50,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
CaptureBuffer CaptureBuffer
} }
} }

View File

@ -40,4 +40,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
Released = 6 Released = 6
} }
} }

View File

@ -25,4 +25,4 @@ namespace Ryujinx.Audio.Renderer.Common
return (nodeId >> 16) & 0xFFF; return (nodeId >> 16) & 0xFFF;
} }
} }
} }

View File

@ -30,4 +30,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
Performance = 15 Performance = 15
} }
} }

View File

@ -226,4 +226,4 @@ namespace Ryujinx.Audio.Renderer.Common
return true; return true;
} }
} }
} }

View File

@ -16,4 +16,4 @@ namespace Ryujinx.Audio.Renderer.Common
Limiter, Limiter,
CaptureBuffer CaptureBuffer
} }
} }

View File

@ -8,4 +8,4 @@ namespace Ryujinx.Audio.Renderer.Common
FinalMix, FinalMix,
Sink Sink
} }
} }

View File

@ -20,4 +20,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
Pause Pause
} }
} }

View File

@ -30,4 +30,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
Disabled Disabled
} }
} }

View File

@ -35,4 +35,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
Limit = NoDelay Limit = NoDelay
} }
} }

View File

@ -20,4 +20,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
CircularBuffer CircularBuffer
} }
} }

View File

@ -30,4 +30,4 @@ namespace Ryujinx.Audio.Renderer.Common
TotalSize = (uint)Unsafe.SizeOf<UpdateDataHeader>(); TotalSize = (uint)Unsafe.SizeOf<UpdateDataHeader>();
} }
} }
} }

View File

@ -101,4 +101,4 @@ namespace Ryujinx.Audio.Renderer.Common
} }
} }
} }
} }

View File

@ -79,4 +79,4 @@ namespace Ryujinx.Audio.Renderer.Common
/// </summary> /// </summary>
private ushort _padding; private ushort _padding;
} }
} }

View File

@ -41,7 +41,7 @@ namespace Ryujinx.Audio.Renderer.Common
return Memory<byte>.Empty; return Memory<byte>.Empty;
} }
public Memory<T> Allocate<T>(ulong count, int align) where T: unmanaged public Memory<T> Allocate<T>(ulong count, int align) where T : unmanaged
{ {
Memory<byte> allocatedMemory = Allocate((ulong)Unsafe.SizeOf<T>() * count, align); Memory<byte> allocatedMemory = Allocate((ulong)Unsafe.SizeOf<T>() * count, align);
@ -53,9 +53,9 @@ namespace Ryujinx.Audio.Renderer.Common
return SpanMemoryManager<T>.Cast(allocatedMemory); return SpanMemoryManager<T>.Cast(allocatedMemory);
} }
public static ulong GetTargetSize<T>(ulong currentSize, ulong count, int align) where T: unmanaged public static ulong GetTargetSize<T>(ulong currentSize, ulong count, int align) where T : unmanaged
{ {
return BitUtils.AlignUp(currentSize, align) + (ulong)Unsafe.SizeOf<T>() * count; return BitUtils.AlignUp(currentSize, align) + (ulong)Unsafe.SizeOf<T>() * count;
} }
} }
} }

View File

@ -86,4 +86,4 @@ namespace Ryujinx.Audio.Renderer.Device
return Name; return Name;
} }
} }
} }

View File

@ -24,4 +24,4 @@ namespace Ryujinx.Audio.Renderer.Device
Device = virtualDevice; Device = virtualDevice;
} }
} }
} }

View File

@ -59,4 +59,4 @@ namespace Ryujinx.Audio.Renderer.Device
return virtualDeviceSession; return virtualDeviceSession;
} }
} }
} }

View File

@ -199,4 +199,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
return decodedCount; return decodedCount;
} }
} }
} }

View File

@ -268,4 +268,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
} }
} }
} }
} }

View File

@ -80,4 +80,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
} }
} }
} }
} }

View File

@ -72,4 +72,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount); DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount);
} }
} }
} }

View File

@ -170,4 +170,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -49,4 +49,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
BiquadFilterHelper.ProcessBiquadFilter(ref _parameter, ref state, outputBuffer, inputBuffer, context.SampleCount); BiquadFilterHelper.ProcessBiquadFilter(ref _parameter, ref state, outputBuffer, inputBuffer, context.SampleCount);
} }
} }
} }

View File

@ -134,4 +134,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -74,4 +74,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -21,4 +21,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
context.ClearBuffers(); context.ClearBuffers();
} }
} }
} }

View File

@ -153,4 +153,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
_buffersMemoryHandle.Dispose(); _buffersMemoryHandle.Dispose();
} }
} }
} }

View File

@ -33,4 +33,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
GroupedBiquadFilter, GroupedBiquadFilter,
CaptureBuffer CaptureBuffer
} }
} }

View File

@ -29,4 +29,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
context.CopyBuffer(OutputBufferIndex, InputBufferIndex); context.CopyBuffer(OutputBufferIndex, InputBufferIndex);
} }
} }
} }

View File

@ -105,4 +105,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount); DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount);
} }
} }
} }

View File

@ -87,7 +87,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision); float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision);
float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision); float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix2x2 delayFeedback = new Matrix2x2(delayFeedbackBaseGain , delayFeedbackCrossGain, Matrix2x2 delayFeedback = new Matrix2x2(delayFeedbackBaseGain, delayFeedbackCrossGain,
delayFeedbackCrossGain, delayFeedbackBaseGain); delayFeedbackCrossGain, delayFeedbackBaseGain);
for (int i = 0; i < sampleCount; i++) for (int i = 0; i < sampleCount; i++)
@ -124,10 +124,10 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision); float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision);
float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision); float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix4x4 delayFeedback = new Matrix4x4(delayFeedbackBaseGain , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f, Matrix4x4 delayFeedback = new Matrix4x4(delayFeedbackBaseGain, delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f,
delayFeedbackCrossGain, delayFeedbackBaseGain , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain, 0.0f, delayFeedbackCrossGain,
delayFeedbackCrossGain, 0.0f , delayFeedbackBaseGain , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f, delayFeedbackBaseGain, delayFeedbackCrossGain,
0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain); 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain);
for (int i = 0; i < sampleCount; i++) for (int i = 0; i < sampleCount; i++)
@ -149,7 +149,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
}; };
Vector4 temp = MatrixHelper.Transform(ref channelInput, ref delayFeedback) + channelInput * inGain; Vector4 temp = MatrixHelper.Transform(ref channelInput, ref delayFeedback) + channelInput * inGain;
state.UpdateLowPassFilter(ref Unsafe.As<Vector4, float>(ref temp), channelCount); state.UpdateLowPassFilter(ref Unsafe.As<Vector4, float>(ref temp), channelCount);
*((float*)outputBuffers[0] + i) = (channelInput.X * dryGain + delayLineValues.X * outGain) / 64; *((float*)outputBuffers[0] + i) = (channelInput.X * dryGain + delayLineValues.X * outGain) / 64;
@ -171,12 +171,12 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision); float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision);
float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision); float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix6x6 delayFeedback = new Matrix6x6(delayFeedbackBaseGain , 0.0f , 0.0f , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, Matrix6x6 delayFeedback = new Matrix6x6(delayFeedbackBaseGain, 0.0f, 0.0f, 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain,
0.0f , delayFeedbackBaseGain , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f , 0.0f, delayFeedbackBaseGain, 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f,
delayFeedbackCrossGain, 0.0f , delayFeedbackBaseGain , delayFeedbackCrossGain, 0.0f , 0.0f , delayFeedbackCrossGain, 0.0f, delayFeedbackBaseGain, delayFeedbackCrossGain, 0.0f, 0.0f,
0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain , 0.0f , 0.0f , 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain, 0.0f, 0.0f,
delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f , 0.0f , delayFeedbackBaseGain , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f, 0.0f, delayFeedbackBaseGain, 0.0f,
0.0f , 0.0f , 0.0f , 0.0f , 0.0f , feedbackGain); 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, feedbackGain);
for (int i = 0; i < sampleCount; i++) for (int i = 0; i < sampleCount; i++)
{ {
@ -277,4 +277,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessDelay(context, ref state); ProcessDelay(context, ref state);
} }
} }
} }

View File

@ -90,4 +90,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -54,4 +54,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -88,4 +88,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -65,4 +65,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
context.ClearBuffer(OutputBufferIndices[5]); context.ClearBuffer(OutputBufferIndices[5]);
} }
} }
} }

View File

@ -60,4 +60,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -17,4 +17,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
return false; return false;
} }
} }
} }

View File

@ -143,4 +143,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -162,4 +162,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -134,4 +134,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessMix(outputBuffer, inputBuffer); ProcessMix(outputBuffer, inputBuffer);
} }
} }
} }

View File

@ -65,4 +65,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
State.Span[0].LastSamples[LastSampleIndex] = ProcessMixRamp(outputBuffer, inputBuffer, (int)context.SampleCount); State.Span[0].LastSamples[LastSampleIndex] = ProcessMixRamp(outputBuffer, inputBuffer, (int)context.SampleCount);
} }
} }
} }

View File

@ -88,4 +88,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -71,4 +71,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount); DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount);
} }
} }
} }

View File

@ -71,4 +71,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount); DataSourceHelper.ProcessWaveBuffers(context.MemoryManager, outputBuffer, ref info, WaveBuffers, ref State.Span[0], context.SampleRate, (int)context.SampleCount);
} }
} }
} }

View File

@ -44,4 +44,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -251,4 +251,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessReverb3d(context, ref state); ProcessReverb3d(context, ref state);
} }
} }
} }

View File

@ -276,4 +276,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessReverb(context, ref state); ProcessReverb(context, ref state);
} }
} }
} }

View File

@ -66,4 +66,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
} }
} }
} }
} }

View File

@ -134,4 +134,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessVolume(outputBuffer, inputBuffer); ProcessVolume(outputBuffer, inputBuffer);
} }
} }
} }

View File

@ -53,4 +53,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
ProcessVolumeRamp(outputBuffer, inputBuffer, (int)context.SampleCount); ProcessVolumeRamp(outputBuffer, inputBuffer, (int)context.SampleCount);
} }
} }
} }

View File

@ -463,4 +463,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
} }
} }
} }
} }

View File

@ -49,4 +49,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Effect
return _delayLine.Tap(sampleIndex); return _delayLine.Tap(sampleIndex);
} }
} }
} }

View File

@ -75,4 +75,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Effect
return TapUnsafe(sampleIndex, -1); return TapUnsafe(sampleIndex, -1);
} }
} }
} }

View File

@ -73,4 +73,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Effect
return TapUnsafe(sampleIndex, -1); return TapUnsafe(sampleIndex, -1);
} }
} }
} }

View File

@ -34,4 +34,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Effect
return (uint)MathF.Round(sampleRate * delayTime); return (uint)MathF.Round(sampleRate * delayTime);
} }
} }
} }

View File

@ -30,4 +30,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
return ToInt(value + half, qBits); return ToInt(value + half, qBits);
} }
} }
} }

View File

@ -64,4 +64,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
return MathF.Sin(DegreesToRadians(value)); return MathF.Sin(DegreesToRadians(value));
} }
} }
} }

View File

@ -75,4 +75,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
return (short)value; return (short)value;
} }
} }
} }

View File

@ -627,4 +627,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
} }
} }
} }
} }

View File

@ -9,4 +9,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
public short History0; public short History0;
public short History1; public short History1;
} }
} }

View File

@ -71,4 +71,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
public AuxiliaryBufferInfo CpuBufferInfo; public AuxiliaryBufferInfo CpuBufferInfo;
public AuxiliaryBufferInfo DspBufferInfo; public AuxiliaryBufferInfo DspBufferInfo;
} }
} }

View File

@ -10,4 +10,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
public float State2; public float State2;
public float State3; public float State3;
} }
} }

View File

@ -64,4 +64,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
} }
} }
} }
} }

View File

@ -25,6 +25,6 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
UpdateParameter(ref parameter); UpdateParameter(ref parameter);
} }
public void UpdateParameter(ref LimiterParameter parameter) {} public void UpdateParameter(ref LimiterParameter parameter) { }
} }
} }

View File

@ -116,4 +116,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
} }
} }
} }
} }

View File

@ -201,4 +201,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
} }
} }
} }
} }

View File

@ -96,4 +96,4 @@ namespace Ryujinx.Audio.Renderer.Parameter
/// <seealso cref="Server.BehaviourContext"/> /// <seealso cref="Server.BehaviourContext"/>
public int Revision; public int Revision;
} }
} }

View File

@ -27,4 +27,4 @@ namespace Ryujinx.Audio.Renderer.Parameter
/// </summary> /// </summary>
private unsafe fixed uint _reserved[3]; private unsafe fixed uint _reserved[3];
} }
} }

View File

@ -31,4 +31,4 @@ namespace Ryujinx.Audio.Renderer.Parameter
/// <remarks>a0 = 1</remarks> /// <remarks>a0 = 1</remarks>
public Array2<short> Denominator; public Array2<short> Denominator;
} }
} }

View File

@ -81,4 +81,4 @@ namespace Ryujinx.Audio.Renderer.Parameter.Effect
/// <remarks>This is unused.</remarks> /// <remarks>This is unused.</remarks>
public uint MixBufferSampleCount; public uint MixBufferSampleCount;
} }
} }

Some files were not shown because too many files have changed in this diff Show More