Commit Graph

59 Commits

Author SHA1 Message Date
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 65b90bce83 GSdx: there was a bug in unaligned 4/8 bit transfer, small texture glitches may be fixed (simpson game, car logos in gt4).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1285 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-29 06:26:46 +00:00
gabest11 4bc698d698 GSdx: just fixing slow texture uploads with dx9... (odin sphere back to 40-50 fps)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1279 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-28 02:57:01 +00:00
gabest11 3e12966919 GSdx: Even more alpha test voodoo magic, it must be nailed now!
And there is even an explanation. 

The tfx functions calculate At * Af >> 7, which means modulating by 0x80 should return At as the result. 

With the evil floating point pixel shader however 0x80 translates to 128/255 (0.502), not exactly 0.5, modulation as At' * Af' * 2 (' means 0 - 1.0 range) is not the same as with integers.

At' = Af' = 0.502
At' * Af' * 2 = 0.504

If the alpha test happens to be "not equal to 0x80", then abs(0.504 - 128/255) < 0.5/255 will just miss.

Solution is to re-scale those values to the integer range, do the calculations, and then back to float again, but in the end it just simplifies down to At' * Af' * 255/128, doh...

At * Af >> 7 => ((At' * 255) * (Af' * 255) / 128) / 255 => At' * Af' * 255/128

At' = Af' = 0.502
0.502 * 0.502 * 255/128 = 0.502 (w00t!)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1272 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 05:55:32 +00:00
gabest11 6c58f3039a GSdx: bit more work on the vertex buffer, and broken ffxii fmv fixed again.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1266 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-26 03:40:31 +00:00
gabest11 081006bcbe GSdx: dx9 hw mode got a vertex buffer too (as dx10), it was an old TODO...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1250 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-23 23:52:53 +00:00
gabest11 8d119f3928 GSdx: more source cleanup and something interesting on F7
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1239 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-22 23:23:38 +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 2aec2318cc GSdx: found a compiler def for stl that removes a lot of iterator checks in the release build.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1228 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-20 21:22:37 +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 5f392aba63 GSdx: now I think only the window classes of mfc are left to be replaced (main window, config dialog), trying to get familiar with wx...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1219 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-18 11:08:04 +00:00
gabest11 b535039ee7 GSdx: blur removal works again
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1194 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-15 21:07:58 +00:00
gabest11 441aee367e GSdx: fixed a few more typos in GSVector4i, the black screen bug should be gone
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1192 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-15 11:11:26 +00:00
gabest11 a1507e6044 GSdx: this should fix d3d9 mode and the aspect ratio bug
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1191 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-15 07:48:51 +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 29d11c8137 GSdx: small fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1171 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-11 21:10:08 +00:00
gabest11 d3547e0662 GSdx: trying to get rid of windows dependencies, still many classes to replace :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1168 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-11 08:18:00 +00:00
gabest11 6ea395be4b GSdx: optimizations here and there
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1161 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-09 08:37:02 +00:00
gabest11 c64691811a GSdx: 3.4.9. Texture Function => Decal/TCC=RGB: Av = At (gs_user v3 and v5) or Av = Af (v6)? Seems it was Af... Sonic unleashed was one of the games relying on this setting, could not find any other yet. Also removed the green stripes, shadow sw-mode only.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1145 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-07 12:34:58 +00:00
gabest11 3202a42578 GSdx: Reworked the sw renderer texture cache a bit, at page level its correctness was questionable if the base address was not page aligned, so now keeping track of blocks (32x more), may be slower or faster by a few percent (number of blocks vs. finer resolution).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1142 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-07 06:32:10 +00:00
gabest11 270c8ee3d2 GSdx: more alpha test magic
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1076 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-27 21:19:50 +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
gabest11 71e391d010 GSdx: Issue 149 (GoW2 crc) and removed the dx9 flag to enable tv-out, which might have been the cause for limited fps in recent revisions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1006 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:51:42 +00:00
gabest11 94e2bd9409 GSdx: adapted to ref's changes to the image transfer, it was a bug in GSdx but not triggered by the old way, also the data overflow is now ignored, no idea what it may cause, look out for missing or fixed textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1005 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-18 09:34:25 +00:00
gabest11 8865ee398b GSdx: reworked the gs transfer function a bit, and removed the nloop hack, which does not seem to be necessary anymore.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@997 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-17 01:06:27 +00:00
gabest11 6830f07f27 GSdx: GoW2, try #3
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@962 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-12 19:46:42 +00:00
gabest11 9c8a9712a9 GSdx: GoW2 fix #2, pal version this time
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@952 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-11 08:54:48 +00:00
gabest11 cf995d0716 GSdx: GoW2 fix, 16 bit drawing that caused the green overlay is skipped (character shadow)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@950 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 19:55:05 +00:00
gabest11 b0da55cb89 GSdx: this should probably fix taking snapshots with dx9, also upped the version to .15, since the revision number has passed what the last release still had from the old repository.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@943 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-10 07:12:29 +00:00
gabest11 35655edb47 GSdx: the BoF5 speed fix
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@887 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-04-02 21:22:37 +00:00
gabest11 13986ebabf GSdx: updated the delay loaded directx dlls to match the latest sdk
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@873 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 14:28:23 +00:00
gabest11 8b3c30d2ce GSdx: just increasing the revision number of gsdx to test something...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@868 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-31 03:19:21 +00:00
gabest11 9a1c89cb4f GSdx: persona 4 character shadow error fixed, might break other things (hope it doesn't :P)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@841 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-24 13:13:51 +00:00
gabest11 0c90ff1eb6 GSdx: disabled blurring can be re-enabled in the settings or with the END key, the image shifting is corrected back to 1 pixel even if the internal rendering resolution is upscaled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@840 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-24 09:11:03 +00:00
gabest11 95c7ce1dbc GSdx:
- more thorough blur detection
- makesnapshot delayed until the next vsync (so shift+f8 won't crash randomly)

xpad:
- fixed "Issue 38: Bad performance with Xpad"

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@834 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-22 13:10:31 +00:00
gabest11 2baace0895 GSdx: a few games should be sharper (example: persona 4, guitar hero), blurring effect done inside the output merger is overridden when detectable, hope nothing got broken by it.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@826 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-20 09:10:37 +00:00
gabest11 d2ef4099fc LilyPad: fix0red the save state reload crash (memset overflow randomly null'ed the global dm variable and other things).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@799 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-16 22:17:50 +00:00
gabest11 d541a8da45 GSdx: sse2/ssse3 build fixed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@730 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-10 04:37:41 +00:00
gabest11 120971ec4f GSdx: Implemented edge anti-aliasing (aa1) for software mode, bios or ffx are good test subjects (not many other games use it). It's still a bit slow but could be improved a lot by not doing 4 pixels with sse for each single edge pixel, that's just a lot of unnecessary texture lookups. The bios config screen cubes are still bogus, gs_user on aa1 isn't too helpful...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@721 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-09 01:42:56 +00:00
gabest11 620ba58085 pcsx2: -highpriority switch, other processes generate too much noise and I cannot trust my performance counters without it :P
GSdx: nothing new just committing a few cleanups and my findings on AA1 before doing it, tested a few things with ps2dev on a real machine, got really strange results when not using the standard 0 1 0 1 blending mode, but it doesn't seem harder to implement than a line drawing (which it is), and only adds a few extra pixels here and there, should be fast at least.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@694 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-06 00:53:59 +00:00
ramapcsx2 5897d04917 Experimental commit!
Hacked in a way to make GSdx change the renderer on the fly.
When you press F11 it will switch to DX9 sowftware rendering.
Press it again to get back to the setting you were using before.

Notes:
-For this change I had to modify a few lines in GSdx. If that's not acceptable
we can do more drastic measures and modify the gsdx.ini :p
-F11 is currently also used for doing gsstates in debug modes, it will likely be changed.
-When in dx10 hardware + fullscreen mode, pressing this key will crash GSdx. Sorry.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@689 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-03-05 20:00:41 +00:00
gabest11 070f38c136 git-svn-id: http://pcsx2.googlecode.com/svn/trunk@594 96395faa-99c1-11dd-bbfe-3dabce05a288 2009-02-24 20:12:46 +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 e934016121 GSdx: vtune JIT code profiling support (somebody should implement this in pcsx2 too, see iJIT_NotifyEvent(iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, ...), plzkthx :P) and other minor fixes/optimizations.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@570 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-22 16:28:39 +00:00
gabest11 2c27126e92 GSdx: forgot to disable some console output
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@551 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-20 11:18:53 +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