Commit Graph

272 Commits

Author SHA1 Message Date
Glenn Rice 02ce753b76 This is basicall linux code cleanup. We don not need to pass the X display handle from the video plugin anymore. The wiimote plugins now open their own display handles, and the GUI uses the display handle of the main window frame. Only the window handle from the video plugin is needed. The pWindowHandle variable now passes this instead of the display handle.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5884 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-16 14:14:57 +00:00
Rodolfo Osvaldo Bogado 12a676c273 this is a pure optimization commit:
return to the  old values in constants in pixelshader, the old values give mi 3 or 4 fps more,(maybe some kind of compiler optimization) in some games and with the current algorithm i notice no difference with this values, please report any problem.
optimizes SSAA to make it a little faster and, the quality should be the same but with a little speedup.
change the way the frame is processed depending is xfb is enabled or not to make this a little faster.
please test and report any problem

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5820 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-02 17:09:53 +00:00
Rodolfo Osvaldo Bogado d511b50612 this commit is divided in 4 parts:
1 - Optimize pixelshadergen to avoid redundant register overflow math, with this if a game don't need this will be not applied.
this must bring some fill rate back and improve speed a little in fill rate limited systems.
2- some corrections to vertexshadergen to avoid uninitialized texture coordinates, dono if is the correct way to fix it but t least it will make house of the dead overkill playable in dx11.
the bad thing: still missing geometri in dx9, in dx11 it works exactly as on opengl.
3 - some optimization made to improve fps a little wih the latests changes made to fifo.
* back to the original code in beginfield as now it will work right.
* check for efb access more often as a lot of time is lost waiting for efb access
4 - apply a little fix for missing textures in nvidia opengl tanks to  Wagnard28 for finding that nvidia does not like invalid shader id :)
please test for any regression

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5812 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-29 14:40:37 +00:00
Marcos Vitali 10b5d2371c My first commit :D
Dual Core sync fix.
When the FIFO is processing data we must not advance the cpu cycles in CoreTiming because in this way the VI will be desynchronized. So, We are waiting until the FIFO finish and while we process only the events required by the FIFO.
This should fix Issue 2072 .
This affect to all games in dual core mode.
Please, You can test all games with VPS limiter auto, 60, 50 depending of the game and compare with prev revision.
For example now NSMB in the video Intro has 60 fps (prev 30 fps) :D or SMG does't need anymore FPS Limitter Hack to get 55-60 fps
Beside the slowdowns now are more softly and the fps more stables because the VI sync is almost perfect.
The Core Timing and Fifo modifications are delicated. Please report if this hang any game. Don't forget check with prev revision.
Enjoy it! Thanks to Rodolfo for teach me all about dolphin.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5777 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-24 13:28:54 +00:00
luisr142004 4f8a6a1573 apply some speedup to dx11 plugin + some minor stuff
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5721 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-16 10:12:57 +00:00
Rodolfo Osvaldo Bogado cb1694252b more bug fix in dx11:
fixed screen clearing and simplify drawClearQuad a little
put some nice code from dx11 that i like in dx9.
modify plugin spec preparing for implementing efb poke (is not used often but is a missing functionality so..)
please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5710 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-06-15 21:19:09 +00:00
Shawn Hoffman 1d8db5ce3f osx buildfix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5402 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-23 19:15:44 +00:00
Glenn Rice 140332c02e Move fullscreen display resolution control to the GUI with the rest of the fullscreen toggling code. This removes redundancy of code that was in several places through the various video plugins. Unfortunately it means the fullscreen resolution setting also had to be moved to the main configuration dialog. I am sure that will meet some resistance.
Also added a window size setting for windowed mode.

Also pulled some X11 specific code out into a separate file.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5395 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-22 04:28:34 +00:00
Glenn Rice 0a12b9d9f5 Logical reorderring of the GUI boot sequence. Also a little clean up in the OpenGL plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5379 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-17 03:17:36 +00:00
Shawn Hoffman 0dc924efef osx buildfix, add resolutions to ogl dialog
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5363 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-14 04:32:59 +00:00
Glenn Rice 33a64d5db0 Big restructuring of how the video plugin works. In linux and windows you shouldn't see a change in the functionality; however, there are changes in how render to main or not, and fullscreen modes, and such are handled. Input is largely restructured for the video plugin. It is now handled by the host. Keys for pausing and changing fullscreen are configurable. More will probably be later. This is probably classified as highly experimental.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5336 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-12 01:33:10 +00:00
Rodolfo Osvaldo Bogado 3746b9e505 corrected some things i forget in my last commit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5273 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-04 13:19:03 +00:00
Rodolfo Osvaldo Bogado a4736f7f6b back to limit vps instead of fps as this fix fps limit and now it works correctly as now the sync between the plug in and the core is almost correct.
fixed fps display in the top bar, now it shows the real fps of the game.
some code clean up and some corrections to make everything work right in the reference renderer.
multiples xfb now is broken even in single core as is was not an error caused by dual core, i really dono where the error is,everything looks correct but if you test a game with multiples xfb or the ipl you will see the error.
ector if you can take a look at he code and throw me some ideas i'll thank you.
please test.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5272 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-03 22:22:55 +00:00
Glenn Rice f6c8fd691a Fix state saving and loading in linux. Apparently that is why the OpenGL_MakeCurent was in the video plugin DoState.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5265 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-01 23:13:26 +00:00
Rodolfo Osvaldo Bogado 49d568488c fixed fps limiting when using using virtual xfb, now fps = vps, in fact now real xfb is as fast as no using xfb, i'm thinking now that the correct thing is leave it enabled as default, and even remove the option.
the problem is one strange behavior i found, in opengl when xfb is enable, frame limit causes the frame rate to be limited exact half the correct speed, so if you choose auto and the game uses 30 fps you get 15 fps
so in opengl, you have to limit to the exact double of the game speed, 100 to pal games and 120 to ntsc.
in d3d this not happened every time, it just happen when you change some time consuming setting like changing the ssaa or resizing the window, in that case you have to disable and re enable frame limit to get the correct fps
to all the devs please if you can help me debug this, will give you a lot of thanks as i'm short in time to debug this error and is driving me crazy not to find the source of the problem.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5249 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-28 23:51:32 +00:00
Rodolfo Osvaldo Bogado beee4f4804 other experimental commit:
applied mlkbouba patch to make Mario Strikers Charged Football work (i do not own the game so please test).
some minor tweaks to the plugins to improve performance. for game that do not use xfb the best settings are dual core enabled, audio throtle disabled, frame limit set to the desired value, and xfb off.
change the frameskip calculations to use fps instead of vps as in dual core vps != fps caused by unresolved sync problems, till this problems are fixed the best for game play is calculate times in base of fps.
please test and let me know the results

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5239 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-25 22:01:33 +00:00
Glenn Rice 02edaf3db8 Added several XKeyToString translations.
Fixed minor font issue with wiimote pad button dialog.
Removed unnecessary OpenGL_MakeCurrent call from DoState.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5209 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 18:58:19 +00:00
Glenn Rice 721935c6ff Several little fixes.
Fixed a segfault in linux when a cd/dvd drive is empty or invalid and "Boot from DVD" or "Show Drives" are selected.
On all platforms if a game fails to load show the game list again.
The other things here are essentially code cleanup and won't be noticeable by most users.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5204 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-17 01:54:40 +00:00
Glenn Rice 5fa18ae114 Fixed an issue that caused the render to main window to lose focus if the gfx config dialog is opened while the emulator is running. Only affects linux. Also fixed a few preprocessor conditionals.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5186 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-10 17:29:19 +00:00
donkopunchstania 70627c5652 Extend the OGL virtual XFB to handle games that use multiple XFBs to make a frame. This should allow games that require the XFB to work without using a real XFB in RAM which is slow and limited to the original resolution. To use this enhancement you must check Use XFB in the options. The previous option was renamed Use Real XFB. I don't think this works with the aspect settings yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5185 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-10 06:45:13 +00:00
Sonicadvance1 e79dc93a5c Fix noWX compiling, Fix OSX crashing when opening options because of dumb code. Fix OSX Wiimote, will fix multi-wiimote in OSX later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5154 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-05 07:03:44 +00:00
sl1nk3.s 6da7695843 Fix issue 2364 + another issue introduced in r5129 causing the main window to lose the focus on windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5133 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 17:50:08 +00:00
Glenn Rice f1ed7e5656 Build fix for linux. sprintf_s does not exist in linux. Does it in windows?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5132 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 12:35:31 +00:00
luisr142004 816febd3b0 finish proper window handling, fix the modal state of the config dialogs, plus some minor cleanup/changes :p
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5129 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-25 06:12:35 +00:00
sl1nk3.s ffdf087aad Fixes issue 2331, plugins won't cause a crash/hang on stop anymore if their config dialog was opened, note that stopping a game while a config dialog is open still causes a crash (that should not be possible in the first place since the dialogs are modals, but heh...).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5109 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-22 04:59:57 +00:00
Glenn Rice 7c76d51c67 Enable fullscreen switching with resolution mode changing using Xrandr in linux.
This changes the dependency in linux from libxxf86vm-dev to libxrandr-dev.
Use Alt-Return to toggle fullscreen mode (as in windows).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5065 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-16 04:59:45 +00:00
j4ck.fr0st 14bb1b5f01 ...and a buildfix for non-win32
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5060 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:44:16 +00:00
j4ck.fr0st cd321feb83 attempt to fix the main window closing from r5056. i'm not sure how this affects window deletion tho.
apply eol-style native to GCPad, pretty annoying to break patches and stuff

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5059 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 16:33:53 +00:00
Sonicadvance1 5b1d21d1a1 Bunch of tiny memory leaks fixed and cleanup, フウ〜!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5056 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 14:06:33 +00:00
Glenn Rice c2e0c75c93 EXPERIMENTAL
Removed X event loops from GCPad and Wiimote plugins, and implemented an asynchronous check for keyboard and mouse buttons.
Also added an X event loop in core that handles events while the emulator is paused.  Prevents unexpected behavior from events that occur while the emulator is paused.
Now there is only one event loop running at a time (besides those hidden in SDL).
I will revert this commit if other devs are unhappy with it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5048 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:47:23 +00:00
j4ck.fr0st f3868dd491 Some internal code shuffling for Config dialogs. OSX seems to be picky about when StaticSizerBoxes are created, as described in Issue 2229.
Bit of cleanup/grouping, control creation is now a bit more separate from value setting and tooltip assignment which IMO cluttered the code as it was.
Removed something from main.cpp that looked like a hack to me.
Fixes Issue 2229

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5021 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-06 16:20:54 +00:00
Glenn Rice feba09f7a3 Linux global build. At least the basic footwork is done here.
Basic usage:  "sudo scons install=global install"
Hopefully this doesn't break builds on Macs.  I have tested this on linux and windows.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4994 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-02 21:56:29 +00:00
ayuanx 40cc180dfd OpenGL fix: s_swapRequested must be volatile.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4964 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 14:56:51 +00:00
ayuanx af305ca95b Fixes Issue 2080 for DX9 & OGL
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4910 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-20 19:51:13 +00:00
ayuanx f472e2904d Now Progressive Scan actually works for those games that really depend on this setting (Try Mario Kart Wii)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4798 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-09 17:11:59 +00:00
ayuanx 9cbd508181 1. This should fix Issue 1625 (Bizarre Auto Frame Limit)
Now the frame limiter yields on CPU thread, not as before on GPU thread mistakenly

2. Fixed clear of VI interrupts
   I guess VI interrupts are not used at all, because they were never cleared before

3. Made GPU thread 0% processor usage when paused whatever your active config is.
   I tried the event approach but somehow the thread resume latency is excessively long (Who can tell me why?)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4790 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-07 20:01:41 +00:00
fgfemperor 64167bcb60 Now you can switch between Emulated and Real WiiMotes, connect more Real Wiimotes and even pair them up (if you have MS BT Stack) during gameplay!
All you gotta do is Pause the emulation! That's useful for when your batteries run out during gameplay, for example...

But if you change the WiiMote source (between Emulated, Real or Inactive) you must disconnect and reconnect (Menu Tools -> Connect WiiMote) the WiiMotes affected by the change...

Thanks to jack.fr0st who did all the emulation state notification work!

Now every plugin has a way to know the current emulation state (paused, stopped or playing)

@ayuanx: I thought about doing a PostMessage(g_WiimoteInitialize.hWnd, WM_USER, WIIMOTE_DISCONNECT, current_number); so that the user gets asked to reconnect that WiiMote, trying to avoid having to disconnect and reconnect, but it didn't work because shooting that message only asks to reconnect, doesn't do a disconnect... Do you have any ideas on how to accomplish that?

Also, if anyone could check if Issue 1916 is finally fixed... Or at least when is the cursor being hidden or not...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4789 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-06 19:26:52 +00:00
sl1nk3.s ede1c935f4 Fix Fullscreen issues in DirectX plugin. Fixes issue 1470, issue 1886 and issue 1673 too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4779 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-03 22:18:50 +00:00
sl1nk3.s 5877961354 Some fixes to Stop() process.
Unbreak linux stop on Single Core, remove an unnecessary wait event, fix DSP HLE/DSP LLE/OGL plugin hang on stop when the config dialog has been opened (nJoy and Wiimote still need to be fixed), avoid the CpuThread to be stuck in the efb/swap loop by setting a flag before the thread is actually shutdown (contrary to r4756 which was setting it.. after :D)
Clear the status bar Framerate/Core message when the game is stopped.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4769 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 03:55:39 +00:00
sl1nk3.s 18e951f97a Fix a crash when closing DirectX's window, also apply a fix from j4ck.fr0st/BhaaL @ issue 1277 to prevent two possibles hang on stop.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4756 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-30 15:08:18 +00:00
Sonicadvance1 ebc696c58e Fix GCC 4.5 Compiling. -fvisibility=hidden seems to break it, so it was removed. Non-POD objects are now errors instead of warnings in 4.5, so I had to remove the wxString::Format. and a Fix where GCC 4.5 introduced strndup. Compiling with nowx=true gave me linker problems for some reason, and I added the -flto flag but commented out. Dunno what it will do yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4530 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-11 11:07:04 +00:00
sl1nk3.s 9154424841 Fix a small misspell in OGL config, Fix the toggle fullscreen button when rendering to separate window + a weird issue related to rendering to main.
Code cleanup in nJoy i had around for a while, it also adds code to support SDL 1.3's force feedback API and is more stable (will not crash anymore on stop when rumble is enabled)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4459 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-24 00:18:21 +00:00
Shawn Hoffman ac157105c5 small code cleanup: rename "dual core" stuff to CPUThread, bOnThread, etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4455 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-23 15:26:35 +00:00
Sonicadvance1 ab8d182c37 Fix Linux compiling/Running
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4406 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-12 00:01:29 +00:00
donkopunchstania 56214e9103 Moving pixel engine and command processor from core to video common. This will break previous save states. Adds decoding single pixels to texture decoder.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4391 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10 21:19:39 +00:00
hrydgard 29808cdde2 OpenGL: commit rodolfoosvaldobogado's (what a name!) speedup patches.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4322 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-26 12:39:12 +00:00
Sonicadvance1 ced92d8544 Fix compiling in Snow Leopard, the Update stuff in the Video plugin shouldn't be in the GUI since it breaks nowx builds, wasn't sure where to put it, but Render.cpp seemed like the best place. Fixed wiiuse.c, and the SConscripts needed updating for Snow Leopard. Building 32bit in Snow Leopard is apparently broken. and Running 64bit in Snow Leopard seems to fail. Haven't tracked this down yet
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4299 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-18 19:56:49 +00:00
hrydgard c7431401be D3D: Fix 8-bit signed normals. Fixes lighting problems in Super Smash Bros Melee. misc tiny things
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4265 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 21:18:04 +00:00
hrydgard 2d93c654f0 Rename Config.cpp/h to VideoConfig.cpp/h.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4260 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 09:23:30 +00:00
hrydgard 512053fa5e Kill some horribly ugly hackery :( It's just not right to pass entire IniFile objects across DLLs. Only POD (plain-old-data, like int, float, char, char[] etc) are safe to pass across DLL boundaries.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4257 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 08:54:46 +00:00
hrydgard 700f2ff694 Lots of code and warning cleanup. OGL/D3D: Moved to a shared config class in VideoCommon. This lets VideoCommon code read the config without ugly hacks. Fixed various config race conditions by keeping a copy (g_ActiveConfig) of the g_Config struct which is updated once per frame.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4256 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 08:21:35 +00:00
nakeee bc6323ea0e removed the failed gltest code
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4238 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-09 19:52:45 +00:00
John Peterson 24d68da653 GUI/OpenGL: Video debugging window crash fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4225 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-07 13:33:40 +00:00
John Peterson 1320e21ded OpenGL: OSD menu live resolution change fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4212 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-06 15:11:21 +00:00
John Peterson 1b6b56692d GUI: Dock plugin windows
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4069 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-26 23:28:30 +00:00
sl1nk3.s 5831c95151 Re-enable CPU swap on XFB mode only, to avoid flickering in a couple of games
Fix for a dumb mistake from r4042 and doing it lazy-right :p

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4063 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-25 18:30:15 +00:00
hrydgard 6003c9ecd2 Frameskipping more aggressive (minor speedup, plz report any serious problems). Initial display list cache implementation, disabled for now. Various cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3952 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-09 11:03:58 +00:00
sl1nk3.s 69f32a76c6 Just a few fixes for the fps counter, also unbreak direct XFB homebrews.
And a couple of fixes for the frameskip : disabled by default, can be set before launching a game, also safer to avoid lockup. 

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3950 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-08 05:47:08 +00:00
XTra.KrazzY 51ddedf512 Frameskipping! Complete with GUI! Even my most naive approach resulted in great speeds, even with graphic-intensive games such as Pikmin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3949 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-08 01:39:56 +00:00
Nolan Check d7cc049921 Disable CPU swaps, it was causing all kinds of problems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3940 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-04 22:36:50 +00:00
tmator 1e9bb4ed9a fix non gui build
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3921 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-01 18:31:25 +00:00
sl1nk3.s 69c0613160 Fix the FPS counter to show the 'real' framerate, also clean up its mess a bit...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3920 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-01 18:16:12 +00:00
sl1nk3.s 7eed236df9 Fix noWX build, and lower thread priority for screenshots
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3913 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-31 01:55:26 +00:00
Nolan Check 8ab4814d73 Don't use lookup tables. It's better to use CPU registers and reduce memory accesses.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3909 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-30 20:29:52 +00:00
Nolan Check 3448956f1f Correct addrRangesOverlap. May fix stuttering in many games.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3901 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-29 01:06:49 +00:00
XTra.KrazzY c86d2e5129 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
Nolan Check 8027ab53d0 Don't use events for efb access. As I've learned, events cause kernel calls and it is sometimes more efficient to do spin-waits. See if this speeds up Wind Waker's pictobox quests.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3893 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-27 22:05:38 +00:00
omegadox 7f00960a32 Log unknown fog types in Warn log, and tiny code cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3885 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26 11:13:56 +00:00
omegadox e4a9faeba4 GFX: updated Dates, code formatting cleanup, code cleanup / organization, some unknown BPs uncovered, fixed OGL's config dialog bug, added another shader
DSPHLE: Some warning fixes and added some logging for unknown voice cases
Please report if anything has broken.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3884 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26 09:52:35 +00:00
Nolan Check a5d65b3b22 No more SleepCurrentThreads in Command Processor. Some Fifo cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3822 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-17 22:57:02 +00:00
Nolan Check 598d640042 Minor changes for video. Please test pictograph quests in Wind Waker.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3818 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-16 22:45:18 +00:00
Nolan Check fdc2b69143 Better TV emulation. Seems to fix problem in 50 Hz PAL games where frames go backwards.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3811 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 22:20:59 +00:00
sl1nk3.s 3bc8eb7eaf Fixed one of the two remaining crash on Stop (issue 600), and removed some setup defines which are now useless anyway.
There's an attempt to implement Peek_Color too, probably done wrong :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3799 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 15:09:20 +00:00
Nolan Check f338d5c44c Code cleanup. Juggling rectangles. I'm about to investigate the problems with Real XFB's in PAL games, so I wanted to make sure all our rectangles were cleaned up and organized.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3794 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-15 00:51:24 +00:00
Nolan Check d779554ff3 Atomic operations library.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3775 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-13 05:38:34 +00:00
Nolan Check 5c7844df69 Probably a good idea to check s_efbAccessRequested.
If EFB access still seems slow, please check DSP stuff instead...

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3771 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 22:22:48 +00:00
Nolan Check d85f5a6937 Rearrange LogManager includes. The main purpose is to make it possible to modify Thread.h without recompiling the whole entire project.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3770 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 21:58:32 +00:00
Nolan Check d99ac909b9 Remove a couple unnecessary MemFences
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3754 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 20:39:28 +00:00
Nolan Check ffb1f411d8 Use events and memfences for EFB accesses. Also, Single-Core mode now works again.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3750 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 16:52:34 +00:00
Nolan Check dc7d9ab998 Switch to Video_BeginField; hopefully fix or reduce some video stability problems by using Events.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3740 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-11 02:34:16 +00:00
sl1nk3.s 936225eee4 Fix a nasty dualcore hang in EFB read (see r3658 comment...)
Also fix an issue reported by baby.lueshi (issue 1074) in nJoy related to half press button being always pressed when unset.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3661 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 15:35:31 +00:00
XTra.KrazzY 3ddbb094ab 1. Savestates should now be super-stable (but you have to save AND load)
2. AccessEFB will probably not hang (tell me if it does)
3. Stopping should be a little bit faster

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3658 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 10:00:09 +00:00
Shawn Hoffman 518d3854ba add wxw modalness to both njoys and fix a bug where calling DllConfig from different parent HWNDs would stop the config dialog from appearing.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3656 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-03 03:01:58 +00:00
hrydgard bad9880692 GL: should probably rebind the efb FBO after the z peek..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3650 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 20:06:39 +00:00
Shawn Hoffman 7076c36988 re-enable the ogl "debugger" (doesn't do much - and i don't have any plans for it - just wanted to dump shaders easily).
ogl config and debugger GUIs are handled much more nicely now. same with dsp lle

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3647 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 17:11:27 +00:00
nakeee 3b4f534abd Small gl possible crash fix (from cnu)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3645 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 11:25:43 +00:00
XTra.KrazzY 7a05aafe39 EFB Access now works from both Dual Core and Single Core modes. Thread-safe.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3644 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 10:16:06 +00:00
sl1nk3.s ae2a5b8587 Fix PeekZ when not using native resolution
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3643 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 01:49:28 +00:00
Shawn Hoffman b69d218a82 fix GXPeekZ when using aa
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3642 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 23:57:20 +00:00
Shawn Hoffman 2fc917dd79 don't return stencil bits in the response for PEEK_Z. compensate for ogl's upside-down coords...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3632 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 19:29:35 +00:00
Shawn Hoffman 1780f82dac implement peeking z value from ppc. currently only works in single core mode. the pixel format may be slightly off of what the game actually desires. someone check please? :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3627 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-01 13:49:49 +00:00
Nolan Check c2e0225aa3 Move to new Virtual XFB system which correctly handles games which store multiple XFB's in memory. More OpenGL cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3591 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-29 07:30:48 +00:00
Nolan Check 07a767691d Clean up OpenGL code and introduce the Framebuffer Manager. More work is forthcoming; I plan to implement resolution switching (while the game is running) and also multiple virtual XFBs for game-controlled buffer swapping.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3587 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 23:35:08 +00:00
Nolan Check ade9479005 Display buffer flips are now triggered by the CPU thread through the Video_UpdateXFB function. This is a fairly significant change of behavior, but it improves performance.
Also, render target code is cleaned up. Post-processing shaders now work with multisampling and Real-XFB mode.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3545 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-26 08:57:53 +00:00
nakeee 6b2855de5e revert last 2 commits
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3533 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-22 09:31:30 +00:00
omegadox 6de0cd1e4b They should be called SU Registers (Setup Unit/Rasterization). BP (Bypass) is really the name of the commands that are passed in.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3531 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-22 07:40:28 +00:00
nakeee 75045807a7 linux compile fix, I'm not sure it was right of me to remove the mmsystem include (was it used?) but if it's
for the timer function please put it in Timer.h and not in each seperate file.
(And yes, I have a script that does that).


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3448 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-15 06:39:26 +00:00
John Peterson 5c04af50a4 Attempt to calculate actual refresh rate (i.e. a CPU-GPU synced Mhz), no real success. Anybody have any ideas?
Is there no indication from the game when the screen refresh should occur? No, not what I could find, we currently calculate the refresh rate and m_VBeamPos from the CPU ticks progress. That works perfectly if the CPU and GPU is perfectly synced as in the single core and no-idle skipping mode. So I guess it's possible that the game doesn't indicate when the screen should be refreshed, but rather that the hardware calculate that from the CPU ticks progress. That leaves us with a problem in the dual core and idle skipping modes to calculate a CPU-GPU synced CPU ticks progress.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3447 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-15 04:30:02 +00:00
John Peterson 63ae48d9f9 OpenGL: Fixed initial framebuffer so it's not too small
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3381 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-08 20:07:20 +00:00
hrydgard 085fa5f526 Simple post-processing shader implementation. No UI yet. Does not work together with AA yet. To use shader bad_bloom, for example, set PostProcessingShader under [Enhancements] in gfx_opengl.ini.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3380 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-08 19:42:25 +00:00