<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Ryujinx/src/Ryujinx.Graphics.Shader/Translation, 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>GPU: Ensure all clip distances are initialized when used (#7363)</title>
<updated>2024-09-26T17:19:12+00:00</updated>
<author>
<name>riperiperi</name>
<email>rhy3756547@hotmail.com</email>
</author>
<published>2024-09-26T17:19:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=04d68ca6168326f798f9acfa6a273f31ac53f3c6'/>
<id>04d68ca6168326f798f9acfa6a273f31ac53f3c6</id>
<content type='text'>
* GPU: Ensure all clip distances are initialized when used

* Shader cache version</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* GPU: Ensure all clip distances are initialized when used

* Shader cache version</pre>
</div>
</content>
</entry>
<entry>
<title>Shader: Assume the only remaining source is the right one when all others are undefined (#7331)</title>
<updated>2024-09-20T00:23:09+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-09-20T00:23:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=d717aef2be6043ef5a5f064e13db444ef873f6bb'/>
<id>d717aef2be6043ef5a5f064e13db444ef873f6bb</id>
<content type='text'>
* Shader: Assume the only remaining source is the right one when all other are undefined

* Shader cache version bump

* Improve comment</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Shader: Assume the only remaining source is the right one when all other are undefined

* Shader cache version bump

* Improve comment</pre>
</div>
</content>
</entry>
<entry>
<title>Fix shader RegisterUsage pass only taking first operation dest into account (#7131)</title>
<updated>2024-07-31T00:57:55+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-07-31T00:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=56b2f847022a52ad57f41278dfec7d44e606a625'/>
<id>56b2f847022a52ad57f41278dfec7d44e606a625</id>
<content type='text'>
* Fix shader RegisterUsage pass only taking first operation dest into account

* Shader cache version bump</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Fix shader RegisterUsage pass only taking first operation dest into account

* Shader cache version bump</pre>
</div>
</content>
</entry>
<entry>
<title>Extend bindless elimination to catch a few more specific cases (#6921)</title>
<updated>2024-06-16T17:46:27+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-06-16T17:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=3193ef10833bc0d27e2701c7759ab02674d672d3'/>
<id>3193ef10833bc0d27e2701c7759ab02674d672d3</id>
<content type='text'>
* Catch more cases on bindless elimination

* Match blocks with the same comparison condition

* Shader cache version bump</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Catch more cases on bindless elimination

* Match blocks with the same comparison condition

* Shader cache version bump</pre>
</div>
</content>
</entry>
<entry>
<title>Vulkan separate descriptor set fixes (#6895)</title>
<updated>2024-06-03T01:40:28+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-06-03T01:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=c0f2491eaee7eb1088605f5bda8055b941a14f99'/>
<id>c0f2491eaee7eb1088605f5bda8055b941a14f99</id>
<content type='text'>
* Ensure descriptor sets are only re-used when all command buffers using it have completed

* Fix some SPIR-V capabilities

* Set update after bind flag if we exceed limits

* Simpler fix for Intel

* Format whitespace

* Make struct readonly

* Add barriers for extra set arrays too</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Ensure descriptor sets are only re-used when all command buffers using it have completed

* Fix some SPIR-V capabilities

* Set update after bind flag if we exceed limits

* Simpler fix for Intel

* Format whitespace

* Make struct readonly

* Add barriers for extra set arrays too</pre>
</div>
</content>
</entry>
<entry>
<title>Vulkan: Extend full bindless to cover cases with phi nodes (#6853)</title>
<updated>2024-05-26T18:20:10+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-05-26T18:20:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=c41fddd25e8ddd3cf0b3cefeaf6595d2e4ede0fa'/>
<id>c41fddd25e8ddd3cf0b3cefeaf6595d2e4ede0fa</id>
<content type='text'>
* Key textures using set and binding (rather than just binding)

* Extend full bindless to cover cases with phi nodes

* Log error on bindless access failure

* Shader cache version bump

* Remove constant buffer match to reduce the chances of full bindless triggering

* Re-enable it for constant buffers, paper mario does actually need it

* Format whitespace</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Key textures using set and binding (rather than just binding)

* Extend full bindless to cover cases with phi nodes

* Log error on bindless access failure

* Shader cache version bump

* Remove constant buffer match to reduce the chances of full bindless triggering

* Re-enable it for constant buffers, paper mario does actually need it

* Format whitespace</pre>
</div>
</content>
</entry>
<entry>
<title>Allow texture arrays to use separate descriptor sets on Vulkan (#6870)</title>
<updated>2024-05-26T16:30:19+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-05-26T16:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=53d096e392d85106a41d8edad1dcda5cce7446a2'/>
<id>53d096e392d85106a41d8edad1dcda5cce7446a2</id>
<content type='text'>
* Report base and extra sets from the backend

* Pass texture set index everywhere

* Key textures using set and binding (rather than just binding)

* Start using extra sets for array textures

* Shader cache version bump

* Separate new commands, some PR feedback

* Introduce new manual descriptor set reservation method that prevents it from being used by something else while owned by an array

* Move bind extra sets logic to new method

* Should only use separate array is MaximumExtraSets is not zero

* Format whitespace</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Report base and extra sets from the backend

* Pass texture set index everywhere

* Key textures using set and binding (rather than just binding)

* Start using extra sets for array textures

* Shader cache version bump

* Separate new commands, some PR feedback

* Introduce new manual descriptor set reservation method that prevents it from being used by something else while owned by an array

* Move bind extra sets logic to new method

* Should only use separate array is MaximumExtraSets is not zero

* Format whitespace</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for bindless textures from storage buffer on Vulkan (#6721)</title>
<updated>2024-05-14T14:47:16+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-05-14T14:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=3a3b51893ee272af49d762387da5b27743786d56'/>
<id>3a3b51893ee272af49d762387da5b27743786d56</id>
<content type='text'>
* Halve primitive ID when converting quads to triangles

* Shader cache version bump

* Add support for bindless textures from storage buffer on Vulkan</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Halve primitive ID when converting quads to triangles

* Shader cache version bump

* Add support for bindless textures from storage buffer on Vulkan</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for bindless textures from shader input (vertex buffer) on Vulkan (#6577)</title>
<updated>2024-04-22T18:05:55+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-04-22T18:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=c6f8bfed904e30f7c5d890a2f0ef531eb9e298e5'/>
<id>c6f8bfed904e30f7c5d890a2f0ef531eb9e298e5</id>
<content type='text'>
* Add support for bindless textures from shader input (vertex buffer)

* Shader cache version bump

* Format whitespace

* Remove cache entries on pool removal, disable for OpenGL

* PR feedback</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add support for bindless textures from shader input (vertex buffer)

* Shader cache version bump

* Format whitespace

* Remove cache entries on pool removal, disable for OpenGL

* PR feedback</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for large sampler arrays on Vulkan (#6489)</title>
<updated>2024-04-07T21:25:55+00:00</updated>
<author>
<name>gdkchan</name>
<email>gab.dark.100@gmail.com</email>
</author>
<published>2024-04-07T21:25:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.benis.co.uk/Ryujinx/commit/?id=3e6e0e4afaa3c3ffb118cb17b61feb16966a7eeb'/>
<id>3e6e0e4afaa3c3ffb118cb17b61feb16966a7eeb</id>
<content type='text'>
* Add support for large sampler arrays on Vulkan

* Shader cache version bump

* Format whitespace

* Move DescriptorSetManager to PipelineLayoutCacheEntry to allow different pool sizes per layout

* Handle array textures with different types on the same buffer

* Somewhat better caching system

* Avoid useless buffer data modification checks

* Move redundant bindings update checking to the backend

* Fix an issue where texture arrays would get the same bindings across stages on Vulkan

* Backport some fixes from part 2

* Fix typo

* PR feedback

* Format whitespace

* Add some missing XML docs</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add support for large sampler arrays on Vulkan

* Shader cache version bump

* Format whitespace

* Move DescriptorSetManager to PipelineLayoutCacheEntry to allow different pool sizes per layout

* Handle array textures with different types on the same buffer

* Somewhat better caching system

* Avoid useless buffer data modification checks

* Move redundant bindings update checking to the backend

* Fix an issue where texture arrays would get the same bindings across stages on Vulkan

* Backport some fixes from part 2

* Fix typo

* PR feedback

* Format whitespace

* Add some missing XML docs</pre>
</div>
</content>
</entry>
</feed>
