Commit Graph

61 Commits

Author SHA1 Message Date
John Peterson 5746ed490c OpenGL: Trying a new function to fix glScissor() and glViewport() when bpmem.copyTexSrcWH is not 640x480. It's only enabled with g_Config.bStretchToFit and without g_Config.bKeepAR to test how it works. Hopefully I have not broken all other modes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2310 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-19 06:52:01 +00:00
donkopunchstania 14ab646978 fog is done in pixel shader but needs to factor x adjustment
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2309 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-19 04:41:58 +00:00
omegadox 7a276e687e Added more overlay stats options.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2268 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15 20:49:59 +00:00
hrydgard 4f471ffeb6 color vertexloader: make read24 safer, speedup direct 8888 a tiny bit
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2253 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15 13:08:21 +00:00
omegadox 72cf7a5a42 Fixed LogicOp Blending and Dithering support enabled.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2249 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15 11:24:45 +00:00
donkopunchstania f5f99e8f04 clip space coordinates are now available in fragment shader because depth needs to be computed there instead of the vertex shader. computing it in the vertex shader causes incorrect results sometimes. worked on z textures but 8 bit z texture still is not correct because it breaks SSBM. RE0 now looks ok.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2163 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-08 22:08:20 +00:00
hrydgard 81631d8452 Nothing important, just cleaning my dev folder. (mostly formatting changes, removed a superfluous strlen from logging in ogl plugin)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2126 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-06 18:04:24 +00:00
memberTwo.mb2 ac80c04eab XFB in SC reverted back to its previous behavior (thx donko). But still hacked in DC (still a FIXME).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2019 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-27 20:59: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
donkopunchstania 4930a6d6cb Destination alpha works in OGL. Fixed reading XFB address from VI regs and removed a check to fix games which keep the XFB some place other than mem 1.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1921 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-18 19:03:14 +00:00
omegadox d9511addf3 some small changes to OGL plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1856 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-12 15:00:00 +00:00
donkopunchstania d6e8c1f5d0 added an option to copy textures from the EFB to system memory. this is slower but shouldn't cause the compatibility issues the previous method of copying them directly to a GL texture has. the new method can be tested by disabling "copy EFB to texture" in the hacks section. the new method still needs some tweaks.
fixed some off-by-one errors in the EFB to texture copy and the scissor box. also fixed a couple asserts I was getting in the volume directory stuff.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1853 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-11 22:25:57 +00:00
John Peterson cbdad3495d OpenGL: Changed printf to DEBUG_LOG to avoid that it's always shown in the console window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1801 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-06 01:50:57 +00:00
hrydgard fa9f5c44fb More code movin' .. split Vertex/Pixelshadermngr into xxCache and xxManager.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1677 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-26 10:43:18 +00:00
hrydgard 358333b94b and more boring moving and cleanup ...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1661 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-25 21:44:56 +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
nakeee a7c4697d22 more code cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1622 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-21 21:02:43 +00:00
hrydgard 104acd5bc1 Turn the X86 emitter into a class, so the code pointer is no longer a global, yay! Created XCodeBlock that derives from XEmitter, and the Jit now derives from XCodeBlock so it can call all ADD SUB JNZ etc without having to prefix them with "emit.". I think someone's gonna like this.
There's some cleanup still to be done, but hey, it works. There shouldn't be a noticable speed difference.

I hope GCC doesn't have a problem with the "member function pointers" I used.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1594 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-19 21:24:52 +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 c541f3c335 Aniso filter setting working in GL, some code moving around, spelling fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1341 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-30 14:15:34 +00:00
XTra.KrazzY 3b67df1b45 Fixed saving states in OGL Linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1313 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-27 12:13:15 +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
XTra.KrazzY 159e3f5b49 Fixed saving/loading states in OGL plugin.
Turns out the BPReload function is written plain wrong. Also, most chances are that the state will load correctly when not reloading the BP (not now though).

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1247 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-22 20:06:20 +00:00
John Peterson 8a77ca8189 Made the OpenGL iLog setting changeable from the debugging window
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1232 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-21 01:28:00 +00:00
donkopunchstania 9199d1a3bc Added texture converter to convert textures between GX and GL formats using fragment programs. Currently only YUYV <-> RGB is supported, but other formats will be added in the future. Hopefully using fragment program conversion over the current software texture conversion will help movie playback.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1107 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-10 07:12:14 +00:00
donkopunchstania 342c559719 fixed an off by one error I created in the texture copy function in bpstructs.cpp. SSBM no longer has black on ground. sorry about that ;p
noticed the real HW doesn't clip some things it should. modified the projection matrix to account for this.
changed normal loader to better handle 1 or 3 index NBT data which fixed an underrun.
added missing z component in biasing section of indirect texturing.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1048 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-02 05:07:14 +00:00
hrydgard e36ca4705d oops forgot this one
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1010 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-29 22:29:25 +00:00
hrydgard 9399c2223c fix bad palettes in wii games
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1006 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-29 21:05:07 +00:00
omegadox a0a21a9877 a fix
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@989 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-28 08:19:54 +00:00
omegadox 46f0dd8f78 Added more render control options, wireframe option works, added more hacks.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@988 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-28 08:14:17 +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 72d8c3344b Code movin' and cleanup again, in the GL plugin. Planning to turn NativeVertexFormat into something cachable, instead of locked to each VertexLoader.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@948 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-24 23:08:46 +00:00
hrydgard 4d169987c2 Fix debug mode build, fix some profile stuff to not get compiled when profiling is off, cleaned a bit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@941 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-22 22:35:29 +00:00
hrydgard 4b2c7310b7 Move more stuff out of Globals.h in gl plugin. Changed gl plugin precompiled header to a new stdafx.h, you may have to Build->Clean after updating to this rev.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@940 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-22 21:23:40 +00:00
hrydgard 32820d2036 Backport Donko's hackfix to DX9 plugin. Move some code around. Add a couple of sanity checks.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@937 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-22 18:39:46 +00:00
hrydgard 58e3c8df8f Readability, comments, tiny typo bugfix in gl gfx plugin (fix is on line 322 in pixelshadermanager)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@930 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-21 20:34:56 +00:00
hrydgard dcbc8e78d4 Massive style & comment cleanup of (mostly) GL plugin - also split some large files. A minor speedup for BP writes - merged the two switch()-es.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@899 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-17 11:30:14 +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
donkopunchstania a1837662a0 Added shader dump option to GL plugin. glScissor is always set, even when copying to EFB. Indirect texturing and alpha blending fixes. Changed determination if texture dimension recalculation is needed - this might break stuff! Let me know if there are issues so it can be tweaked.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@739 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-02 03:26:08 +00:00
Sonicadvance1 720efb825d Linux: I made Sconscript call wx-config inside of the main SConstruct, added a nowx argument, Made the filesystemviewer use the correct struct and fixed a silly scissor error that was made
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@589 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-20 17:31:54 +00:00
XTra.KrazzY 7c3f715f19 More fog emulation groundwork both in OpenGL and DX9. Needs more fog format researching.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@586 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-20 14:43:10 +00:00
XTra.KrazzY a5488ccf58 Initial steps towards fog emulation in DX9
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@585 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-20 14:29:30 +00:00
Sonicadvance1 462b3184e2 Added some Fog functions to the GL plugin, doesn't effect games at all. Quick change to GLInit.cpp that doesn't do much as well
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@477 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-08 04:03:42 +00:00
nakeee 4c1de84039 unused fogcolor removed, shouldn't BPMEM_FOGPARAM3 and BPMEM_FOGCOLOR be united with BPMEM_FOGBMAGNITUDE?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@462 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-07 14:11:21 +00:00
Maarten ter Huurne 4b3c4492ea Replaced "WORD" by "u16", except where it is part of the Windows API.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@434 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-03 00:12:32 +00:00
hrydgard 005cbbb379 Basic VBA-style save state system implemented - kb shortcuts only working on Windows. Keyboard shortcut system added. More cleanup in GFX plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@390 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 22:06:53 +00:00
hrydgard 85565688d7 New SaveState folder for states. Removed some outdated code. Removed an unnecessary level of indirection for plugin calls. Assorted cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@389 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 19:19:40 +00:00
Sonicadvance1 05cbb94cbb GL plugin now centers video output, you can set it to render to the full window and FPS can be shown. FPS and stretch to Window res is set in INI. Maybe also the window res actually changes correctly when resizing window in Windows?
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@287 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-24 10:10:48 +00:00
Sonicadvance1 e0b3e32860 one hundred percent correct scaling in GL plugin now, or at least it should be. report problems as they come
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@242 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-18 09:15:05 +00:00