<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Ryujinx/Ryujinx.Memory/WindowsShared, 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>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>
<entry>
<title>Replace `DllImport` usage with `LibraryImport` (#4084)</title>
<updated>2022-12-15T17:07:31+00:00</updated>
<author>
<name>Isaac Marovitz</name>
<email>42140194+IsaacMarovitz@users.noreply.github.com</email>
</author>
<published>2022-12-15T17:07:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=0fbcd630bc57885d6b94fd3c4b3546493e09059e'/>
<id>0fbcd630bc57885d6b94fd3c4b3546493e09059e</id>
<content type='text'>
* Replace usage of `DllImport` with `LibraryImport`

* Mark methods as `partial`

* Marshalling

* More `partial` &amp; marshalling

* More `partial` and marshalling

* More partial and marshalling

* Update GdiPlusHelper to LibraryImport

* Unicorn

* More Partial

* Marshal

* Specify EntryPoint

* Specify EntryPoint

* Change GlobalMemoryStatusEx to LibraryImport

* Change RegisterClassEx to LibraryImport

* Define EntryPoints

* Update Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Update Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Move return mashal

* Remove calling convention specification

* Remove calling conventions

* Update Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Update Ryujinx/Modules/Updater/Updater.cs

Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;

* Update Ryujinx.Ava/Modules/Updater/Updater.cs

Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;
Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Replace usage of `DllImport` with `LibraryImport`

* Mark methods as `partial`

* Marshalling

* More `partial` &amp; marshalling

* More `partial` and marshalling

* More partial and marshalling

* Update GdiPlusHelper to LibraryImport

* Unicorn

* More Partial

* Marshal

* Specify EntryPoint

* Specify EntryPoint

* Change GlobalMemoryStatusEx to LibraryImport

* Change RegisterClassEx to LibraryImport

* Define EntryPoints

* Update Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Update Ryujinx.Graphics.Nvdec.FFmpeg/Native/FFmpegApi.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Move return mashal

* Remove calling convention specification

* Remove calling conventions

* Update Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;

* Update Ryujinx/Modules/Updater/Updater.cs

Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;

* Update Ryujinx.Ava/Modules/Updater/Updater.cs

Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;

Co-authored-by: TSRBerry &lt;20988865+TSRBerry@users.noreply.github.com&gt;
Co-authored-by: Mary-nyan &lt;thog@protonmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Fix partial unmap reprotection on Windows (#3702)</title>
<updated>2022-09-14T15:46:37+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-09-14T15:46:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=356e480bf55d9a1497fcf54e9395d9b8ab72b815'/>
<id>356e480bf55d9a1497fcf54e9395d9b8ab72b815</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allocation free tree lookup</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-08-31T01:26:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=7dd69f2d0e314b2969d88089559815ed84acbac4'/>
<id>7dd69f2d0e314b2969d88089559815ed84acbac4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update several methods to use GetNode directly and avoid array allocations</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-08-31T01:15:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=c646638680f9b2dcc055ffbb280e970fcfe93aab'/>
<id>c646638680f9b2dcc055ffbb280e970fcfe93aab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize PlaceholderManager.UnreserveRange</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-07-15T20:05:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=65f2a82b9745548748aa1d68547aff7a2cac574a'/>
<id>65f2a82b9745548748aa1d68547aff7a2cac574a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix potential issue with partial unmap</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-06-23T16:59:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=93dd6d525a8c4072ba704e0bb126a980ef4b479a'/>
<id>93dd6d525a8c4072ba704e0bb126a980ef4b479a</id>
<content type='text'>
We must also do the unmap operation with the RWLock, otherwise faults on the unmapped region will cause crashes and the whole thing becomes pointless
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We must also do the unmap operation with the RWLock, otherwise faults on the unmapped region will cause crashes and the whole thing becomes pointless
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix reprotection regression</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-06-23T16:52:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=96d4ad952c60e99c1d814ad7680106a5eabcb0d8'/>
<id>96d4ad952c60e99c1d814ad7680106a5eabcb0d8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite PlaceholderManager4KB to use intrusive RBTree, and to coalesce free placeholders</title>
<updated>2022-09-10T14:23:49+00:00</updated>
<author>
<name>gdk</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-06-23T07:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=45e520a27c2deb11d22a38c58962048d303460eb'/>
<id>45e520a27c2deb11d22a38c58962048d303460eb</id>
<content type='text'>
Also make the other placeholder manager use intrusive RBTree, allows the IntervalTree that was added just for this to be deleted
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also make the other placeholder manager use intrusive RBTree, allows the IntervalTree that was added just for this to be deleted
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize kernel memory block lookup and consolidate RBTree implementations (#3410)</title>
<updated>2022-08-26T18:21:48+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2022-08-26T18:21:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=6922862db8677fb8067a3e35d2433b1f12f8329c'/>
<id>6922862db8677fb8067a3e35d2433b1f12f8329c</id>
<content type='text'>
* Implement intrusive red-black tree, use it for HLE kernel block manager

* Implement TreeDictionary using IntrusiveRedBlackTree

* Implement IntervalTree using IntrusiveRedBlackTree

* Implement IntervalTree (on Ryujinx.Memory) using IntrusiveRedBlackTree

* Make PredecessorOf and SuccessorOf internal, expose Predecessor and Successor properties on the node itself

* Allocation free tree node lookup</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Implement intrusive red-black tree, use it for HLE kernel block manager

* Implement TreeDictionary using IntrusiveRedBlackTree

* Implement IntervalTree using IntrusiveRedBlackTree

* Implement IntervalTree (on Ryujinx.Memory) using IntrusiveRedBlackTree

* Make PredecessorOf and SuccessorOf internal, expose Predecessor and Successor properties on the node itself

* Allocation free tree node lookup</pre>
</div>
</content>
</entry>
</feed>
