<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/video_core/renderer_vulkan/wrapper.cpp, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2020-12-31T05:07:14+00:00</updated>
<entry>
<title>vulkan_common: Rename renderer_vulkan/wrapper.h to vulkan_common/vulkan_wrapper.h</title>
<updated>2020-12-31T05:07:14+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-12-25T00:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ddddd250338449e6f07a70d294774c0ed5dfc4bc'/>
<id>urn:sha1:ddddd250338449e6f07a70d294774c0ed5dfc4bc</id>
<content type='text'>
Allows sharing Vulkan wrapper code between different rendering backends.
</content>
</entry>
<entry>
<title>video_core: Rewrite the texture cache</title>
<updated>2020-12-30T06:38:50+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-12-30T05:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d25b097e84478df47c122265809dff1ef0b4982b'/>
<id>urn:sha1:d25b097e84478df47c122265809dff1ef0b4982b</id>
<content type='text'>
The current texture cache has several points that hurt maintainability
and performance. It's easy to break unrelated parts of the cache
when doing minor changes. The cache can easily forget valuable
information about the cached textures by CPU writes or simply by its
normal usage.The current texture cache has several points that hurt
maintainability and performance. It's easy to break unrelated parts
of the cache when doing minor changes. The cache can easily forget
valuable information about the cached textures by CPU writes or simply
by its normal usage.

This commit aims to address those issues.
</content>
</entry>
<entry>
<title>video_core: Resolve more variable shadowing scenarios pt.2</title>
<updated>2020-12-05T11:39:35+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2020-12-05T09:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=341083a5e135edb06bcb8913f4897c232650d1da'/>
<id>urn:sha1:341083a5e135edb06bcb8913f4897c232650d1da</id>
<content type='text'>
Migrates the video core code closer to enabling variable shadowing
warnings as errors.

This primarily sorts out shadowing occurrences within the Vulkan code.
</content>
</entry>
<entry>
<title>video_core: Enforce -Wredundant-move and -Wpessimizing-move</title>
<updated>2020-10-28T05:44:50+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-10-28T05:25:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=de16b5a409cb4e9d3cce147d6fdce1fd46407da7'/>
<id>urn:sha1:de16b5a409cb4e9d3cce147d6fdce1fd46407da7</id>
<content type='text'>
Silence three warnings and make them errors to avoid introducing more in the future.
</content>
</entry>
<entry>
<title>Merge pull request #4204 from ReinUsesLisp/vulkan-1.0</title>
<updated>2020-10-19T21:18:54+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2020-10-19T21:18:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=a8368cfaac35c2400f0d9baff8b2cd5216619ebf'/>
<id>urn:sha1:a8368cfaac35c2400f0d9baff8b2cd5216619ebf</id>
<content type='text'>
renderer_vulkan: Create and properly use Vulkan 1.0 instances when 1.1 is not available</content>
</entry>
<entry>
<title>renderer_vulkan/wrapper: Fix physical device sorting</title>
<updated>2020-10-07T20:13:22+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-10-07T20:13:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=17fe00bcee4e6ff4d3f2ca37b379615ca92c459e'/>
<id>urn:sha1:17fe00bcee4e6ff4d3f2ca37b379615ca92c459e</id>
<content type='text'>
The old code had a sort function that was invalid and it didn't work as
expected when the base vector had a different order (e.g. renderdoc was
attached).

This sorts devices as expected and fixes a debug assert on MSVC.
</content>
</entry>
<entry>
<title>renderer_vulkan: Make unconditional use of VK_KHR_timeline_semaphore</title>
<updated>2020-09-19T04:46:37+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-09-10T06:43:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7c747f9bead4a8c7feb9f0c2754dbe9159afb4f3'/>
<id>urn:sha1:7c747f9bead4a8c7feb9f0c2754dbe9159afb4f3</id>
<content type='text'>
This reworks how host&lt;-&gt;device synchronization works on the Vulkan
backend. Instead of "protecting" resources with a fence and signalling
these as free when the fence is known to be signalled by the host GPU,
use timeline semaphores.

Vulkan timeline semaphores allow use to work on a subset of D3D12
fences. As far as we are concerned, timeline semaphores are a value set
by the host or the device that can be waited by either of them.

Taking advantange of this, we can have a monolithically increasing
atomic value for each submission to the graphics queue. Instead of
protecting resources with a fence, we simply store the current logical
tick (the atomic value stored in CPU memory). When we want to know if a
resource is free, it can be compared to the current GPU tick.

This greatly simplifies resource management code and the free status of
resources should have less false negatives.

To workaround bugs in validation layers, when these are attached there's
a thread waiting for timeline semaphores.
</content>
</entry>
<entry>
<title>video_core: Enforce -Werror=switch</title>
<updated>2020-09-16T20:48:01+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-09-16T20:48:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ee7e70cfbc5d60e507aaa19202ad8192dc0fa2a7'/>
<id>urn:sha1:ee7e70cfbc5d60e507aaa19202ad8192dc0fa2a7</id>
<content type='text'>
This forces us to fix all -Wswitch warnings in video_core.
</content>
</entry>
<entry>
<title>renderer_vulkan: Create a Vulkan 1.0 instance when 1.1 is not available</title>
<updated>2020-08-20T19:55:22+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-06-29T05:34:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=b29e2d4656be33acfeee839bfdcba98481f16e98'/>
<id>urn:sha1:b29e2d4656be33acfeee839bfdcba98481f16e98</id>
<content type='text'>
This commit doesn't make yuzu compatible with Vulkan 1.0 yet, it only
creates an 1.0 instance.
</content>
</entry>
<entry>
<title>Merge pull request #4522 from lioncash/vulk-copy</title>
<updated>2020-08-18T23:31:35+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2020-08-18T23:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=02b89566399bbd50236e0c1584b5cf975f8e7343'/>
<id>urn:sha1:02b89566399bbd50236e0c1584b5cf975f8e7343</id>
<content type='text'>
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()</content>
</entry>
</feed>
