Commit Graph

170 Commits

Author SHA1 Message Date
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
hrydgard 52ea8a0fd1 D3D supports setting multiple shader constants at once, so let's add support for that. Very tiny speedup. Also remove the annoying black window in the background when configuring D3D before starting a game. Also make sure to write all values when converting normals - might help the cpu's write gather cache.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4255 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-12 15:00:08 +00:00
rice1964 e1a0f8884a D3D: Projection hack feature. Have also moved related functions and constant definitions from OGL to VideoCommon, will clean up the code better if it works for D3D.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4252 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 05:50:02 +00:00
rice1964 f0d1278eff D3D: load game ini options, to be used later.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4249 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-11 04:47:49 +00:00
hrydgard 0d1662e020 GL: Delete "exact-2x" feature. The way it's currently implemented it requires us to allocate double-sized buffers, which really hurt some GFX cards. So, it's gone for now but may return later in some form.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4201 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 17:29:16 +00:00
hrydgard baede3a7f3 Moving more things out of GL into VideoCommon...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4187 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 20:37:35 +00:00
hrydgard 562a4e25ac Some housecleaning around the D3D plugin, start of preparations to share even more code with the GL plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4183 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:24:16 +00:00
rice1964 d616f132d7 Debugger for DX9 plugin.
Debugger panel is displayed only if Dolphin is started with /d option.
Dump features are not implemented.
Pause/Resume buttons works, only if the plugin is built in DEBUG or DEBUGFAST configuration, not in RELEASE. These features are really only for devs, not for regular gamers.

You will be able to pause frame by frame, or by n frames, or by n primitive flushes. Other pausing options are not implemented yet.

When other pausing and dumping features are implemented, debugging will be much easier.

I have changed the DX9 project setting to use unicode character set in order to use wxWidge tools. If this causes Dolphin building problems for you, check your project setting.txt




git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4154 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 06:33:41 +00:00
sl1nk3.s 94bc6d7f36 Fixed broken CPU EFB access on DX plugin, helps Wind Waker and ZTP not to hang
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4116 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-31 16:10:36 +00:00
hrydgard d26690e027 fix build of the (broken) dx plugin..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3953 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-09 12:12:29 +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 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
sl1nk3.s caf152fdd0 Fix screenshot offset as well as screenshot aspect ratio, also use PNG instead of BMP thanks to issue 1186.
Fix for opening.bnr containing bad chars where the loop would stop when encountering one (fixes Rogue Leader description, which was using 0x0d and 0x0a)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3899 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 23:38: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
death2droid 73a7686044 Fix up all copyright dates.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3886 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-26 11:51:40 +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 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
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 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 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
Shawn Hoffman 12efada734 build fix for dx plugin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3648 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-02 17:45:09 +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
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
Shawn Hoffman 2301d072a6 nakee's new logmanager. added a console window for windows builds (prints to parent console on non-win32). also fix some random wxw bugs: main window's position is saved when using debugger, disabling windows from the tools menu are saved settings, some other small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-18 17:17:58 +00:00
XTra.KrazzY 044637218e Give the vertex/pixel shader caches and managers a proper Init/Shutdown
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2610 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-07 23:20:14 +00:00
XTra.KrazzY e8556a5391 Migrated a stop-fixing patch to DX9. Stopping works!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2568 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-06 16:47:04 +00:00
hrydgard f597a66b8d Get 2501 closer to "working".
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2502 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-01 10:53:23 +00:00
hrydgard ecbfec2a13 THIS BREAKS THE D3D PLUGIN FOR THE NEAR TERM. Resurrect an old patch that moves D3D over to the common shader generator framework. Needs a lot more work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2484 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-28 22:10:38 +00:00
XTra.KrazzY d37d71c1b8 Minor OSD on screenshot tinkle.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2454 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-27 11:45:07 +00:00
XTra.KrazzY c19210b641 Working screenshots for everyone! This may not be the 'best' way to implement it but it's the most compatible, working and least mutually exclusive as possible (works with DC too). More coming soon.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2449 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-27 03:56:34 +00:00
hrydgard 6cd34b318f The Mega Change Of Doom - or, fixing Stop. Almost. At least it's better than before. However, the OpenGL plugin seems to lose textures a lot between game restarts :P I think the GL plugin needs to do a lot more cleanup.
This change also includes tons of minor code formatting cleanup. Yeah, should've separated it ... sorry :(

Kills the old CPUCompare support. I'll resurrect it if I need it again, right now it mostly clutters the code.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2321 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-20 22:04:52 +00:00
memberTwo.mb2 2a13bedfc8 break my BOOLs
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2002 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 22:02:27 +00:00
memberTwo.mb2 1e7655b5db 1) XFB in DC proposal. This impact video plugin interface. WARNING: XFB_Draw is not CPU->VI dependent anymore. It's up to GP now. Except for some 2D homebrews which never use GPfifo&CP but direcly XFB. Well, in other words: emulated VSync is uncorrelated with CPU timings now. Tell me if it's too much hacky.
2) DC/GPfifo work: GP quicker to react. PeekMessages at a more steady rate.
3) Fix XFB address to avoid crash like with Animal Crossing gc. TODO: VI regs need proper typedef and logic.
4) Few misc. changes on the fly.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2001 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-24 14:43:17 +00:00
LPFaint99 7afc53c3a1 Revert r1861
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1879 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-16 02:58:34 +00:00
Shawn Hoffman ba8c2aa7e4 nakee's work on dolphin events. Also get wxw out of logmanager. This commit wants your comments
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1875 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-15 06:48:15 +00:00
LPFaint99 f1a3bc1397 Move #include <window.h> from all files that include it and common.h to common.h
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1861 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-13 04:23:26 +00:00
nakeee bf18502077 ADding functions
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1828 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-08 12:12:15 +00:00
hrydgard 65e702030a Some gfx code reorg, make the two OpcodeDecoding.cpp identical - next change will move them to videocommon
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1659 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 20:07:13 +00:00
daco65 607f5b289f build fixings
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1500 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-11 15:12:17 +00:00
omegadox e80c190602 Some plugin name fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1475 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-10 00:53:42 +00:00
bushing 901fe7c00f set svn:eol-style=native for Plugins/**.cpp
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1441 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 05:25:12 +00:00
John Peterson f6b30b1680 Bugfix, and moved readme file
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1190 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-16 22:05:07 +00:00
hrydgard 5129341a9c Aligned all vertex components to 4 byte boundaries - maybe ATI likes that? Renamed and reorganized misc things.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@981 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-27 21:38:30 +00:00
hrydgard 39df6c5624 Move out Cg shader generators to VideoCommon (hope to use this in the DX plugin in the future). Also move out stats code. Comment a lot and cleanup. Kill DX9 Globals.cpp.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@938 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-22 20:54:40 +00:00
hrydgard 34a4fee1c5 Substantial XFB speedup. There's more to get though, for example by using a shader for color conversion instead - but i like having a fast CPU implementation too. Also adds some sanity checks. PAL games still have problems.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@885 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-15 21:29:44 +00:00
donkopunchstania bbbe898839 added option to use XFB in GL, but XFB support still needs work. modified viewport to include scissor offset.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@879 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-15 14:07:03 +00:00
John Peterson d4f8f0d3ae Added the StretchToFit option to the config menu in the OpenGL plugin. This fixes the blackness in SSBM. I also added a keep aspect ratio option, it will keep your aspect ratio at 4:3, but then SSBM will have the blackness problem again. You find the options under the Enhancements window in the OpenGL configuration.
I also added a wx debugging window for the OpenGL plugin. I connected it to the old console window that was in the plugin. Other than that it doesn't do anything at the moment but it could be useful to show all the current important information and parameter statuses and so on.

Again there's a problem with wx windows collisions.  Show() can't be used because then DLL_PROCESS_DETACH is called immediately after the window is opened, and if we open it with ShowModal() before we have loaded a game the main video window will be blocked. And we can't pass on any variables from a DllDebugger() that is called when Dolphin is started because the dll is reloaded and lose all variables sometime before a game is loaded. So we can't auto open the window that way. So I made the debugging window open as a game is loaded if it is enabled in the ini, the downside is that the ini setting will open the window even if we are not opening Dolphin with the -d flag. However, this will only affect people that have used the debugger at least once so in my opinion this is the most convenient solution. But feel free to come up with a better solution. Preferably some solution to how to use Show() and preventing DLL_PROCESS_DETACH to be called.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@812 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-09 18:47:53 +00:00
memberTwo.mb2 8d0f6d40f4 DataReader inline for OGL/DX9 and moved to VideoCommon. Large clean up.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@760 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-03 22:05:28 +00:00
nakeee 4923da76d7 all this to make stop work without message passing
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@744 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 17:03:24 +00:00
hrydgard 5a69fca0be Add some missing GPL headers, fix building with Platform SDK 6.0, delete unused HTTP code.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@452 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-07 10:29:46 +00:00
Maarten ter Huurne 1154027808 Replaced type "DWORD" by "u32", except where "DWORD" is used to access the Windows API.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@429 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-01 22:48:56 +00:00
Maarten ter Huurne 0bebbcb5f4 Replaced type "BYTE" by "u8", except where "BYTE" is used to access the Windows API.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@408 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-31 14:32:35 +00:00
hrydgard e4825be7a8 more statesave bugfixes...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@387 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 16:24:45 +00:00
hrydgard ff0a613427 Cleaning up XK's mess, added a simple profiler, minor disasm fix. Too lazy to split it up into individual changes. Savestates not yet working.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@381 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 12:11:25 +00:00
XTra.KrazzY 051c2e0784 A lot of save state groundwork. Please notify if compilation breaks because
I haven't compiled


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@368 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-28 07:58:04 +00:00
daco65 794f656188 fixed Video_SaveState & Video_LoadState in OGL/DX that made dolphin unable to load the plugins
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@352 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-27 11:45:51 +00:00
XTra.KrazzY a0ae17c5ff Fixed message box calls (they aren't even necessary, just checking whether the saving made it into the VideoCommon library
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@345 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-27 10:01:46 +00:00
XTra.KrazzY 7a2cdef912 Preliminary video save state support. More work is necessary, this is just some infrastructure for inter-project communication.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@332 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-26 23:40:18 +00:00
Maarten ter Huurne 734586a0ab Include system headers using "#include <file.h>", so GCC will not issue warnings about them.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@331 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-26 23:32:54 +00:00
Sonicadvance1 6e3069f99e Should fix Linux building, also adds GL/DX to the title in their respective plugins when in use
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@275 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-23 03:48:40 +00:00
hrydgard 3ef0eb979d Move some code out of the plugins into VideoCommon. No functional change.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@255 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-21 17:49:06 +00:00
NunoRamiro 8c132bdae5 - Fixed: Crash when loading a rom with an unknown file extension.
- Fixed: Crash when stopping a game.
- Improved: DirectX Plugin.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@237 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-17 19:28:24 +00:00
hrydgard 9e15c51f9e Silly build fix, a slightly improved error message.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@212 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-14 22:01:07 +00:00
gigaherz 0332ec742e - Added message queue to DX9 plugin.
- Added plugin interface function Video_AddMessage to both plugins and to the plugin specs.
 - Added handling of the Video_AddMessage interface export from the core side.
 - Added a print on Core::Init for testing purposes (might not be the best place).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@176 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-10 21:34:22 +00:00
hrydgard 4175db3aa3 Show SVN revision in plugin title bars too.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@36 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-20 15:36:18 +00:00
fires.gc ceb924f398 added option "render to main window" to opengl video plugin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@16 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-17 10:17:19 +00:00
fires.gc b503d023bc added an option to render directx video plugin inside the main frame
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@15 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-17 09:18:03 +00:00
hrydgard 775dc8a9c0 Initial megacommit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-12 17:40:22 +00:00