Commit Graph

52 Commits

Author SHA1 Message Date
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
nakeee e6022acf26 small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1364 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-01 08:34:51 +00:00
hrydgard 356f57baec revert loop_counter to memory - might fix the 32-bit crashes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1363 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-01 08:20:34 +00:00
hrydgard df37685ffb some more control structure merging
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1352 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-30 22:57:55 +00:00
hrydgard dbc57ca08e make vertex format compiler less confusing (no more duplicated work).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1351 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-30 22:47:06 +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
hrydgard 5c49095069 Oops, broke the original texture cache :p fixed.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1299 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-26 00:00:23 +00:00
hrydgard 72af432491 Put the vertex loop inside the JITted code in the vertex loader. Small (yeah, small) speedup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1296 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-25 21:57:02 +00:00
hrydgard 30a5c91c99 GL: Safer vertex loading (should fix the new zelda crash), added vertex format logging to "show some statistics"
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1295 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-25 21:15:31 +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 cb8c12591a Just a little bit of cleanup in the gl plugin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1263 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-23 00:12:44 +00:00
Shawn Hoffman 70837bb034 replace m_VtxDesc.Tex7Coord that I missed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1119 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-11 04:50:39 +00:00
Shawn Hoffman 1ceee92770 Since m_VtxDesc.Text7Coord is broken across a 32 bit word boundary, retrieve its value manually. If we didn't do this, the vertex format would be read as one bit offset from where it should be, making 01 become 00, and 10/11 become 01. Among the benefits of this fix: Zelda Wind Waker no longer crashes when you view the map. see http://forums.ngemu.com/dolphin-discussion/114035-those-pesky-bit-fields.html
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1118 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-11 04:44:41 +00:00
hrydgard 530fb9ba3d Assorted warning fixes, small mixer improvement when both DTK and HLE audio are used
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1100 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-11-09 13:17:17 +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 22e1ecbb51 Make it possible to turn off the tiny vertex format setup JIT, may help macosx compatibility work (pretty useless, a jit for the actual vertex loading would have been much more useful)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@993 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-28 21:04: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 f77624147d Cachable vertex loaders. Not a very big speedup in itself, but makes it easier to speed up vertex loading in the future.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@960 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-25 15:53:43 +00:00
hrydgard 2f6d41e413 Move moving things around and preparing for the next step (cached vertexloaders).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@957 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-25 13:27:28 +00:00
hrydgard bc79d22f5e Move pipeline back into VertexLoader. Started work on VertexLoaderManager, which will cache VertexLoaders. (yep, the design plan changed a little bit).
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@956 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-25 12:35:55 +00:00
hrydgard f14fca914d OpenGL - Don't cache pointer to compiled code - cache pointer to NativeVertexFormat instead.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@950 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-25 09:59:00 +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 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 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 326d97315c Fix build error in debug mode.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@903 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-17 21:05:23 +00:00
hrydgard 7bbd6fda63 more gl plugin cleanup, code moving
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@900 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-17 12:08:28 +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
hrydgard 655bc23322 fix some comments, some files with mixed line endings, some warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@757 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-03 17:22:35 +00:00
memberTwo.mb2 df9eba79b2 DataReader migration to faster one: first step.
TODO: doing it for DX9, move DataReader to VideoCommon, remove dirty debug #def if ok

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@729 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-29 17:29:25 +00:00
Sonicadvance1 015e43340a A simple z-buffer fix for the GL plugin, we were setting the nearz as negative nearz, which messed up the fzero stage in Melee at a certain point. Also redundent code moved about
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@685 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-25 10:38:37 +00:00
Shawn Hoffman de9b103524 reversion
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@517 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-13 16:33:28 +00:00
daco65 f07b75dc09 some patches done by F|res & OmegaDox
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@512 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-13 15:09:03 +00:00
Maarten ter Huurne 54c2a07de5 Moved SysMessage() from the video plugin into the main app, so the GUI and non-GUI executable can handle it in a different way. This fixes a crash in DolphinNoGUI when SysMessage() was called and tried to use a non-initialized wxWidgets.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@489 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-10 01:01:28 +00:00
nakeee 7026025a2d more warning fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@483 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-08 07:09:34 +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 722ea233a1 Align stack to 16-byte boundary when compiling in 32-bit mode with GCC. This is required to run anything on OS X and to support SSE instructions on Linux.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@439 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-09-05 00:02:53 +00:00
hrydgard 09406d76c4 Fix/workaround at least one class of buffer underruns in the GL plugin. Fix some bad deletes (instead of delete []). etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@404 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-31 13:36:52 +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
hrydgard dcd5ffeb7a More accurate audio interrupts (preparation for homebrew audio support). some minor cleanup in gl plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@226 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-16 10:49:08 +00:00
hrydgard 9f3899aa58 build fixin'
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@213 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-14 22:08:17 +00:00
hrydgard b370386983 static-ified a lot of vars to prevent name collisions with plugins, other cosmetic stuff, prep for jit debug
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@147 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-07 21:29:15 +00:00
hrydgard 494c1f3187 JIT works in linux with ALL OPTIMIZATION OFF - well, at least it's faster than pure interpreter :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@128 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-03 16:56:31 +00:00
hrydgard 9a4c66e066 More linux...
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@122 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-01 13:59:37 +00:00
hrydgard 3b4a9e06c2 fix typo in unused function, try to fix linux 32-bit opengl
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@117 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-31 21:23:30 +00:00
Sonicadvance1 c33cf08a2f Linux: Fixes a few things, Should Compile in Linux. Ran Crazy Taxi horribly
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@38 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-21 01:27:13 +00:00
hrydgard b3c55018a6 More common things moved out from the GFX plugins. No visible changes.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@27 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-18 19:33:55 +00:00
hrydgard 91ccda69ef Split a couple of huge files up, to make them easier to handle.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@24 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-07-17 21:09:18 +00:00