Commit Graph

32 Commits

Author SHA1 Message Date
Jake.Stine a3dee78c6c GSdx: Fix some vsync enable bugs. Add "GSsetExclusive" API, which is meant to be a hint for setting exclusive fullscreen mode in DX10 (no plans to support it in DX9 due to complications that would require significant changes to DX9 resource management).
I don't have DX10 so this is (as usual!) untested.  I'll be adding support for it to PCSX2 soon.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2301 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-04 03:24:59 +00:00
ramapcsx2 f1f6236a02 GSdx:
- Re-enable the D3D10_CREATE_DEVICE_SINGLETHREADED flag, since it seems to be stable again.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2283 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 16:16:48 +00:00
Jake.Stine 62384ea56a GSdx: Remove some DXGI stuff, which is being moved to PCSX2.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2281 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 15:31:31 +00:00
Jake.Stine a34c09fe01 GSdx:
* Disable GSdx's internal AspectRatio setting when using GSOpen2 (pcsx2 0.9.7 controls aspect ratios internally now)
 * DX10 should be able to startup in fullscreen mode now, without needing to hit alt-enter (legacy 0.9.6 versions only)
 * Added some comments for a failed attempt to disable DX10's default Alt-Enter behavior.  If someone knows how to do that properly, please feel free to submit a patch because DX10/Com breaks my mind. (see GSDevice10.cpp)
 * Remove DX11 for now since it's entirely unfinished anyway.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2279 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-12-01 05:59:43 +00:00
Jake.Stine 34f30969bf GSdx: likely fix for the infamous DX10 memleak and resume/loadstate instabilities. Likely because I don't have DX10 capabilities, so I'm coding blindly as usual. ;)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2150 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-07 17:50:48 +00:00
Jake.Stine c274d4e43c GSdx: Cleanups to the vsync framelimiter linkage. Ensures that the vsync settings are preserved across plugin shutdown/init, and removes a lot of function parameter mess trying to pass a single parameter across some 6-8 classes and 4 nested function calls.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2099 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 01:06:23 +00:00
Jake.Stine 0f77c1a885 GSdx: Possible fix for DX10 leaking memory.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2042 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-20 11:44:43 +00:00
ramapcsx2 1ae5d07a3f Quick fix for GSdx10 crashing when entering/leaving fullscreen on pcsx/wx.
Ideally this should be reverted one time, it really made a difference in fps for some DX calls heavy games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2019 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-17 15:11:21 +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 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
ramapcsx2 a0828bc8f9 GSdx:
- Trippled the number of cached textures, many games constantly recreated them
- Don't clear some shaders at each drawcall (in dx10) , which is a nice speedup (but could potentially be bad, please check..)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1584 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-30 00:21:33 +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
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
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 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 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 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 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 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 690ef417b1 GSdx: replaced switch with ifs in the shaders, kingdom hearts should be fixed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1362 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-13 19:41:34 +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 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 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 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
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