Commit Graph

84 Commits

Author SHA1 Message Date
Jake.Stine c5c21f06cb GSdx: Fixed a couple memory leaks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2000 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-12 19:58:03 +00:00
Jake.Stine 73a39b012c GSopen2: Fixed a bug in gsdx where it didn't properly handle changes to the GS base register memory pointer.
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1858 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 18:45:37 +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
gabest11 570e4ce85e GSdx: fixed dx9 + msaa=0
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1598 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-03 00:17:35 +00:00
gabest11 cea0f395aa GSdx: experimenting with msaa, add msaa=N to gsdx.ini to activate it (N=2,4,8)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1597 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-08-02 23:07:30 +00:00
gabest11 3f4f3db3e6 GSdx: little code cleanup
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1591 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-31 23:59:06 +00:00
gabest11 cc3130660a GSdx:
- Automatic texture filtering should be ok now, occasionally point filtering was used. Tested it on the ps2 and figured with no mip levels LoD and minification settings are just ignored altogether.
- Also run a few tests on the gather instruction with the reference rasterizer and found a fatal flaw with it. It returns the four samples for bilinear sampling (in a funny order, which isn't documented of course, x = bl, y = br, z = tr, w = tl), but there is no way to guess which four were selected exactly. Due to some hidden rounding error it might grab different texels than I would when calculating the position of the upper-left texel, of which the fractional part is be used for the interpolation. When the texel positions do not match it leaves annoying discontinuity errors. Oh well...

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1571 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-26 15:30:25 +00:00
ramapcsx2 0b6ed4bc15 GSdx: Disabled requesting of thread safe D3D devices. This is a speedup, and we shouldn't need the safety.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1553 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 19:04:48 +00:00
gabest11 83b15dbac0 GSdx:
- trying the dx10.1-only "gather" shader instruction for palletized lookups ("8-bit texture" mode), saves 4 instructions which isn't much but still... (not tested, don't have ati)
- may fix the intel gma "no output" bug (don't have gma either :P)
- and the usual small code optimizations


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1549 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 03:55:28 +00:00
gabest11 4a7304d6f7 GSdx: added ltrapper's modifications.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1538 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-17 23:45:32 +00:00
gabest11 e58776e095 GSdx: just squeezing a few more fps.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1534 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-16 21:36:07 +00:00
gabest11 a7ce451167 GSdx: couple of fixes for the new palletized lookup mode
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1475 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-07 10:57:04 +00:00
gabest11 f9f056d581 GSdx: fixing/breaking things again... palletized texture lookup can be done by pixel shader now (selectable, off by default), if you have a fast card it may help with texture heavy games, otherwise it is only going to be slower.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1472 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-06 16:35:06 +00:00
gabest11 ae62a56cc1 GSdx: more leak cleanup
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1466 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-04 22:54:57 +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
gabest11 5a292d202d GSdx: couple of fixes
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1447 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-01 21:14:12 +00:00
gabest11 6ef94cc707 GSdx: ignore this...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1404 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-19 20:24:18 +00:00
gabest11 8e979f1b96 GSdx: moved 16 bit texture processing from gpu to cpu, with the pixel shader it was either incorrectly done or too slow, please check what got slower/faster or broken :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1375 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-17 11:24:42 +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 db8feac8c3 GSdx: the BeginScene/EndScene optimization for dx9 (Issue 256)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1312 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-03 22:45: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 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 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 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 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 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 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 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
Jake.Stine 6ebfae8ef1 Re-Added eol-style:native properties to the repository. The settings got lost when we merged from Playground to Official.
Added interface.cpp (plugin/pcsx2 interface) and savestate.cpp to SPU2ghz, to help clean up SPU2.cpp.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@463 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-02-09 21:15:56 +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