<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/VideoConfig.cpp, branch 2409</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Graphics: Adapt aspect ratio when SBS/TAB 3D is used</title>
<updated>2024-08-21T21:11:43+00:00</updated>
<author>
<name>Bryan Jacobs</name>
<email>b@q3q.us</email>
</author>
<published>2024-08-15T07:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=7ec6d116e8ee94bee8bdecf2bf2801ea45f09432'/>
<id>7ec6d116e8ee94bee8bdecf2bf2801ea45f09432</id>
<content type='text'>
Adds support for choosing to present the full resolution
independently to each eye when using side-by-side or
top-and-bottom 3D.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds support for choosing to present the full resolution
independently to each eye when using side-by-side or
top-and-bottom 3D.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core/VideoCommon: Revert change from #12828</title>
<updated>2024-06-23T01:44:05+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-06-23T01:44:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ce2f4101f3e50d61a1d4a7348a016d928930ff33'/>
<id>ce2f4101f3e50d61a1d4a7348a016d928930ff33</id>
<content type='text'>
This causes Dual Core to lock up during the boot sequence, because it tries to wait for a not-yet-running GPU thread.

Fixes https://bugs.dolphin-emu.org/issues/13559
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This causes Dual Core to lock up during the boot sequence, because it tries to wait for a not-yet-running GPU thread.

Fixes https://bugs.dolphin-emu.org/issues/13559
</pre>
</div>
</content>
</entry>
<entry>
<title>Audit uses of IsRunning and GetState</title>
<updated>2024-06-21T18:52:55+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-02T14:45:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=72cf2bdb87f09deff22e1085de3290126aa4ad05'/>
<id>72cf2bdb87f09deff22e1085de3290126aa4ad05</id>
<content type='text'>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: Store current state in less places</title>
<updated>2024-06-21T18:46:44+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-02T13:10:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=962230f91e06a60b2395de6f0974fdd213854d4c'/>
<id>962230f91e06a60b2395de6f0974fdd213854d4c</id>
<content type='text'>
Core::GetState reads from four different pieces of state: s_is_stopping,
s_hardware_initialized, s_is_booting, and CPUManager::IsStepping.
I'm keeping that last one as is for now because there's code in Dolphin
that sets it directly, but we can unify the other three to make things
easier to reason about.

This commit also gets rid of s_is_started. This was previously used in
Core::IsRunningAndStarted to ensure true wouldn't be returned until the
CPU thread was started, but it wasn't used in Core::GetState, so
Core::GetState would happily return State::Running after we had
initialized the hardware but before we had initialized the CPU thread.
As far as I know, there are no callers that have any real need to know
whether the boot process is currently initializing the hardware or the
CPU thread. Perhaps once upon a time there was a desire to make the
apploader debuggable, but a long time has passed without anyone stepping
up to implement it, and the way CBoot::RunApploader is implemented makes
it rather difficult. So this commit makes all the functions in Core.cpp
consider the core to still be starting until the CPU thread is started.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Core::GetState reads from four different pieces of state: s_is_stopping,
s_hardware_initialized, s_is_booting, and CPUManager::IsStepping.
I'm keeping that last one as is for now because there's code in Dolphin
that sets it directly, but we can unify the other three to make things
easier to reason about.

This commit also gets rid of s_is_started. This was previously used in
Core::IsRunningAndStarted to ensure true wouldn't be returned until the
CPU thread was started, but it wasn't used in Core::GetState, so
Core::GetState would happily return State::Running after we had
initialized the hardware but before we had initialized the CPU thread.
As far as I know, there are no callers that have any real need to know
whether the boot process is currently initializing the hardware or the
CPU thread. Perhaps once upon a time there was a desire to make the
apploader debuggable, but a long time has passed without anyone stepping
up to implement it, and the way CBoot::RunApploader is implemented makes
it rather difficult. So this commit makes all the functions in Core.cpp
consider the core to still be starting until the CPU thread is started.
</pre>
</div>
</content>
</entry>
<entry>
<title>Video: split frame dumping settings into 3 resolution dumping modes</title>
<updated>2024-04-08T19:54:45+00:00</updated>
<author>
<name>Filoppi</name>
<email>filippotarpini@hotmail.it</email>
</author>
<published>2024-02-22T00:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=72db62e17856265adefaaff6c7827989a2b362a4'/>
<id>72db62e17856265adefaaff6c7827989a2b362a4</id>
<content type='text'>
also polish aspect ratio related code for clarity
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
also polish aspect ratio related code for clarity
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon/Statistics: Remove global system accessor from s_after_frame_event</title>
<updated>2024-01-31T18:12:09+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2024-01-31T18:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=cac66317aa715a3d9fcfe39ccbe5d224ca489637'/>
<id>cac66317aa715a3d9fcfe39ccbe5d224ca489637</id>
<content type='text'>
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.

This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.

This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core/Movie: Refactor to class, move to System.</title>
<updated>2024-01-15T07:05:30+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-01-13T12:14:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=95cba6be2beda7fbf4fb597b0aa4cbb8912d8265'/>
<id>95cba6be2beda7fbf4fb597b0aa4cbb8912d8265</id>
<content type='text'>
A bit of global state remains (the `header` in `BeginRecordingInput()`) due to unclear lifetime requirements.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A bit of global state remains (the `header` in `BeginRecordingInput()`) due to unclear lifetime requirements.
</pre>
</div>
</content>
</entry>
<entry>
<title>VideoCommon/Fifo: Pass system instance through FifoManager constructor</title>
<updated>2023-12-19T03:03:25+00:00</updated>
<author>
<name>Lioncache</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-12-19T02:31:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b0d244b77232508dcb9bcf3bf9efd9f57797bf3b'/>
<id>b0d244b77232508dcb9bcf3bf9efd9f57797bf3b</id>
<content type='text'>
Given how many member functions make use of the system instance,
it's likely just better to pass the system instance in on construction.

Makes the interface a little less noisy to use.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given how many member functions make use of the system instance,
it's likely just better to pass the system instance in on construction.

Makes the interface a little less noisy to use.
</pre>
</div>
</content>
</entry>
<entry>
<title>Video: fix Auto Resolution Scale not updating when the window was resized.</title>
<updated>2023-12-18T00:00:25+00:00</updated>
<author>
<name>Filoppi</name>
<email>filippotarpini@hotmail.it</email>
</author>
<published>2023-09-06T23:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fdd1934f12f684833e158f1859341f887ab4d447'/>
<id>fdd1934f12f684833e158f1859341f887ab4d447</id>
<content type='text'>
Also fixes the widescreen hack not fully updating when the aspect ratio setting changed on the spot.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also fixes the widescreen hack not fully updating when the aspect ratio setting changed on the spot.
</pre>
</div>
</content>
</entry>
<entry>
<title>Video: implement custom aspect ratio support (already exposed to Qt).</title>
<updated>2023-12-18T00:00:24+00:00</updated>
<author>
<name>Filoppi</name>
<email>filippotarpini@hotmail.it</email>
</author>
<published>2023-12-12T22:27:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b3aa6ad93b16e026601f2138396db256eadf9fc9'/>
<id>b3aa6ad93b16e026601f2138396db256eadf9fc9</id>
<content type='text'>
This also renamed some variables/functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also renamed some variables/functions.
</pre>
</div>
</content>
</entry>
</feed>
