Commit Graph

220 Commits

Author SHA1 Message Date
Rodolfo Osvaldo Bogado 56224bd966 this is EXPERIMENTAL. Implemented 3 different paths to use depth textures and allow peeking.
they are extremely hard/driver Dependant so your test is needed.
there plugin will automatically select the path thats work for your hard, need that everyone post the messages that the video init throw (yes all will hate me for the messages) but is the only way to see what is the optimal path. in the next commit will clean the unused paths.
i'm afraid thath the second path is Vista dependant (you need to include vista sdk to make it work).
the third path use lockable depth buffer so there is no change in that. 
now peek color is fully working and is fast because the you never lock the the real color texture only the offscreen surface.
please if someone knows a game that use peek color please test it.
also fixed blending so SMS underwater must be fixed.
this work with d3d teach me that i love opengl :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4393 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-10 23:36:18 +00:00
Rodolfo Osvaldo Bogado 41cc224ca1 added a more "correct" Color peeking, you can't lock the drawing surface so the correct way is to use and offscreen surface and use StretchRect to copy the data, then lock the offscreen surface and read the data. this is experimental so please test it a lot. the bad news is you can do this only for the color surface, the z-fuffer remain slow to read and only from lockable formats. the good news are the same code should work for mltisampled surfaced.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4384 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-08 00:35:47 +00:00
hrydgard 9c45ac7e35 EFB Reads are so slow in D3D that I think we need an option for it. Here it is.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4378 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-07 19:54:56 +00:00
Rodolfo Osvaldo Bogado 19b8e6bc08 Sps fixed in all the games tested, code cleanup and reordering
implemented buffer format fall back to allow hardware that don't support lockable formats to run the games with Z peeking disabled, applied as well the patch suggested in issue 1494 please give heavy test to this commit

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4365 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-06 14:24:10 +00:00
XTra.KrazzY 98e1dd6dc4 D3D: Major AccessEFB code cleanup. PEEK_COLOR now implemented (please test extensively)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4356 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-03 02:12:24 +00:00
Rodolfo Osvaldo Bogado 0170e61bfc more work on peek_Z this fix sms and zww sun flare
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4355 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-02 21:23:56 +00:00
Rodolfo Osvaldo Bogado 025d68ba11 Sorry for the last one , forget to update z clearing to support the format change.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4354 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-02 15:33:07 +00:00
Rodolfo Osvaldo Bogado 9d67518f71 I hope you all like this. Changes:
Opengl:
Reorder the rendering path to make it more generic, and a little bit faster i think.
Reduce the index Buffer size to make it more Friendly to older video hardware.
get rid of the remaining annoying sps (I hope).
D3D:
Implement the same path as opengl to make the plugins more similar and maintainable.
Fixed Peek_Z this means, Pushing stars in SMG Now Works.
Please give heavy testing to this changes and compare the performance with the old path.
Thanks to hrydgard for let me participate :).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4353 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-10-02 14:03:07 +00:00
XTra.KrazzY ebfceb16b9 Some leftover work from unfinished DX9 Access EFB. In DSP HLE, 0x0004,7,b,c are almost done, all that's left to do is resample from 0x50 to _Size.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4313 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-24 13:52:45 +00:00
rice1964 194d44d08e D3D, back off the buffer flipping change by r4303. It works for certain games (Zack & wiki, Rayman3, etc), but seems to break other games (Metroid prime 1 complete black) and features (frame skipping).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4306 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-20 13:00:25 +00:00
rice1964 f9d1354c29 D3D: code clean up, nothing special.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4305 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-20 05:04:45 +00:00
rice1964 81e7ce9ad2 D3D: get rid of flickering in various games by changing way and time to flip backbuffer to frontbuffer. Also added some debugging messages. ZTP intro seems to be additionally 10%+ faster now, maybe only for me in windows mode.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4303 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-20 03:29:43 +00:00
rice1964 8b4839a4f4 D3D: some changes about debugger, not useful for anyone else, and should not affact anything. So not very interesting, just get ready to do some debugging.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4297 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-18 02:03:56 +00:00
LPFaint99 8beeaff896 WIIMENU:move call to filemon to verify that std::string(null) is not called
fixes issue 1421.
D3D: fullscreen use 640x480 if ini setting is invalid
Externals/Memcard Manager: fix build since change to lib files for wx

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4290 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-17 05:57:38 +00:00
LPFaint99 43021a8a1e D3D: actually use the resolution setting for fullscreen mode
(really dumb mistake of mine, due to lack of sleep :p)
fixes issue 1426.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4289 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-17 05:07:16 +00:00
hrydgard 20922cf3f0 D3D: More reset fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4282 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 21:49:15 +00:00
hrydgard ef6e574ea1 D3D: Handle device resets (resizes) a little bit better .. not quite there yet. some random cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4279 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 21:05:31 +00:00
hrydgard dc4f712f74 D3D: Save some video RAM by turning off the "default" Z buffer (we create our own). probably doesn't matter on most video cards..
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4277 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 19:53:22 +00:00
hrydgard adbfea0a09 Unbreak the D3D plugin in case of bad/old resolution settings in the .ini file.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4275 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 18:00:16 +00:00
LPFaint99 ca7a5b36dc only load gameini settings if they exist
change D3D to use char[] for resolution settings in ini
warning fixes for FrameAui.cpp

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4273 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 08:13:45 +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 2dc3f2c762 D3D: Unbreak frameskipping
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4264 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 19:13:07 +00:00
hrydgard a7c70ddb66 D3D: Eliminate black borders, add 4:3 and 16:9 settings, and the widescreen hack. Unfortunately this temporarily breaks MSAA (in d3d only) until I have time to fix it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4263 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 17:46:33 +00:00
hrydgard 73d2b3e968 more uninteresting cleanup, fixed a minor race condition when toggling efb copy mode
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4261 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-13 10:18:01 +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 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
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
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
sl1nk3.s 5a21d72693 Fix screen flickering with frameskip on D3D plugin, also fix occasional hang when turning frameskip off
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4194 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-04 06:09:21 +00:00
hrydgard efc74c77a9 D3D: Basic EFB copy-to-texture support. Fixes star domes in SMG (but does not fix the pull star, need EFB reads for that) and some other things.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4188 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 21:56:08 +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 2b1022f152 More tidying up - share the stats print between the two plugins, etc
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4184 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-03 19:42:45 +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
Marcus Wanners 50593397f3 Got rid of all of jp's ////////////////////////////// lines (nearly 500 of them)!
Yes, I used a script :D

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4169 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 21:00:45 +00:00
hrydgard e97bc516e6 Warning fixes/suppressions(aui), assorted code cleanup, d3d vertex shader cache expiration interval increased.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4165 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 18:55:36 +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 3bba897799 D3D: Fixed dstAlpha, aka "when everything is broken, at least mario have a nice shadow", and removed Cg leftover from it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4152 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-02 04:10:40 +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
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
Marcus Wanners 711f08c29b Added support for dumping avi files (thanks baby.lueshi). Use Microsoft Video 1 codec for starters. Make sure to check the dump rendered frames box in the video plugin settings, or it won't work.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2781 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 21:07:16 +00:00
XTra.KrazzY b43cb723b9 D3D progress, report whether it made things better or worse HERE.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2641 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-10 14:15:46 +00:00
XTra.KrazzY ac11915892 Added "Overlay Projection Stats" to D3D
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2626 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 23:46:47 +00:00
XTra.KrazzY 05d06090fd Minor D3D changes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2625 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 23:19:02 +00:00
XTra.KrazzY c7a45ecf95 D3D scissoring, skip texture stages and some warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2616 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-08 18:45:39 +00:00
XTra.KrazzY eab121ea31 Made "Show shader compilation errors" work in D3D. Some games actually work behind the curtain of shader compilation errors!
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2612 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-07 23:58:04 +00:00
XTra.KrazzY b414b018cd Experimental D3D step: Fixed overlay consistency by returning immediately from UpdateViewport. Screen progress: Can see Nintendo-size red rectangle on white background in Zelda: Collector's Edition.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2571 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-06 18:13:33 +00:00
Marcus Wanners 3ee3602714 Fixed more compiler warnings, and revised the syntax of the fix of r2567.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2570 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-06 18:02:41 +00:00
Marcus Wanners 0b6bf51c9a Fixed a few compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2555 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-05 02:11:37 +00:00
hrydgard 7607d6dc6a revert the mess i made in the d3d plugin. Add way to use HLSL directly without going through Cg. Not that the results look much better... i do see shadows of spinning cars in Burnout 2 after clicking around in the dark. Then it crashes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2504 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-01 12:07:34 +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
XTra.KrazzY 3234bca193 Direct3D + Cg progress, the plugin is still not working due to some missing features.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2494 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-01 01:09:32 +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 691be5eec4 naming conventions...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2354 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-22 03:49:50 +00:00
XTra.KrazzY ca47268669 Vertex Shading / Projection Matrix done right (D3D)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2343 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-21 17:17:24 +00:00
LPFaint99 fb5b4d026a Compile fix, remove PanicAlert from nJoy SDL
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1697 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 19:39:12 +00:00
hrydgard 2a552421a5 moar cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1694 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 17:02:46 +00:00
hrydgard dcc48d6c41 just a bunch of random code cleanup i did on the train bored, plus a d3d implementation of NativeVertexFormat which isn't actually used yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1658 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 15:56:36 +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
hrydgard 5c58227702 Optimize vertex loader with a mini JIT (only first step, more optimizations may follow). Some various error message and warning fixes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1276 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-23 17:46:14 +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 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
XTra.KrazzY 60a5a592f9 A little housekeeping on Vertex Shader in DX9. Pending more work but my shader code is still too buggy to commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@330 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-26 23:11:15 +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 870194db21 Attempt to fix recent D3D plugin issue. Fix bug in debugger *<:-)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@198 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-14 19:57:46 +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
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