<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/GraphicsModSystem/Runtime, branch 2509</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Avoid map/set double lookups</title>
<updated>2025-07-08T04:53:42+00:00</updated>
<author>
<name>Sintendo</name>
<email>3380580+Sintendo@users.noreply.github.com</email>
</author>
<published>2025-07-06T06:41:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f2392e4048ce977bad2227d08f3a042526f7c4da'/>
<id>f2392e4048ce977bad2227d08f3a042526f7c4da</id>
<content type='text'>
Fix some common anti-patterns with these data structures.

- You can dereference the iterator returned by `find` to access the
  underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
  just do the operation and if needed check the return value to
  determine if the insertion/deletion succeeded.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix some common anti-patterns with these data structures.

- You can dereference the iterator returned by `find` to access the
  underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
  just do the operation and if needed check the return value to
  determine if the insertion/deletion succeeded.
</pre>
</div>
</content>
</entry>
<entry>
<title>Source: Remove redundant lambda parameter lists</title>
<updated>2025-06-14T08:19:31+00:00</updated>
<author>
<name>Dr. Dystopia</name>
<email>jonis9898@hotmail.com</email>
</author>
<published>2025-04-28T20:02:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ca8f9b672b3d8da3e2974802e89f6c6b6e23d99e'/>
<id>ca8f9b672b3d8da3e2974802e89f6c6b6e23d99e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData.  Move validation and load logic to individual functions</title>
<updated>2025-06-07T04:03:02+00:00</updated>
<author>
<name>iwubcode</name>
<email>iwubcode@users.noreply.github.com</email>
</author>
<published>2025-05-17T17:20:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=d8ea31ca463712fa9d2977807ae0c3b101239fa1'/>
<id>d8ea31ca463712fa9d2977807ae0c3b101239fa1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core / VideoCommon: Remove original custom asset loader</title>
<updated>2025-06-07T00:20:25+00:00</updated>
<author>
<name>iwubcode</name>
<email>iwubcode@users.noreply.github.com</email>
</author>
<published>2025-05-02T03:14:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=d7de49ccf68aae6b3c12e35122435f30ea2f8533'/>
<id>d7de49ccf68aae6b3c12e35122435f30ea2f8533</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13093 from mitaclaw/ranges-modernization-4-projection</title>
<updated>2025-03-23T19:56:13+00:00</updated>
<author>
<name>JMC47</name>
<email>JMC4789@gmail.com</email>
</author>
<published>2025-03-23T19:56:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ad3650abfcae6432338ba976123958ee67a4106c'/>
<id>ad3650abfcae6432338ba976123958ee67a4106c</id>
<content type='text'>
Ranges Algorithms Modernization - Projection</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ranges Algorithms Modernization - Projection</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: move to a 'process_fragment()' function to simplify custom shaders and provide a direct override of the tev stage logic</title>
<updated>2025-03-22T20:22:00+00:00</updated>
<author>
<name>iwubcode</name>
<email>iwubcode@users.noreply.github.com</email>
</author>
<published>2025-03-15T22:29:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8e253518e6f8b918dffe7361faf897c16eabc6d3'/>
<id>8e253518e6f8b918dffe7361faf897c16eabc6d3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::sort` with ranges and projections</title>
<updated>2025-03-09T20:26:38+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-29T18:19:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=8b9f92a0af0f467ffa0bde5f4e6239e57fbd4b5e'/>
<id>8b9f92a0af0f467ffa0bde5f4e6239e57fbd4b5e</id>
<content type='text'>
In PPCTables.cpp, the code is currently unused so I was unable to test it.

In CustomPipeline.cpp, a pointer to member function cannot be used due to 16.4.5.2.1 of the C++ Standard regarding "addressable functions". https://eel.is/c++draft/namespace.std#6

In Fs.cpp and DirectoryBlob.cpp, these examples used projections in a previous iteration of this commit, but no longer do. Still, they remain in this commit because the PR they would actually belong to is already merged.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In PPCTables.cpp, the code is currently unused so I was unable to test it.

In CustomPipeline.cpp, a pointer to member function cannot be used due to 16.4.5.2.1 of the C++ Standard regarding "addressable functions". https://eel.is/c++draft/namespace.std#6

In Fs.cpp and DirectoryBlob.cpp, these examples used projections in a previous iteration of this commit, but no longer do. Still, they remain in this commit because the PR they would actually belong to is already merged.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Move backend_info out of VideoConfig struct.</title>
<updated>2025-03-09T07:42:45+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-07T20:43:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c18c039089bdc27cbccf92a9053ed80bb161a9b9'/>
<id>c18c039089bdc27cbccf92a9053ed80bb161a9b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify `std::find` with `Common::Contains`</title>
<updated>2025-01-01T17:52:03+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-21T05:17:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=110d32729ecbe5b19df9b2cc76de630334410589'/>
<id>110d32729ecbe5b19df9b2cc76de630334410589</id>
<content type='text'>
In NandPaths.cpp, the `std::initializer_list&lt;char&gt;` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In NandPaths.cpp, the `std::initializer_list&lt;char&gt;` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).

The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
</pre>
</div>
</content>
</entry>
<entry>
<title>C++20: Synthesize `operator!=` From `operator==`</title>
<updated>2024-10-11T03:23:55+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-10-09T00:16:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e8d5fb89e4465e8ef64920f12e7cb60e82057658'/>
<id>e8d5fb89e4465e8ef64920f12e7cb60e82057658</id>
<content type='text'>
The inequality operator is automatically generated by the compiler if `operator==` is defined.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The inequality operator is automatically generated by the compiler if `operator==` is defined.
</pre>
</div>
</content>
</entry>
</feed>
