<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/VideoBackendBase.cpp, branch release-prep-2503a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>GeneralWidget: Recommend default video backend in tooltip</title>
<updated>2024-11-03T20:28:30+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-11-03T19:35:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=47a86d920f965a3799fa5f46734497b88e8eba0a'/>
<id>47a86d920f965a3799fa5f46734497b88e8eba0a</id>
<content type='text'>
Recommend the platform's default video backend in the Backend tooltip
instead of always recommending OpenGL.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Recommend the platform's default video backend in the Backend tooltip
instead of always recommending OpenGL.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoBackendBase: Clarify function name</title>
<updated>2024-11-03T20:26:57+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-11-03T19:33:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7b8610f4ea4f90074c79c750c9a27fc90d9dc99f'/>
<id>7b8610f4ea4f90074c79c750c9a27fc90d9dc99f</id>
<content type='text'>
Rename GetDefaultBackendName to GetDefaultBackendConfigName to
distinguish it from the display name.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename GetDefaultBackendName to GetDefaultBackendConfigName to
distinguish it from the display name.
</pre>
</div>
</content>
</entry>
<entry>
<title>Partially revert "Revert "Audit uses of IsRunning and GetState""</title>
<updated>2024-10-04T16:35:41+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-07-02T15:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6ca2da53e86766f54df1ae79e65bb220b41ed7ef'/>
<id>6ca2da53e86766f54df1ae79e65bb220b41ed7ef</id>
<content type='text'>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoBackendBase: Only populate backend info when uninitialized</title>
<updated>2024-09-27T19:20:48+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-09-27T19:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=dc1b961c09e009d53fcf3e74f5ce0f2375ec5dcc'/>
<id>dc1b961c09e009d53fcf3e74f5ce0f2375ec5dcc</id>
<content type='text'>
Prevent potential issues when creating the Graphics window (and thus
calling PopulateBackendInfo) while the core state is Stopping, like we
already do while it's Starting or Running.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Prevent potential issues when creating the Graphics window (and thus
calling PopulateBackendInfo) while the core state is Stopping, like we
already do while it's Starting or Running.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoBackendBase: Check Core state in PopulateBackendInfo</title>
<updated>2024-09-27T00:12:26+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-09-26T22:11:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0a1084fad58ca6e340802021bd2e0d48ad7180ed'/>
<id>0a1084fad58ca6e340802021bd2e0d48ad7180ed</id>
<content type='text'>
Remove the PopulateBackendInfoFromUI function, which had a single caller
(GraphicsWindow::OnBackendChanged) and checked that the core wasn't
running or starting before calling PopulateBackendInfo.

Move the core state check into PopulateBackendInfo and have
OnBackendChanged call that instead. This guarantees the check is
performed by all callers of PopulateBackendInfo, preventing
potential reintroduction of the crash fixed in 3d4ae63f if another call
to PopulateBackendInfo is added.

As of the previous commit the only other caller of PopulateBackendInfo
is Core::Init shortly before s_state is set to Starting, so it will
always pass the check and so maintain its current behavior.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the PopulateBackendInfoFromUI function, which had a single caller
(GraphicsWindow::OnBackendChanged) and checked that the core wasn't
running or starting before calling PopulateBackendInfo.

Move the core state check into PopulateBackendInfo and have
OnBackendChanged call that instead. This guarantees the check is
performed by all callers of PopulateBackendInfo, preventing
potential reintroduction of the crash fixed in 3d4ae63f if another call
to PopulateBackendInfo is added.

As of the previous commit the only other caller of PopulateBackendInfo
is Core::Init shortly before s_state is set to Starting, so it will
always pass the check and so maintain its current behavior.
</pre>
</div>
</content>
</entry>
<entry>
<title>GraphicsWindow: Fix crash when opening during emulation startup</title>
<updated>2024-09-27T00:12:26+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-09-24T19:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=91f7b776ca51b06f33e72c92854a960c2fbaad8b'/>
<id>91f7b776ca51b06f33e72c92854a960c2fbaad8b</id>
<content type='text'>
Fix a crash when opening the Graphics window for the first time during
emulation startup when the backend is Vulkan, D3D11, or D3D12.

Don't call PopulateBackendInfo() from the Host thread when the core is
starting up. First, the function has already been called in Core::Init()
so we don't need to again. More importantly, PopulateBackendInfo() calls
g_video_backend-&gt;InitBackendInfo(), and the Vulkan and D3D
implementations of those functions load and then unload libraries (and
their associated function pointers) which are potentially in use by
other threads.

This crash was reliably reproducible with the following steps:
1) Select an affected backend.
2) Enable "Compile Shaders Before Starting"
3) Delete the cached shaders (but not the .uidcache file) for the game
   you're testing.
4) Close and reopen Dolphin.
5) Start the game.
6) While the game is still booting or compiling shaders, open the
   Graphics window for the first time in that Dolphin session.

Fixes https://bugs.dolphin-emu.org/issues/13634.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a crash when opening the Graphics window for the first time during
emulation startup when the backend is Vulkan, D3D11, or D3D12.

Don't call PopulateBackendInfo() from the Host thread when the core is
starting up. First, the function has already been called in Core::Init()
so we don't need to again. More importantly, PopulateBackendInfo() calls
g_video_backend-&gt;InitBackendInfo(), and the Vulkan and D3D
implementations of those functions load and then unload libraries (and
their associated function pointers) which are potentially in use by
other threads.

This crash was reliably reproducible with the following steps:
1) Select an affected backend.
2) Enable "Compile Shaders Before Starting"
3) Delete the cached shaders (but not the .uidcache file) for the game
   you're testing.
4) Close and reopen Dolphin.
5) Start the game.
6) While the game is still booting or compiling shaders, open the
   Graphics window for the first time in that Dolphin session.

Fixes https://bugs.dolphin-emu.org/issues/13634.
</pre>
</div>
</content>
</entry>
<entry>
<title>Texture Dumping: Show OSD message on startup and when toggled</title>
<updated>2024-09-06T20:00:25+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-09-05T20:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c3d6d2189a63f93db2ed2e8879f6f101e2e388fe'/>
<id>c3d6d2189a63f93db2ed2e8879f6f101e2e388fe</id>
<content type='text'>
If texture dumping is enabled, notify the user on emulation startup
using an On Screen Display message.

Also notify the user when texture dumping is toggled.

Addresses https://bugs.dolphin-emu.org/issues/12445.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If texture dumping is enabled, notify the user on emulation startup
using an On Screen Display message.

Also notify the user when texture dumping is toggled.

Addresses https://bugs.dolphin-emu.org/issues/12445.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core::IsRunning: Avoid Global System Accessor</title>
<updated>2024-05-01T15:54:17+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-04-09T03:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0df401b164bbe2b0314b74f1fd6385e852bbe098'/>
<id>0df401b164bbe2b0314b74f1fd6385e852bbe098</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Use GetSpanForAddress safely in texture decoding</title>
<updated>2024-04-20T16:31:08+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-04-13T16:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3cfa233b63dfcd734be2dd0ae4bd0d3e98109df6'/>
<id>3cfa233b63dfcd734be2dd0ae4bd0d3e98109df6</id>
<content type='text'>
Now only VertexLoader remains... But that one might be tricky.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now only VertexLoader remains... But that one might be tricky.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon: Prefer D3D11/12 over OpenGL on Windows.</title>
<updated>2024-03-16T00:51:04+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2024-03-16T00:51:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ac5c2d9bf2c40c738fc5d6f917a7055691721cde'/>
<id>ac5c2d9bf2c40c738fc5d6f917a7055691721cde</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
