<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/Src/CommandProcessor.cpp, branch 3.0</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Big Fifo Commit Part2: Now the fifo is more stable than my first commit, so is time...</title>
<updated>2011-02-17T04:25:21+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-17T04:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c7ae0eb0d12ae828d02188ca611391c142be9762'/>
<id>c7ae0eb0d12ae828d02188ca611391c142be9762</id>
<content type='text'>
- ReImplementing Single Core Mode like Dual Core Mode Style.

- Stage 1: My goal is, we have the Fifo, CommandProccessor code the more clear, maintenible and documented possible. When I quit dolphin I want any developer can continue with the work only reading the code.
	
* Big Refactoring: A lot of functions was changed the names, and modularized.
Now the FifoLoop and CatchUpGPU does not exist, was replaced by RunGpu() and RunGpuLoop().
The general idea is modeling the code like the real HW. The fifo is only a buffer where the Write Gather Pipe write the commands and from the Graphic Processor read these.
* Big Clean UP a lot of obsolete code and comments was deleted, like DcFakeWachDog, "Fifo very soon hack", etc.

In the stage 2, I will refactoring more code doing emphasis in the division of CommandProcessor, Fifo, Gpu Emulation. Beside I will comment all functions and variables in the code (Don't worry I will ask for English help for this part ;) )

Please test a lot SC mode and DC mode :)
Thank you so much for testing always and the patience. I don't like broke your favorite game but... you must believe me this part is very sensible, I only try to contribute for have a better and stable dolphin emulator.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7185 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- ReImplementing Single Core Mode like Dual Core Mode Style.

- Stage 1: My goal is, we have the Fifo, CommandProccessor code the more clear, maintenible and documented possible. When I quit dolphin I want any developer can continue with the work only reading the code.
	
* Big Refactoring: A lot of functions was changed the names, and modularized.
Now the FifoLoop and CatchUpGPU does not exist, was replaced by RunGpu() and RunGpuLoop().
The general idea is modeling the code like the real HW. The fifo is only a buffer where the Write Gather Pipe write the commands and from the Graphic Processor read these.
* Big Clean UP a lot of obsolete code and comments was deleted, like DcFakeWachDog, "Fifo very soon hack", etc.

In the stage 2, I will refactoring more code doing emphasis in the division of CommandProcessor, Fifo, Gpu Emulation. Beside I will comment all functions and variables in the code (Don't worry I will ask for English help for this part ;) )

Please test a lot SC mode and DC mode :)
Thank you so much for testing always and the patience. I don't like broke your favorite game but... you must believe me this part is very sensible, I only try to contribute for have a better and stable dolphin emulator.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7185 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Some work on changing comments, log messages, and variable and function names to reflect that the plugins are not plugins anymore.</title>
<updated>2011-02-14T02:18:03+00:00</updated>
<author>
<name>Glenn Rice</name>
<email>glennricster@gmail.com</email>
</author>
<published>2011-02-14T02:18:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0ae8d33149025435dd5eaf49f69abce2ad54887f'/>
<id>0ae8d33149025435dd5eaf49f69abce2ad54887f</id>
<content type='text'>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7170 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>- FIX RE0 GFX fifo errors :D</title>
<updated>2011-02-13T15:08:37+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-13T15:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=be193088cac02d969b5ea2124fde76148b0480e9'/>
<id>be193088cac02d969b5ea2124fde76148b0480e9</id>
<content type='text'>
- This game read the CPRead pointer when the GP is processing data and after detach the fifo  and attach again an use this pointer for continue, so implement fifo.SafeCPReadPointer pointer.
- fifo.SafeCPReadPointer is updated when (FAKE_GetFifoEndPtr() - g_pVideoData) == 0) to have a pointer without GFX Commands Cut in the beginning of 32 block.
- Reset video buffer when the CPReadWriteDistance is written by the software.
- This commit is experimental please test a lot your games.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7165 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- This game read the CPRead pointer when the GP is processing data and after detach the fifo  and attach again an use this pointer for continue, so implement fifo.SafeCPReadPointer pointer.
- fifo.SafeCPReadPointer is updated when (FAKE_GetFifoEndPtr() - g_pVideoData) == 0) to have a pointer without GFX Commands Cut in the beginning of 32 block.
- Reset video buffer when the CPReadWriteDistance is written by the software.
- This commit is experimental please test a lot your games.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7165 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>- Delete FIFO CriticalSection sFifoCritical for SAVE STATES. With the skid_au last changes that is not necessary anymore.</title>
<updated>2011-02-13T05:52:09+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-13T05:52:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=1d2c936f08798f4c6b1eee76e50bca6721061cfc'/>
<id>1d2c936f08798f4c6b1eee76e50bca6721061cfc</id>
<content type='text'>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7162 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7162 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>- Reimplemented FifoReset in other way, only call to GPFifo::ResetGatherPipe() ResetVideoBuffer() in FIFO_RW_DISTANCE_LO when this is equal to "0"</title>
<updated>2011-02-13T02:21:11+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-13T02:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=05feabdb49cf4547cd016855a778ff3b2de5e40e'/>
<id>05feabdb49cf4547cd016855a778ff3b2de5e40e</id>
<content type='text'>
- In the Command Processor Control Register when GPReadEnable is OFF, wait until the fifo lopp finish with thi actual 32 bytes block. This is necessary to have Safe Disabble GP Read in this way AbortFrame is performed by the software, beside this can help to have accurate GPReadEnable OFF.
Please test Metroid Prime 1/2, Guilty Gear XX, X men gc, SMG, and shuffle you can test Harry Potter Prince for WII. :)

PD: The fifo code need a clean very soon.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7158 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- In the Command Processor Control Register when GPReadEnable is OFF, wait until the fifo lopp finish with thi actual 32 bytes block. This is necessary to have Safe Disabble GP Read in this way AbortFrame is performed by the software, beside this can help to have accurate GPReadEnable OFF.
Please test Metroid Prime 1/2, Guilty Gear XX, X men gc, SMG, and shuffle you can test Harry Potter Prince for WII. :)

PD: The fifo code need a clean very soon.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7158 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Experimental commit and one fix for my last commit.</title>
<updated>2011-02-10T04:47:02+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-10T04:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=86278642dcc80065297ba019d9adb60dbf11f868'/>
<id>86278642dcc80065297ba019d9adb60dbf11f868</id>
<content type='text'>
I think that isFifoBusy bring better sync with VI (video interface) because the CPU emulated threads are waiting for DrawDone in BP Register. So, I do some modifications.
1) Rename "IsFifoBusy" by "isPossibleWaitingSetDrawDone"
2) Only activate isPossibleWaitingSetDrawDone when bFF_GPLinkEnable is true in fifo loop "Inmediate mode" that is because in theory this drawsync function is using in this mode.
3) Deactivate isPossibleWaitingSetDrawDone also in SetFinish in PixelEngine, beside when 32 block is finish.

Please regression in yours games thats can bring some FPS more above all with VPS frame limiter ON (Auto, 60, 50, etc).

- Fix waiting in AbortFrame(), please test mp1/mp2 is fixed again.

Good look! 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7123 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think that isFifoBusy bring better sync with VI (video interface) because the CPU emulated threads are waiting for DrawDone in BP Register. So, I do some modifications.
1) Rename "IsFifoBusy" by "isPossibleWaitingSetDrawDone"
2) Only activate isPossibleWaitingSetDrawDone when bFF_GPLinkEnable is true in fifo loop "Inmediate mode" that is because in theory this drawsync function is using in this mode.
3) Deactivate isPossibleWaitingSetDrawDone also in SetFinish in PixelEngine, beside when 32 block is finish.

Please regression in yours games thats can bring some FPS more above all with VPS frame limiter ON (Auto, 60, 50, etc).

- Fix waiting in AbortFrame(), please test mp1/mp2 is fixed again.

Good look! 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7123 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>second step in dlist optimizations: test the hashes only when the cpu could change the contents of the dlist, this is after it been processed, or at frame finish.</title>
<updated>2011-02-08T12:00:41+00:00</updated>
<author>
<name>Rodolfo Osvaldo Bogado</name>
<email>rodolfoosvaldobogado@gmail.com</email>
</author>
<published>2011-02-08T12:00:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=00c35451f607e479db47b25ddac50d0d18507a9d'/>
<id>00c35451f607e479db47b25ddac50d0d18507a9d</id>
<content type='text'>
this is marcos idea so the credits go to him.
please test the broken games in my last commits to see if this solve all the issues.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7114 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
this is marcos idea so the credits go to him.
please test the broken games in my last commits to see if this solve all the issues.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7114 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Paused the video thread while a save state was being created or loaded.  Performed the save state operation after the fifo became idle.  Saved the interrupt status of the video thread into the save state.  This helps stabilise the save states in dual core mode in games like Super Mario Galaxy.</title>
<updated>2011-02-08T10:37:47+00:00</updated>
<author>
<name>skidau</name>
<email>skidau@gmail.com</email>
</author>
<published>2011-02-08T10:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=855f97841dffcc2bd75f8c0f6cdb48c2d42a8f08'/>
<id>855f97841dffcc2bd75f8c0f6cdb48c2d42a8f08</id>
<content type='text'>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7112 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7112 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Speed back to dolpihn: - Revert Read16 CPRead fifo hack for fix RE0. This hack only solve RE0 but brings slowdown in games like RE Umbrella, etc. - Move isFifoBusy again in the fifo loop and use s_fifoIdleEvent for AbortFrame. Note: if you can play RE0 only deactivate PanicAlert. These opdecoding error seems harmless. Some day this wiil be fixed in right way.</title>
<updated>2011-02-08T01:11:11+00:00</updated>
<author>
<name>Marcos Vitali</name>
<email>marcosvitali@gmail.com</email>
</author>
<published>2011-02-08T01:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f0adc3adb46cb74b71bc2c95d82a4c0662f65d9a'/>
<id>f0adc3adb46cb74b71bc2c95d82a4c0662f65d9a</id>
<content type='text'>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7107 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7107 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
<entry>
<title>Eliminated the plugin interface. Merged DX9/DX11/OGL video plugins into Dolphin. It could still use a lot of cleanup. Lots of things are still named "plugin". Software renderer is temporarily disabled until it gets some namespaces. I only updated vs08/10, Linux/OSX builds are broken.</title>
<updated>2011-01-31T01:28:32+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2011-01-31T01:28:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fbaf9659958cd6d8c0df6b0c217f6e60f57f9d77'/>
<id>fbaf9659958cd6d8c0df6b0c217f6e60f57f9d77</id>
<content type='text'>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6996 8ced0084-cf51-0410-be5f-012b33b47a6e
</pre>
</div>
</content>
</entry>
</feed>
