<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/Src/PixelEngine.cpp, branch 3.5</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>made savestates synchronous and immediate. this allows saving or loading while the emulator is paused, fixes issues where savestate hotkeys would get ignored if pressed too close together, might speed up savestates in some cases, and hopefully makes savestates more stable too.</title>
<updated>2012-05-26T03:09:38+00:00</updated>
<author>
<name>nitsuja</name>
<email>nitsuja-@hotmail.com</email>
</author>
<published>2011-12-31T04:16:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a81631b58e3a77f8d088c574fc048f3fb37a7c51'/>
<id>a81631b58e3a77f8d088c574fc048f3fb37a7c51</id>
<content type='text'>
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merged 'FifoBusy' branch. Thanks</title>
<updated>2012-03-20T08:37:25+00:00</updated>
<author>
<name>skidau</name>
<email>skidau@gmail.com</email>
</author>
<published>2012-03-20T08:37:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=a60a0825a334e898832337ad4a66266a645241e9'/>
<id>a60a0825a334e898832337ad4a66266a645241e9</id>
<content type='text'>
to marcosvitali.

Added an external exception check when the CPU writes to the FIFO.  This allows
the CPU time to service FIFO overflows.  Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2".  Thanks
to marcosvitali for the research.

Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).

This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.

Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts.  Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.

Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.

Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.

Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.

Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.

Fixed ReadWriteDistance calc when CPRead &gt; CPWrite.

Added Token and Finish cause to GP Jit checking.

Additional cleanup in CommandProcessor.



Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to marcosvitali.

Added an external exception check when the CPU writes to the FIFO.  This allows
the CPU time to service FIFO overflows.  Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2".  Thanks
to marcosvitali for the research.

Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).

This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.

Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts.  Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.

Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.

Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.

Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.

Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.

Fixed ReadWriteDistance calc when CPRead &gt; CPWrite.

Added Token and Finish cause to GP Jit checking.

Additional cleanup in CommandProcessor.



Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
</pre>
</div>
</content>
</entry>
<entry>
<title>Ive fixed definitely Pokemon XD in dual core mode. This game is doing something not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If the game do that on breakpoint the solution can fail.</title>
<updated>2012-03-19T01:54:58+00:00</updated>
<author>
<name>marcosvitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2012-03-19T01:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=20eca1bf7e2e02dd18229dc2b6b83935ce0d4047'/>
<id>20eca1bf7e2e02dd18229dc2b6b83935ce0d4047</id>
<content type='text'>
Fixed ReadWriteDistance calc when CPRead &gt; CPWrite.
Added Token and Finish cause to GP Jit checking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixed ReadWriteDistance calc when CPRead &gt; CPWrite.
Added Token and Finish cause to GP Jit checking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added the corresponding change from r352ab2ba4394 into JITIL.</title>
<updated>2012-03-13T11:35:11+00:00</updated>
<author>
<name>skidau</name>
<email>skidau@gmail.com</email>
</author>
<published>2012-03-13T11:35:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=dc79d68e72f04f60366484f60bff1e39d7e6babe'/>
<id>dc79d68e72f04f60366484f60bff1e39d7e6babe</id>
<content type='text'>
Tidied some code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tidied some code.
</pre>
</div>
</content>
</entry>
<entry>
<title>This commit fix games hanging because of my prior Revision c2e6fdf09f33</title>
<updated>2012-03-09T21:58:23+00:00</updated>
<author>
<name>marcosvitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2012-03-09T21:58:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=104603467be6cc15e63dfb5cadec8044edd1da46'/>
<id>104603467be6cc15e63dfb5cadec8044edd1da46</id>
<content type='text'>
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.

This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f33 and surely others games.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The external exceptions in dolphin are checking frequently but is different to real HW, so sometime the game is in a loop checking GPU STATUS, the exceptions doesn't checked, and the game hang.\
For solve this I need a trick: still waiting for the exception handler be linked but if CommandProcecsor is reading the GPStatus, resume this.

This fixed "TimeSplitters: Future Perfect" broken in the Revision c2e6fdf09f33 and surely others games.
</pre>
</div>
</content>
</entry>
<entry>
<title>- I've fixed possibles random hangs in DC mode.</title>
<updated>2012-03-08T05:47:55+00:00</updated>
<author>
<name>marcosvitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2012-03-08T05:47:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c2e6fdf09f33f7765526fac680d13af9ba744125'/>
<id>c2e6fdf09f33f7765526fac680d13af9ba744125</id>
<content type='text'>
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)

Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.

I was working with Skid_AU together, especially thanks for him.

Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- I've fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
- I've implemented accurate manage of Pixel Engine Interrupts, now the GPU loop is stopped when a PE Interrupt needs to be managed and resume when Pixel Engine finish,
I think now, the Fifo in DC mode is more accurate than SC mode. :)

Time to close the big fifo Issue 3694 (snif), please if you have a possible fifo issue report this like a game issue.

I was working with Skid_AU together, especially thanks for him.

Test a lot all games, and compare the performance with the master maybe this accuracy has a cost (not a lot).
I think now the fifo is very stable, overflow fixed, random hang fixed, if you have a game with a hang with this rev and not in master please report this.
</pre>
</div>
</content>
</entry>
<entry>
<title>revert r90a2096a24f4 behavior changes in PixelEngine.cpp. Thanks to Autoran1 for finding the responsible commit. Fixes Scrubbing Serena Beach Countdown in both SC and DC.</title>
<updated>2012-03-08T04:08:14+00:00</updated>
<author>
<name>LPFaint99</name>
<email>lpfaint99@gmail.com</email>
</author>
<published>2012-03-08T04:08:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6fc8cdf12d41ea9f9be2d345face72ddf1fe045d'/>
<id>6fc8cdf12d41ea9f9be2d345face72ddf1fe045d</id>
<content type='text'>
Fixes issue 1498.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue 1498.
</pre>
</div>
</content>
</entry>
<entry>
<title>This release still fixed the hangs produced by fifo overflow without sacrifice performance.</title>
<updated>2012-03-05T05:40:10+00:00</updated>
<author>
<name>marcosvitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2012-03-05T05:40:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b0f75f17ae19484735675fea348f7e95740f597f'/>
<id>b0f75f17ae19484735675fea348f7e95740f597f</id>
<content type='text'>
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For example you can test Tutorial moves at the beginning of The last history now is fluid 30/60.
Shuffle2: I've delete the hacky line, I think is not necessary anymore. Additional some clean in CommandProcessor.
Please test The Last Story and others games affected in the previous commits and give me a feedback.
</pre>
</div>
</content>
</entry>
<entry>
<title>initialize the uninitialized</title>
<updated>2012-01-04T09:36:09+00:00</updated>
<author>
<name>nitsuja</name>
<email>nitsuja-@hotmail.com</email>
</author>
<published>2012-01-02T10:20:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=39613a95a80db27d262ad8ed4b75858c78aeed83'/>
<id>39613a95a80db27d262ad8ed4b75858c78aeed83</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Bounding Box bugfixes.</title>
<updated>2011-10-28T20:12:12+00:00</updated>
<author>
<name>crudelios</name>
<email>crudelios@gmail.com</email>
</author>
<published>2011-10-28T20:12:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=dd551814c9c160c1dd33ed0f29e722e73fb43eca'/>
<id>dd551814c9c160c1dd33ed0f29e722e73fb43eca</id>
<content type='text'>
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.

This should also be a (very very little) bit faster than the previous version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixes all (I hope) BBox-related unknown pointer crashes.
- Fixes wrong BBox values with Frame Skip on (and the resulting unknown pointer crashes).
- Fixes a small oversight on the change I made to the ISO Properties dialog.

This should also be a (very very little) bit faster than the previous version.
</pre>
</div>
</content>
</entry>
</feed>
