<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu-mainline/src/video_core/shader/shader.h, branch master</title>
<subtitle>A backup of the Yuzu mainline repo. Only includes the master branch, nothing else.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/'/>
<entry>
<title>Remove references to PICA and rasterizers in video_core</title>
<updated>2018-01-13T02:11:03+00:00</updated>
<author>
<name>James Rowe</name>
<email>jroweboy@gmail.com</email>
</author>
<published>2018-01-12T03:07:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=1d28b2e142f845773e2b90e267d9632e196a99b9'/>
<id>1d28b2e142f845773e2b90e267d9632e196a99b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>correct constness</title>
<updated>2017-08-19T07:13:20+00:00</updated>
<author>
<name>wwylele</name>
<email>wwylele@gmail.com</email>
</author>
<published>2017-07-25T21:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=bb63ae305279d9a73ea70133c89e92a36dc79f69'/>
<id>bb63ae305279d9a73ea70133c89e92a36dc79f69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>pica/shader: extend UnitState for GS</title>
<updated>2017-08-19T07:13:20+00:00</updated>
<author>
<name>wwylele</name>
<email>wwylele@gmail.com</email>
</author>
<published>2017-07-25T19:30:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=46c6973d2bde25a2a8ae9ac434660798fd1dfaee'/>
<id>46c6973d2bde25a2a8ae9ac434660798fd1dfaee</id>
<content type='text'>
Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Among four shader units in pica, a special unit can be configured to run both VS and GS program. GSUnitState represents this unit, which extends UnitState (which represents the other three normal units) with extra state for primitive emitting. It uses lots of raw pointers to represent internal structure in order to keep it standard layout type for JIT to access.
This unit doesn't handle triangle winding (inverting) itself; instead, it calls a WindingSetter handler. This will be explained in the following commits
</pre>
</div>
</content>
</entry>
<entry>
<title>Pica: Set program code / swizzle data limit to 4096</title>
<updated>2017-05-11T13:01:27+00:00</updated>
<author>
<name>Jannik Vogel</name>
<email>email@jannikvogel.de</email>
</author>
<published>2017-05-08T21:37:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=925724c9900e357e8621a7a592be189cb4141ed8'/>
<id>925724c9900e357e8621a7a592be189cb4141ed8</id>
<content type='text'>
One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.

The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU &lt;Error&gt; video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```

New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One of the later commits will enable writing to GS regs.
It turns out that on startup, most games will write 4096 GS program words.

The current limit of 1024 would hence result in 3072 (4096 - 1024) error messages:
```
HW.GPU &lt;Error&gt; video_core/shader/shader.cpp:WriteProgramCode:229: Invalid GS program offset 1024
```

New constants have been introduced to represent these limits.
The swizzle data size has also been raised. This matches the given field sizes of [GPUREG_SH_OPDESCS_INDEX](https://3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_OPDESCS_INDEX) and [GPUREG_SH_CODETRANSFER_INDEX](https://www.3dbrew.org/wiki/GPU/Internal_Registers#GPUREG_SH_CODETRANSFER_INDEX) (12 bit = [0; 4095]).
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Split regs.h inclusions</title>
<updated>2017-02-09T08:04:24+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2017-01-28T23:12:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=60fc0b086f9ec8d7b955aa9b9c0094dc42ab2fb9'/>
<id>60fc0b086f9ec8d7b955aa9b9c0094dc42ab2fb9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Move Regs to its own file</title>
<updated>2017-02-04T21:59:12+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2017-01-28T21:27:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=5759d94b5c5b11af426668d046d206839bc5e802'/>
<id>5759d94b5c5b11af426668d046d206839bc5e802</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Split shader regs from Regs struct</title>
<updated>2017-02-04T21:59:11+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2017-01-28T21:03:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=f7c7f422c6995a31c1a16c0865bbe13bb38469a3'/>
<id>f7c7f422c6995a31c1a16c0865bbe13bb38469a3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Split rasterizer regs from Regs struct</title>
<updated>2017-02-04T21:08:47+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2017-01-28T04:16:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=000e78144ce87d0be1749f26b9d0494d3c4ddf2f'/>
<id>000e78144ce87d0be1749f26b9d0494d3c4ddf2f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Extract swrast-specific data from OutputVertex</title>
<updated>2017-01-30T05:31:38+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2016-12-19T07:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=dcdffabfe69d0cecd2d8c0c1f217b884b20af643'/>
<id>dcdffabfe69d0cecd2d8c0c1f217b884b20af643</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCore: Split shader output writing from semantic loading</title>
<updated>2017-01-30T05:31:37+00:00</updated>
<author>
<name>Yuri Kunde Schlesner</name>
<email>yuriks@yuriks.net</email>
</author>
<published>2016-12-19T01:58:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/yuzu-mainline/commit/?id=92bf5c88e6f85ebeef161a0056c86c66bc25c6e7'/>
<id>92bf5c88e6f85ebeef161a0056c86c66bc25c6e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
