<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Ryujinx/src/Ryujinx.Audio/Renderer/Parameter, branch master</title>
<subtitle>A backup of the Ryujinx master git branch.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/'/>
<entry>
<title>Update audio renderer to REV13: Add support for compressor statistics and volume reset (#7372)</title>
<updated>2024-10-01T10:30:57+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-10-01T10:30:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=a2c003501371463fd1f98d2e5a7602ae19c21d7c'/>
<id>a2c003501371463fd1f98d2e5a7602ae19c21d7c</id>
<content type='text'>
* Update audio renderer to REV13: Add support for compressor statistics and volume reset

* XML docs

* Disable stats reset

* Wrong comment

* Fix more XML docs

* PR feedback</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update audio renderer to REV13: Add support for compressor statistics and volume reset

* XML docs

* Disable stats reset

* Wrong comment

* Fix more XML docs

* PR feedback</pre>
</div>
</content>
</entry>
<entry>
<title>Update audio renderer to REV12: Add support for splitter biquad filter (#6813)</title>
<updated>2024-05-17T19:46:43+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-05-17T19:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=4d84df94873a070f6f5c199438f957b24d8cf8a9'/>
<id>4d84df94873a070f6f5c199438f957b24d8cf8a9</id>
<content type='text'>
* Update audio renderer to REV12: Add support for splitter biquad filter

* Formatting

* Official names

* Update BiquadFilterState size + other fixes

* Update tests

* Update comment for version 2

* Size test for SplitterDestinationVersion2

* Should use Volume1 if no ramp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update audio renderer to REV12: Add support for splitter biquad filter

* Formatting

* Official names

* Update BiquadFilterState size + other fixes

* Update tests

* Update comment for version 2

* Size test for SplitterDestinationVersion2

* Should use Volume1 if no ramp</pre>
</div>
</content>
</entry>
<entry>
<title>Audio rendering: reduce memory allocations (#6604)</title>
<updated>2024-04-07T21:07:32+00:00</updated>
<author>
<name>jhorv</name>
<email>38920027+jhorv@users.noreply.github.com</email>
</author>
<published>2024-04-07T21:07:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=ead9a251418bb2402ffa19ece089406b0678544e'/>
<id>ead9a251418bb2402ffa19ece089406b0678544e</id>
<content type='text'>
* - WritableRegion: enable wrapping IMemoryOwner&lt;byte&gt;
- IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous.
- IVirtualMemoryManager: add GetReadOnlySequence() and impls
- ByteMemoryPool: add new method RentCopy()
- ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl

* - BytesReadOnlySequenceSegment: move from Ryujinx.Common.Memory to Ryujinx.Memory
- BytesReadOnlySequenceSegment: add IsContiguousWith() and Replace() methods
- VirtualMemoryManagerBase:
  - remove generic type parameters, instead use ulong for virtual addresses and nuint for host/physical addresses
  - implement IWritableBlock
  - add virtual GetReadOnlySequence() with coalescing of contiguous segments
  - add virtual GetSpan()
  - add virtual GetWritableRegion()
  - add abstract IsMapped()
  - add virtual MapForeign(ulong, nuint, ulong)
  - add virtual Read&lt;T&gt;()
  - add virtual Read(ulong, Span&lt;byte&gt;)
  - add virtual ReadTracked&lt;T&gt;()
  - add virtual SignalMemoryTracking()
  - add virtual Write()
  - add virtual Write&lt;T&gt;()
  - add virtual WriteUntracked()
  - add virtual WriteWithRedundancyCheck()
- VirtualMemoryManagerRefCountedBase: remove generic type parameters
- AddressSpaceManager: remove redundant methods, add required overrides
- HvMemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManagerHostMapped: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- NativeMemoryManager: add get properties for Pointer and Length
- throughout: removed invalid &lt;inheritdoc/&gt; comments

* - WritableRegion: enable wrapping IMemoryOwner&lt;byte&gt;
- IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous.
- IVirtualMemoryManager: add GetReadOnlySequence() and impls
- ByteMemoryPool: add new method RentCopy()
- ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl

* add PagedMemoryRange enumerator types, use them in IVirtualMemoryManager implementations to consolidate page-handling logic and add a new capability - the coalescing of pages for consolidating memory copies and segmentation.

* new: more tests for PagedMemoryRangeCoalescingEnumerator showing coalescing of contiguous segments

* make some struct properties readonly

* put braces around `foreach` bodies

* encourage inlining of some PagedMemoryRange*Enumerator members

* DynamicRingBuffer:
 - use ByteMemoryPool
 - make some methods return without locking when size/count argument = 0
 - make generic Read&lt;T&gt;()/Write&lt;T&gt;() non-generic because its only usage is as T = byte
 - change Read(byte[]...) to Read(Span&lt;byte&gt;...)
 - change Write(byte[]...) to Write(Span&lt;byte&gt;...)

* change IAudioRenderer.RequestUpdate() to take a ReadOnlySequence&lt;byte&gt;, enabling zero-copy audio rendering

* HipcGenerator: support ReadOnlySequence&lt;byte&gt; as IPC method parameter

* change IAudioRenderer/AudioRenderer RequestUpdate* methods to take input as ReadOnlySequence&lt;byte&gt;

* MemoryManagerHostTracked: use rented memory when contiguous in `GetWritableRegion()`

* rebase cleanup

* dotnet format fixes

* format and comment fixes

* format long parameter list - take 2

* - add support to HipcGenerator for buffers of type `Memory&lt;byte&gt;`
- change `AudioRenderer` `RequestUpdate()` and `RequestUpdateAuto()` to use Memory&lt;byte&gt; for output buffers, removing another memory block allocation/copy

* SplitterContext `UpdateState()` and `UpdateData()` smooth out advance/rewind logic, only rewind if magic is invalid

* DynamicRingBuffer.Write(): change Span&lt;byte&gt; to ReadOnlySpan&lt;byte&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* - WritableRegion: enable wrapping IMemoryOwner&lt;byte&gt;
- IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous.
- IVirtualMemoryManager: add GetReadOnlySequence() and impls
- ByteMemoryPool: add new method RentCopy()
- ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl

* - BytesReadOnlySequenceSegment: move from Ryujinx.Common.Memory to Ryujinx.Memory
- BytesReadOnlySequenceSegment: add IsContiguousWith() and Replace() methods
- VirtualMemoryManagerBase:
  - remove generic type parameters, instead use ulong for virtual addresses and nuint for host/physical addresses
  - implement IWritableBlock
  - add virtual GetReadOnlySequence() with coalescing of contiguous segments
  - add virtual GetSpan()
  - add virtual GetWritableRegion()
  - add abstract IsMapped()
  - add virtual MapForeign(ulong, nuint, ulong)
  - add virtual Read&lt;T&gt;()
  - add virtual Read(ulong, Span&lt;byte&gt;)
  - add virtual ReadTracked&lt;T&gt;()
  - add virtual SignalMemoryTracking()
  - add virtual Write()
  - add virtual Write&lt;T&gt;()
  - add virtual WriteUntracked()
  - add virtual WriteWithRedundancyCheck()
- VirtualMemoryManagerRefCountedBase: remove generic type parameters
- AddressSpaceManager: remove redundant methods, add required overrides
- HvMemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManager: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- MemoryManagerHostMapped: remove redundant methods, add required overrides, add overrides for _invalidAccessHandler handling
- NativeMemoryManager: add get properties for Pointer and Length
- throughout: removed invalid &lt;inheritdoc/&gt; comments

* - WritableRegion: enable wrapping IMemoryOwner&lt;byte&gt;
- IVirtualMemoryManager impls of GetWritableRegion() use pooled memory when region is non-contiguous.
- IVirtualMemoryManager: add GetReadOnlySequence() and impls
- ByteMemoryPool: add new method RentCopy()
- ByteMemoryPool: make class static, remove ctor and singleton field from earlier impl

* add PagedMemoryRange enumerator types, use them in IVirtualMemoryManager implementations to consolidate page-handling logic and add a new capability - the coalescing of pages for consolidating memory copies and segmentation.

* new: more tests for PagedMemoryRangeCoalescingEnumerator showing coalescing of contiguous segments

* make some struct properties readonly

* put braces around `foreach` bodies

* encourage inlining of some PagedMemoryRange*Enumerator members

* DynamicRingBuffer:
 - use ByteMemoryPool
 - make some methods return without locking when size/count argument = 0
 - make generic Read&lt;T&gt;()/Write&lt;T&gt;() non-generic because its only usage is as T = byte
 - change Read(byte[]...) to Read(Span&lt;byte&gt;...)
 - change Write(byte[]...) to Write(Span&lt;byte&gt;...)

* change IAudioRenderer.RequestUpdate() to take a ReadOnlySequence&lt;byte&gt;, enabling zero-copy audio rendering

* HipcGenerator: support ReadOnlySequence&lt;byte&gt; as IPC method parameter

* change IAudioRenderer/AudioRenderer RequestUpdate* methods to take input as ReadOnlySequence&lt;byte&gt;

* MemoryManagerHostTracked: use rented memory when contiguous in `GetWritableRegion()`

* rebase cleanup

* dotnet format fixes

* format and comment fixes

* format long parameter list - take 2

* - add support to HipcGenerator for buffers of type `Memory&lt;byte&gt;`
- change `AudioRenderer` `RequestUpdate()` and `RequestUpdateAuto()` to use Memory&lt;byte&gt; for output buffers, removing another memory block allocation/copy

* SplitterContext `UpdateState()` and `UpdateData()` smooth out advance/rewind logic, only rewind if magic is invalid

* DynamicRingBuffer.Write(): change Span&lt;byte&gt; to ReadOnlySpan&lt;byte&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>editorconfig: Set default encoding to UTF-8 (#5793)</title>
<updated>2023-12-04T13:17:13+00:00</updated>
<author>
<name>TSRBerry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2023-12-04T13:17:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=2989c163a891c4ac730e799e1457b1bfb2ecc028'/>
<id>2989c163a891c4ac730e799e1457b1bfb2ecc028</id>
<content type='text'>
* editorconfig: Add default charset

* Change file encoding from UTF-8-BOM to UTF-8</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* editorconfig: Add default charset

* Change file encoding from UTF-8-BOM to UTF-8</pre>
</div>
</content>
</entry>
<entry>
<title>Fix invalid audio renderer buffer size when end offset &lt; start offset (#5588)</title>
<updated>2023-08-20T06:56:30+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2023-08-20T06:56:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=7f96dbc0242f169caeb8461237bc01a23c115f56'/>
<id>7f96dbc0242f169caeb8461237bc01a23c115f56</id>
<content type='text'>
* Fix invalid audio renderer buffer size when end offset &lt; start offset

* Fix possible overflow on IsSampleOffsetInRangeForPcm</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix invalid audio renderer buffer size when end offset &lt; start offset

* Fix possible overflow on IsSampleOffsetInRangeForPcm</pre>
</div>
</content>
</entry>
<entry>
<title>[Ryujinx.Audio] Address dotnet-format issues (#5362)</title>
<updated>2023-07-01T23:27:18+00:00</updated>
<author>
<name>TSRBerry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2023-07-01T23:27:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=515fc32b21f59298ec8ca45f5d3c36e9d3041084'/>
<id>515fc32b21f59298ec8ca45f5d3c36e9d3041084</id>
<content type='text'>
* dotnet format style --severity info

Some changes were manually reverted.

* dotnet format analyzers --serverity info

Some changes have been minimally adapted.

* Restore a few unused methods and variables

* Silence dotnet format IDE0060 warnings

* Silence dotnet format IDE0052 warnings

* Address dotnet format CA1816 warnings

* Address or silence dotnet format CA2208 warnings

* Address or silence dotnet format CA2211 warnings

* Address review comments

* Address most dotnet format whitespace warnings

* Apply dotnet format whitespace formatting

A few of them have been manually reverted and the corresponding warning was silenced

* Format if-blocks correctly

* Run dotnet format whitespace after rebase

* Run dotnet format after rebase and remove unused usings

- analyzers
- style
- whitespace

* Add comments to disabled warnings

* Remove a few unused parameters

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Start working on disabled warnings

* Fix and silence a few dotnet-format warnings again

* Address IDE0251 warnings

* Silence IDE0060 in .editorconfig

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* Fix naming rule violations, remove redundant code and fix build issues

* Apply suggestions from code review

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;

* Add trailing commas

* Apply suggestions from code review

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;

* Address review feedback

---------

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dotnet format style --severity info

Some changes were manually reverted.

* dotnet format analyzers --serverity info

Some changes have been minimally adapted.

* Restore a few unused methods and variables

* Silence dotnet format IDE0060 warnings

* Silence dotnet format IDE0052 warnings

* Address dotnet format CA1816 warnings

* Address or silence dotnet format CA2208 warnings

* Address or silence dotnet format CA2211 warnings

* Address review comments

* Address most dotnet format whitespace warnings

* Apply dotnet format whitespace formatting

A few of them have been manually reverted and the corresponding warning was silenced

* Format if-blocks correctly

* Run dotnet format whitespace after rebase

* Run dotnet format after rebase and remove unused usings

- analyzers
- style
- whitespace

* Add comments to disabled warnings

* Remove a few unused parameters

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Start working on disabled warnings

* Fix and silence a few dotnet-format warnings again

* Address IDE0251 warnings

* Silence IDE0060 in .editorconfig

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* Fix naming rule violations, remove redundant code and fix build issues

* Apply suggestions from code review

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;

* Add trailing commas

* Apply suggestions from code review

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;

* Address review feedback

---------

Co-authored-by: Ac_K &lt;Acoustik666@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Move solution and projects to src</title>
<updated>2023-04-27T21:51:14+00:00</updated>
<author>
<name>TSR Berry</name>
<email>20988865+TSRBerry@users.noreply.github.com</email>
</author>
<published>2023-04-07T23:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=cee712105850ac3385cd0091a923438167433f9f'/>
<id>cee712105850ac3385cd0091a923438167433f9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
