<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/UberShaderPixel.h, branch release-prep-2606a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<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>VideoCommon: uber pixel shader gen changes needed to support custom pixel shaders in graphics mods</title>
<updated>2023-08-20T23:53:27+00:00</updated>
<author>
<name>iwubcode</name>
<email>iwubcode@users.noreply.github.com</email>
</author>
<published>2022-12-04T05:54:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=4283d7671804eb55862377cfc5f3966bd4b3394e'/>
<id>4283d7671804eb55862377cfc5f3966bd4b3394e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Better driver bug handling</title>
<updated>2022-07-14T02:51:24+00:00</updated>
<author>
<name>TellowKrinkle</name>
<email>tellowkrinkle@gmail.com</email>
</author>
<published>2022-06-12T02:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6ab24e6c176bfd288296bf8284a30b0835fa45c3'/>
<id>6ab24e6c176bfd288296bf8284a30b0835fa45c3</id>
<content type='text'>
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds a pass to process driver deficiencies between UID caching and use, allowing a full view of the whole pipeline, since some bugs/workarounds involve interactions between blend modes and the pixel shader
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Name ubershaders</title>
<updated>2022-06-16T07:08:45+00:00</updated>
<author>
<name>TellowKrinkle</name>
<email>tellowkrinkle@gmail.com</email>
</author>
<published>2022-06-13T08:59:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c7892d7371b465472f1d8d7d2e50452b77c534a4'/>
<id>c7892d7371b465472f1d8d7d2e50452b77c534a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>UberShaderPixel: Rename ApiType to api_type</title>
<updated>2021-08-01T22:09:20+00:00</updated>
<author>
<name>Pokechu22</name>
<email>Pokechu022@gmail.com</email>
</author>
<published>2021-08-01T22:09:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3b752c4d5d46cfda50a51c47c346e94257e9c3d9'/>
<id>3b752c4d5d46cfda50a51c47c346e94257e9c3d9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: convert GPLv2+ license info to SPDX tags</title>
<updated>2021-07-05T02:35:56+00:00</updated>
<author>
<name>Pierre Bourdon</name>
<email>delroth@gmail.com</email>
</author>
<published>2021-07-05T01:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e149ad4f0a9874f354221a7fc76d8f1841e47808'/>
<id>e149ad4f0a9874f354221a7fc76d8f1841e47808</id>
<content type='text'>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon/ShaderGenCommon: Make template functions regular functions</title>
<updated>2020-05-26T01:12:29+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-12-22T18:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=86f8768268d58d6f5b11bcb74011c0af8159cde7'/>
<id>86f8768268d58d6f5b11bcb74011c0af8159cde7</id>
<content type='text'>
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.

We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.

One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.

Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are only ever used with ShaderCode instances and nothing else.
Given that, we can convert these helper functions to expect that type of
object as an argument and remove the need for templates, improving
compiler throughput a marginal amount, as the template instantiation
process doesn't need to be performed.

We can also move the definitions of these functions into the cpp file,
which allows us to remove a few inclusions from the ShaderGenCommon
header. This uncovered a few instances of indirect inclusions being
relied upon in other source files.

One other benefit is this allows changes to be made to the definitions
of the functions without needing to recompile all translation units that
make use of these functions, making change testing a little quicker.

Moving the definitions into the cpp file also allows us to completely
hide DefineOutputMember() from external view, given it's only ever used
inside of GenerateVSOutputMembers().
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Remove unnecessary memset on ShaderUid instances.</title>
<updated>2019-05-30T10:41:54+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-05-30T05:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=149a97e396fd1ac22df8ad9d47d4a23e3ef46d25'/>
<id>149a97e396fd1ac22df8ad9d47d4a23e3ef46d25</id>
<content type='text'>
Zero-initialization zeroes out all members and padding bits, so this is
safe to do. While we're at it, also add static assertions that enforce
the necessary requirements of a UID type explicitly within the ShaderUid
class.

This way, we can remove several memset calls around the shader
generation code that makes sure the underlying UID data is zeroed out.
Now our ShaderUid class enforces this for us, so we don't need to care about
it at the usage sites.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Zero-initialization zeroes out all members and padding bits, so this is
safe to do. While we're at it, also add static assertions that enforce
the necessary requirements of a UID type explicitly within the ShaderUid
class.

This way, we can remove several memset calls around the shader
generation code that makes sure the underlying UID data is zeroed out.
Now our ShaderUid class enforces this for us, so we don't need to care about
it at the usage sites.
</pre>
</div>
</content>
</entry>
<entry>
<title>Reformat repo to clang-format 7.0 rules</title>
<updated>2019-05-06T18:48:04+00:00</updated>
<author>
<name>Techjar</name>
<email>tecknojar@gmail.com</email>
</author>
<published>2019-05-05T23:48:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ff972e3673cf70c67e5daf52d5cc913b1df7a1ba'/>
<id>ff972e3673cf70c67e5daf52d5cc913b1df7a1ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ShaderCache: Remove unused UID bits before inserting into shader map</title>
<updated>2018-05-25T14:09:10+00:00</updated>
<author>
<name>Stenzek</name>
<email>stenzek@gmail.com</email>
</author>
<published>2018-05-25T14:09:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9a5c2119e51c27667ec857075b7cdcae737f05dc'/>
<id>9a5c2119e51c27667ec857075b7cdcae737f05dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
