<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/video_core/renderer_vulkan/present, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>renderer: add area sampling scaling method (#57)</title>
<updated>2024-12-20T15:24:58+00:00</updated>
<author>
<name>lui</name>
<email>lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion</email>
</author>
<published>2024-10-03T13:25:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=6dbbe4225b49e207fc131eaa84f2c6cefd33b8cc'/>
<id>6dbbe4225b49e207fc131eaa84f2c6cefd33b8cc</id>
<content type='text'>
Adds Area Sampling to the list of scaling options. Works well to achieve a high-quality, smooth super-sampling effect. Dolphin has had this for a while, and now Ryujinx has recently added it too, so I decided to port it.

Not sure if adding the extra uniform to the OpenGL WindowAdaptPass was a good idea or not, or if using the push constants under Vulkan was either, but I wasn't sure about the best way to get the window size for use in the shader, and other scaling methods still work fine. Implementation seems to work fine under both Vulkan and OpenGL, but might still need some minor tweaks to the shader. Should definitely do some testing before merging, I have tested on an Nvidia RTX 3080 under Windows.

Adapted from these two PRs:
https://github.com/Ryujinx/Ryujinx/pull/7304
https://github.com/dolphin-emu/dolphin/pull/11999

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/57
Co-authored-by: lui &lt;lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion&gt;
Co-committed-by: lui &lt;lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds Area Sampling to the list of scaling options. Works well to achieve a high-quality, smooth super-sampling effect. Dolphin has had this for a while, and now Ryujinx has recently added it too, so I decided to port it.

Not sure if adding the extra uniform to the OpenGL WindowAdaptPass was a good idea or not, or if using the push constants under Vulkan was either, but I wasn't sure about the best way to get the window size for use in the shader, and other scaling methods still work fine. Implementation seems to work fine under both Vulkan and OpenGL, but might still need some minor tweaks to the shader. Should definitely do some testing before merging, I have tested on an Nvidia RTX 3080 under Windows.

Adapted from these two PRs:
https://github.com/Ryujinx/Ryujinx/pull/7304
https://github.com/dolphin-emu/dolphin/pull/11999

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/57
Co-authored-by: lui &lt;lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion&gt;
Co-committed-by: lui &lt;lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scope_exit: Make constexpr</title>
<updated>2024-02-19T15:00:46+00:00</updated>
<author>
<name>FearlessTobi</name>
<email>thm.frey@gmail.com</email>
</author>
<published>2024-02-19T15:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=310c1f50beb77fc5c6f9075029973161d4e51a4a'/>
<id>310c1f50beb77fc5c6f9075029973161d4e51a4a</id>
<content type='text'>
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
</pre>
</div>
</content>
</entry>
<entry>
<title>gpu: dependency-inject scaling/antialiasing filter state for capture layers</title>
<updated>2024-02-09T14:20:53+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-28T00:10:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=78aac6b403de732e33a83c1b78eaa5384fd2ae61'/>
<id>78aac6b403de732e33a83c1b78eaa5384fd2ae61</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>nvnflinger/gpu: implement blending</title>
<updated>2024-02-09T14:20:53+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-22T17:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=962c82540c304f909957776908aabcd261f2a7ba'/>
<id>962c82540c304f909957776908aabcd261f2a7ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>video_core: defensively program around unmapped device pointers</title>
<updated>2024-02-09T14:20:53+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-20T00:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=0cbb555e9aab4ec18491a400176caa0dce9a9ad1'/>
<id>0cbb555e9aab4ec18491a400176caa0dce9a9ad1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>nvnflinger/gpu: implement layer stack composition</title>
<updated>2024-01-31T16:27:21+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-22T17:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=a595e9e8a7a6a742481b1cd05455d3c639095413'/>
<id>a595e9e8a7a6a742481b1cd05455d3c639095413</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer_vulkan: implement layer stack composition</title>
<updated>2024-01-31T16:27:21+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-18T16:44:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=9bdf09bd768f73073e9d1cbc65febfd7f7955db3'/>
<id>9bdf09bd768f73073e9d1cbc65febfd7f7955db3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer_opengl: split up blit screen resources into antialias and window adapt passes</title>
<updated>2024-01-31T16:27:21+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-15T20:08:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=d4de04584f14f3ea8fde4cd79102b887c084fbc2'/>
<id>d4de04584f14f3ea8fde4cd79102b887c084fbc2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer_vulkan: convert FSR to graphics pipeline</title>
<updated>2024-01-31T16:27:21+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-15T15:19:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=2ed9586130a7b1de6aefc2aede464c4d3430d484'/>
<id>2ed9586130a7b1de6aefc2aede464c4d3430d484</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>renderer_opengl: split out FXAA</title>
<updated>2024-01-31T16:27:20+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2024-01-15T05:09:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=60ee29aac386c31b9a9add6a12f051273fa45dae'/>
<id>60ee29aac386c31b9a9add6a12f051273fa45dae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
