Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

amadeus: Improve and fix delay effect processing #3205

Merged
merged 3 commits into from
Apr 8, 2022
Merged

amadeus: Improve and fix delay effect processing #3205

merged 3 commits into from
Apr 8, 2022

Conversation

marysaka
Copy link
Contributor

This rework the delay effect processing by representing calculation with the appropriate matrix and by unrolling some loops in the code.
This allows better optimization by the JIT while making it more readable.

Also fix a bug in the Surround code path found while looking back at my notes.

This rework the delay effect processing by representing calculation with the appropriate matrix and by unrolling some loop in the code.
This allows better optimization by the JIT while making it more readeable.

Also fix a bug in the Surround code path found while looking back at my notes.
@marysaka marysaka added audio Related to Ryujinx.Audio fix Fix something labels Mar 15, 2022
Ryujinx.Audio/Renderer/Dsp/Command/DelayCommand.cs Outdated Show resolved Hide resolved
Ryujinx.Audio/Renderer/Utils/Math/Matrix2x2.cs Outdated Show resolved Hide resolved
Ryujinx.Audio/Renderer/Utils/Math/Matrix2x2.cs Outdated Show resolved Hide resolved
Ryujinx.Audio/Renderer/Utils/Math/Matrix6x6.cs Outdated Show resolved Hide resolved
Ryujinx.Audio/Renderer/Utils/Math/Vector6.cs Outdated Show resolved Hide resolved
public float Y;
public float Z;
public float W;
public float V;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that the "standard" naming for a 6 elements vector?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really entirely sure if there is a standard way here tbh

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've always known it to be X Y Z I K J for cartesian vectors but no clue if that carries over here.

image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For a 6-vector I've most often seen (x₁ x₂ x₃ x₄ x₅ x₆).

Ryujinx.Audio/Renderer/Utils/Math/Vector6.cs Outdated Show resolved Hide resolved
Copy link
Member

@gdkchan gdkchan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks.

marysaka added a commit that referenced this pull request Apr 6, 2022
This should implement all ABI changes from REV11 on 14.0.0

As Nintendo changed the channel disposition for "legacy" effects (Delay, Reverb and Reverb 3D) to match the standard channel mapping, I took the liberty to just remap to the old disposition for now.
The proper changes will be handled at a later date with a complete rewriting of those 3 effects to be more readable (see #3205 for the first iteration of it).
@AcK77 AcK77 merged commit d04ba51 into Ryujinx:master Apr 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audio Related to Ryujinx.Audio fix Fix something
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants