Compare commits

...

25 Commits

Author SHA1 Message Date
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
312 changed files with 5921 additions and 1409 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;
}
}
}
}

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) { }
}
}
}

View File

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

View File

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

View File

@ -24,11 +24,11 @@ namespace Ryujinx.Audio.Backends.CompatLayer
public short Right;
}
private const int Q15Bits = 16;
private const int RawQ15One = 1 << Q15Bits;
private const int RawQ15HalfOne = (int)(0.5f * RawQ15One);
private const int Minus3dBInQ15 = (int)(0.707f * RawQ15One);
private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One);
private const int Q15Bits = 16;
private const int RawQ15One = 1 << Q15Bits;
private const int RawQ15HalfOne = (int)(0.5f * RawQ15One);
private const int Minus3dBInQ15 = (int)(0.707f * RawQ15One);
private const int Minus6dBInQ15 = (int)(0.501f * RawQ15One);
private const int Minus12dBInQ15 = (int)(0.251f * RawQ15One);
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 StereoChannelCount = 2;
private const int MonoChannelCount = 1;
private const int StereoChannelCount = 2;
private const int MonoChannelCount = 1;
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private static ReadOnlySpan<Channel51FormatPCM16> GetSurroundBuffer(ReadOnlySpan<short> data)
@ -86,7 +86,7 @@ namespace Ryujinx.Audio.Backends.CompatLayer
{
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);
}
@ -122,4 +122,4 @@ namespace Ryujinx.Audio.Backends.CompatLayer
return DownMixSurroundToStereo(DefaultSurroundToStereoCoefficients, data);
}
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -214,9 +214,9 @@ namespace Ryujinx.Audio.Input
outputDeviceName = audioIn.DeviceName;
outputConfiguration = new AudioOutputConfiguration
{
ChannelCount = audioIn.ChannelCount,
SampleFormat = audioIn.SampleFormat,
SampleRate = audioIn.SampleRate,
ChannelCount = audioIn.ChannelCount,
SampleFormat = audioIn.SampleFormat,
SampleRate = audioIn.SampleRate,
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
{
DataPointer = _currentBufferTag++,
Data = _buffer,
DataSize = (ulong)_buffer.Length,
Data = _buffer,
DataSize = (ulong)_buffer.Length,
});
_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;
}
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

@ -169,7 +169,7 @@ namespace Ryujinx.Audio.Output
}
SampleFormat = sampleFormat;
SampleRate = Constants.TargetSampleRate;
SampleRate = Constants.TargetSampleRate;
}
return result;
@ -187,9 +187,9 @@ namespace Ryujinx.Audio.Output
{
AudioBuffer buffer = new AudioBuffer
{
BufferTag = bufferTag,
BufferTag = bufferTag,
DataPointer = userBuffer.Data,
DataSize = userBuffer.DataSize
DataSize = userBuffer.DataSize
};
if (_session.AppendBuffer(buffer))
@ -291,7 +291,7 @@ namespace Ryujinx.Audio.Output
{
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 ReturnBufferInfoBase;
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -30,4 +30,4 @@ namespace Ryujinx.Audio.Renderer.Common
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>
private ushort _padding;
}
}
}

View File

@ -41,7 +41,7 @@ namespace Ryujinx.Audio.Renderer.Common
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);
@ -53,9 +53,9 @@ namespace Ryujinx.Audio.Renderer.Common
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;
}
}
}
}

View File

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

View File

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

View File

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

View File

@ -199,4 +199,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
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);
}
}
}
}

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);
}
}
}
}

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();
}
}
}
}

View File

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

View File

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

View File

@ -29,4 +29,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
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);
}
}
}
}

View File

@ -87,7 +87,7 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
float dryGain = FixedPointHelper.ToFloat(Parameter.DryGain, FixedPointPrecision);
float outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix2x2 delayFeedback = new Matrix2x2(delayFeedbackBaseGain , delayFeedbackCrossGain,
Matrix2x2 delayFeedback = new Matrix2x2(delayFeedbackBaseGain, delayFeedbackCrossGain,
delayFeedbackCrossGain, delayFeedbackBaseGain);
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 outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix4x4 delayFeedback = new Matrix4x4(delayFeedbackBaseGain , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f,
delayFeedbackCrossGain, delayFeedbackBaseGain , 0.0f , delayFeedbackCrossGain,
delayFeedbackCrossGain, 0.0f , delayFeedbackBaseGain , delayFeedbackCrossGain,
0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain);
Matrix4x4 delayFeedback = new Matrix4x4(delayFeedbackBaseGain, delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f,
delayFeedbackCrossGain, delayFeedbackBaseGain, 0.0f, delayFeedbackCrossGain,
delayFeedbackCrossGain, 0.0f, delayFeedbackBaseGain, delayFeedbackCrossGain,
0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain);
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;
state.UpdateLowPassFilter(ref Unsafe.As<Vector4, float>(ref temp), channelCount);
*((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 outGain = FixedPointHelper.ToFloat(Parameter.OutGain, FixedPointPrecision);
Matrix6x6 delayFeedback = new Matrix6x6(delayFeedbackBaseGain , 0.0f , 0.0f , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain,
0.0f , delayFeedbackBaseGain , 0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f ,
delayFeedbackCrossGain, 0.0f , delayFeedbackBaseGain , delayFeedbackCrossGain, 0.0f , 0.0f ,
0.0f , delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain , 0.0f , 0.0f ,
delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f , 0.0f , delayFeedbackBaseGain , 0.0f ,
0.0f , 0.0f , 0.0f , 0.0f , 0.0f , feedbackGain);
Matrix6x6 delayFeedback = new Matrix6x6(delayFeedbackBaseGain, 0.0f, 0.0f, 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain,
0.0f, delayFeedbackBaseGain, 0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f,
delayFeedbackCrossGain, 0.0f, delayFeedbackBaseGain, delayFeedbackCrossGain, 0.0f, 0.0f,
0.0f, delayFeedbackCrossGain, delayFeedbackCrossGain, delayFeedbackBaseGain, 0.0f, 0.0f,
delayFeedbackCrossGain, delayFeedbackCrossGain, 0.0f, 0.0f, delayFeedbackBaseGain, 0.0f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, feedbackGain);
for (int i = 0; i < sampleCount; i++)
{
@ -277,4 +277,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
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]);
}
}
}
}

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;
}
}
}
}

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);
}
}
}
}

View File

@ -65,4 +65,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
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);
}
}
}
}

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);
}
}
}
}

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);
}
}
}
}

View File

@ -276,4 +276,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
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);
}
}
}
}

View File

@ -53,4 +53,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.Command
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);
}
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -75,4 +75,4 @@ namespace Ryujinx.Audio.Renderer.Dsp
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 History1;
}
}
}

View File

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

View File

@ -10,4 +10,4 @@ namespace Ryujinx.Audio.Renderer.Dsp.State
public float State2;
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);
}
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"/>
public int Revision;
}
}
}

View File

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

View File

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

View File

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

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