Commit Graph

36 Commits

Author SHA1 Message Date
Jake.Stine 97041701ae GSdx: SW rasterizer converted to use pthreads semaphores in the place of spinwaits. Performance mileage will vary on this; probably favors dual core machines over quads or i7's. Some tinkering might ink some more fps out of it and get it to be a speedup in all cases though.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2296 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-03 23:08:52 +00:00
Jake.Stine ed444cb876 More MSVC/Win32 buildsystem fixes: Made is so you can now optionally unload all 3rdparty libs (after building at least once!) and still build the rest of PCSX2 and plugins without linker errors. This is useful for reducing the memory overhead of working in the MSVC IDE, and reduces the size of the .ncb file and the bugs that come with it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1969 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-06 01:52:22 +00:00
gigaherz b6a19e6b2c Bring in cdvdGigaherz (step 1).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1939 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-01 13:40:22 +00:00
Jake.Stine 0f259e62d5 Implemented keyboard accelerator tables and a hashed global command table (should be ideal for eventual GUI extensions via plugin, and toolbars and other fanciness). Removed Pause menu and replaced it with a Suspend/Resume menu. Closing GS window behaves more nicely.
Projects: Removed FrameworkVersion descriptor, don't think it matters for C++ code.  Removed all translation files, since they're grossly out-dated and need to be remade anyway.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1894 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-20 20:54:45 +00:00
Jake.Stine 667cf3b5c2 GSopen2: Added GLEW as a static library dependency. We decided it's small enough to merit being packaged with PCSX2's 3rdparty libs, and it fixes GSDX from needing GLEW32.dll.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1856 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 16:21:33 +00:00
Jake.Stine e4c0dfb6d3 GSopen2: Fixed GSdx so that it complies with the implied intent of the PS2E plugin API, where GSopen and GSclose retain the current GS emulation state. This required a couple significant changes:
* Removed GSTextureFX classes
 * Built shaders right into GSState classes, using GSStateDX as an interface, so that all shader caches get auto-destroyed along with GSState.

In addition to being a bit of a code cleanup, it should be a bit more efficient too since all of the extra dereferences to GSState from GSTextureFX have been removed. :)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1849 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 00:16:52 +00:00
Jake.Stine 8de579954f GSopen2: Current status...
* Software mode seems to work fine.  Suspend and resume emulation work nicely, without flaws.
 * Hardware DX9 mode suspends but displays only black after resuming.
 * Hardware DX10 status is unknown.

git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1842 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-17 07:40:38 +00:00
Jake.Stine c9c924fe35 Yay, craploads of fixups for the new gui:
* Lots of crashfixes and threading rules compliance (like using wxYield instead of ProcessPendingEvents)
 * Killed off some memory corruption
 * Better error handling and reporting
 * Much speedier suspend/resume during emulation
 * Revamped entire savestate system to use a RIFF-style file format (untested, will work on it soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1832 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-16 17:23:02 +00:00
Jake.Stine 71490981bf wxgui: synced with trunk, and started work on an improved plugin initialization procedure. (branch currently does NOT compile, sorry)
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1582 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-29 14:00:00 +00:00
gabest11 319782cf39 GSdx: just updating vs2010 project files
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1564 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-24 09:24:09 +00:00
Jake.Stine 657660371c wxgui: Fixed crash-on-exit problem in Release builds and made the console logger thread-safe (uses messages instead of direct wxFrame method invocations).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1529 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 09:58:17 +00:00
Jake.Stine 3c195e9f9a wxgui: more of the slowly progressing.
* Implemented internationalization (i18n) framework.
 * Made a pretty configuration dialog box!
 * Many minor bugfixes.
 * Removed most of the old Win32 and Linux/GTK gui code because it was causing gettext cataloging to grab about 500 non-relevant strings (can always reference trunk for them anyway).

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1484 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-11 08:31:38 +00:00
gabest11 4c76909afe GSdx: small optimizations and tried to fix that dx9 fullscreen alt+tab crash
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1463 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 15:14:04 +00:00
Jake.Stine da691894c3 wxgui branch: Maintenance merge against trunk, plus many cleanups and project-level changes.
* Moved the x86 emitter to /common, so that plugins can link against it if they wish.
 * Created a new "utility" class in /common which houses string utils, fast memcpy, common exception classes, and other handy dandies.
 * Removed old-style linux automake files from the pcsx2 dir since they were hopelessly out of date (and their multi-file-per-line format makes svn merging impossible >_<)

git-svn-id: http://pcsx2.googlecode.com/svn/branches/wxgui@1454 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-03 00:49:40 +00:00
gabest11 7bb9a3cc25 GSdx: changed a lot of things, expect new bugs :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1439 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-27 03:32:33 +00:00
gabest11 b284fae2d5 GSdx: moved around some code and optimized texture caching a bit, there may be a slight speed-up in hw mode for those games that use many textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1425 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-23 04:12:32 +00:00
gabest11 69e3dcfa63 GSdx: everything should be back to normal now
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1406 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-19 20:43:08 +00:00
Jake.Stine bc1b84295f Improvements to the new installer project:
* installer automatically includes all three SSE build targets for GSdx (each built target needs to be built manually prior to building the installer).
 * Fixed some typos and abbreviated install paths from "PCSX2 Team/PCSX2" to just "PCSX2".
 * Added an "SSEtype" user define to GSdx's property sheets, which is used to generate the SSE postfix on the DLLs automatically. (ie, GSdx-SSE2.dll, etc).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1397 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 20:44:20 +00:00
Jake.Stine b974b815ff Major Build System changes:
* Changed w32pthreads library into a DLL so that it can be used from plugins correctly. (NOTE: you will need to make sure to build and copy w32pthreads.dll into your pcsx2 folder).
 * Switched pcsx2 from static CRT to shared CRT linking (needed to ensure correct exception handling behavior in multithreaded DLL environments).
 * Switched all standard plugins in the Suite to the shared CRT, to match pcsx2's new style. :)
 * Renamed _DEBUG (depreciated) to PCSX2_DEBUG (excluding Gabest projects since the ATL still uses it).
 * Added intrin.h to Pcsx2Defs.h (so that it is included universally), and added intrin_x86.h for GCC compatibility.

Notes:
 * Current plugin version compatibility status should be unaffected.  The new shared-CRT plugins work fine with older versions of Pcsx2, and the older plugins should work fine with the new shared-CRT version of pcsx2; so long as the necessary CRT DLLs are available on the user's system.
 * All future packagings of pcsx2 will include w32pthreads.dll and the Common Runtimes (CRTs).
 * Existing users who do not have MSVC installed can obtain the CRTs by downloading the Microsoft Visual C++ 2008 Redistributable Package (anyone with msvc installed should already have all they need).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1388 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-18 08:20:19 +00:00
gabest11 5736bbd449 GSdx: looking for an opengl guru...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1360 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-12 19:09:17 +00:00
gabest11 b678bb129c GSdx: texture filtering checkbox fixed, changed texture lookup a bit, removed more unused code
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1351 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-09 10:13:28 +00:00
gabest11 ffda8ead30 GSdx: mfc-free
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1310 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 12:09:04 +00:00
gabest11 3b22adc4b3 GSdx: converted a few template classes to pointers and virtual functions, the dll got more than 100k smaller, since there were many changes, backup your old version first :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1236 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 01:22:52 +00:00
gabest11 09ee76d9ed GSdx: optimized local-local transfer a bit, it boosts fps in games like ffxii or ico, which do a lot of moves in local memory.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1226 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 15:35:31 +00:00
gabest11 bdedc325a8 GSdx: just fixing the typos...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1182 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-14 20:44:17 +00:00
gabest11 5648d07b96 GSdx: more refactoring (aka search and replace)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1179 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-14 16:41:52 +00:00
gabest11 752db6056f GSdx: just restoring the vcproj from two revisions ago...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1075 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 20:34:11 +00:00
gabest11 1245659eee GSdx: fixed Issue 182 (narrowed the neq alpha test range to +/-0.4f/255, scream if something broke), and re-enabled something to make DATE faster (counting min/max of the vertices outperforms stencil buffer clearing when there are many small primitive batches).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1074 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 20:17:06 +00:00
Jake.Stine 7ffd3d3aea Restructured the build system from the ground up. 3rdparty libs have been moved back into a /3rdparty folder, and are compiled as libraries. Most relevant plugins are part of the pcsx2_suite_2008.sln. Revision tagging of filenames is still there, but is now disabled by default. Pathnames with spaces shouldn't break the buildscripts anymore. Removed tons and tons of files in an effort to simplify the repository and build system management. So if a solution file you're used to using is missing, it's missing for a good reason (means the project can be built either from the Suite solution, or by double-clicking the project file from explorer, from which MSVC creates a new solution for you).
I'll put up a wiki soon which covers new compilation features and stuff, like how to re-enable revision tagging, and how you can direct compiled exe/dlls to be copied to any destination of your choice (yay!) -- plus many other compiling tips (if I can remember them all! >_<)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@581 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-24 02:08:37 +00:00
gabest11 b3cb4ad3f8 GSdx: completed the ps1 renderer conversion for xbyak, GSRasterizer::Draw* functions should be next.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@550 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 10:59:10 +00:00
gabest11 4907dbda42 GSdx: upgraded the ps1 renderer to use runtime generated code, too.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@535 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-19 13:13:20 +00:00
Jake.Stine 68ceb3b8fb Fixed a bug that caused MTGS to throw "pure virtual function called" errors on rare occasions, and cause crashes in Linux. (Issue 31)
Improved the Win32 build scripts to solve some end case scenarios on some systems/configs, where they would fail due to missing path separators.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@514 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-17 01:38:02 +00:00
Jake.Stine 84099c097f Added GSdx to the pcsx2_suite_2008.sln. It defaults to SSE2, you'll have to manually configure the build targets to use SSSE3 or SSE4 (hopefully we'll find a better solution to that in the near future).
Upgraded GSdx's use of svnrev to match other plugins in the pcsx2 repository; so that it no longer requires TortoiseSVN, and will also compile correctly from folders with spaces (ala '/program files/username/my documents/projects').

Removed the /3rdparty and /common folders since they aren't used anymore, and it was potentially confusing or misleading to leave them in since they were out-of-date (they were once referenced by svn:externals, and we opted out of using those here due to slowness).

SPU2-X: Fixed a minor overflow in the reverb that would cause infrequent crackles in a select few games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@503 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-16 04:32:03 +00:00
gabest11 e131e22ea6 GSdx: more JIT code and a little clean-up
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@484 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-13 09:28:51 +00:00
gabest11 9ee9d817c4 GSdx software renderer speed-up, using xbyak to JIT compile a few things, more to follow.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@469 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-11 07:05:44 +00:00
refraction 93da10abbb git-svn-id: http://pcsx2.googlecode.com/svn/trunk@411 96395faa-99c1-11dd-bbfe-3dabce05a288 2009-02-06 19:15:15 +00:00