Commit Graph

71 Commits

Author SHA1 Message Date
gabest11 9ec7f14fa8 GSdx: Simplified vertex formats and the related code, everything works with the basic GSVertex until it gets uploaded to the vertex buffer.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5074 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-19 04:53:36 +00:00
gabest11 2eec75c2ae GSdx: sps fixed, some code clean up and optimization, ps2 logo still broken in hw mode, I'll check it later
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5062 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-08 17:10:00 +00:00
gabest11 f68f007f00 GSdx: the promised index buffer update, needed a lot of changes, expect bugs in the next dozen revisions.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5045 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-01-05 02:40:24 +00:00
gabest11 0b62c17d9c GSdx: Renamed the sw thread setting to "extra threads".
- 0: no multi-threading
- 1: gif packet processing and texture uploads run parallel with rendering, the slowest decides the fps, dual-cores can still suffer by the spin loops, I'll check that when I compile pcsx2 on my notebook
- 2: two rendering threads, on a decent cpu packet processing is going to be slower now, this is probably going to increase fps the most on quads
- 3: small fps increase
- 4+: even smaller. 

If you have a quad cpu with HT, 6 is the max, 1 + 1 is needed for pcsx2 and gsdx's basic tasks.

Also hacked palette writes to not force a read-back in hw mode (added in previous rev), it hit render targets in a surprising large number of games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4998 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-20 14:33:28 +00:00
gabest11 4b77052d21 GSdx: just saving minor changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4991 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-12-16 19:13:58 +00:00
gabest11 f47ef5e644 GSdx: as usual, going back to msvc, suddenly wild errors appear.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4964 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-08 13:22:54 +00:00
gabest11 0cf87a943b GSdx: GSRendererHW.h and GCC are good friends now.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4963 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-11-08 13:12:54 +00:00
avihal 9314c5fed7 GSdx: bypass (prevent) some crashes.
Important: this is not a fix of the cause of the crashes, it just bypasses cases of sure crash. Once that spot is bypassed, things can go wrong elsewhere. Generally, however, things just continue normally. E.g. GT4 (camera changes), Tourist Trophy (camera changes), MGS3 (codec screen when CRC hacks are disabled) and probably more - now don't crash anymore, even at high resolution (but might still get some slowdowns).

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4895 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-09-01 13:25:08 +00:00
shadowladyngemu ae4bad0799 GSdx: CRC hackfixes for NanoBreaker and Kunoichi/Nightshade, removing the shadows that are not properly emulated and just cause 3D to look darker (NanoBreaker in D3D9 just showed a black screen with smoke effects ingame :p).
Minimal changes to the GameDB.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4863 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-08-11 12:54:57 +00:00
shadowladyngemu 52a0eb047d GSdx: CRC hackfixes!
Summary of changes...

Fixed menus and HUD for Spyro: A New Beginning and Spyro: the Eternal Night.

Fixed missing dialogs and reduced the VRam usage a bit for Tales of Legendia ("8-bit textures" help a bit more with Vram/speed). Should be playable now in hardware mode. Thanks to rama for figuring it could be hackfixed this way and the initial patch :)

Half-screen fixes for Ty the Tasmanian Tiger 2, X-men Origins: Wolverine, Call of Duty: World at War - Final Fronts.

Modified the Star Wars: Force Unleashed hackfix a bit, shouldn't have the see-thru objects anymore.
Also modified the Metal Gear Solid 3 and Gran Turismo 4 hackfixes as they needed different skip values for each region (PAL/NTSC). Thanx to avih for the region code... and the free C/C++ lessons :P

The hackfix for Sly 3 was still showing stripes for 3-D and two-player modes, fixed for NTSC version now and hopefully works for PAL one too.

Couple GameDB updates after the gif rewrite.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4833 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-29 18:11:22 +00:00
ramapcsx2 9a16937018 GSdx: Fix an old and silly bug that could cause slowness in native resolution hardware rendering. Thanks for debugging, Lana and avih.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4819 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-23 16:15:00 +00:00
shadowladyngemu 774f90f642 whoopsie
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4788 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-01 05:32:04 +00:00
shadowladyngemu 539d313622 GSdx: CRC hackfix for Devil May Cry 3, removes bad postprocessing.
Adjusted the SW Battlefront hackfix for the PAL versions (NTSC-U and PAL versions have the same CRC but use slighty different buffer/texture addresses...)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4787 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-07-01 04:50:32 +00:00
shadowladyngemu 4f89f21f99 GSdx: CRC hackixes for...
The Lord of the Rings: the Third Age (Removing fat stripes on screen).
Digimon Rumble Arena 2 (Half screen issue).
Star Wars - The Force Unleashed (Hiding HUD and 3d issues. Not perfect and NTSC-U only, not sure if it works with PAL).
Star Wars Battlefront 1/2 (Huge VRAM usage issue. NTSC-U only, not sure if it works with others).
Black Hawk Down - Team Sabre (Half screen issue and removes the night vision filter which was broken and using a lot of VRAM).

Minimal changes to other CRC hackfixes and GameDB.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4766 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-25 08:31:42 +00:00
shadowladyngemu d14f0169fa GSdx: CRC hackfix for Ty the Tasmanian Tiger. Couple CRCs added.
GameDB: Onimusha 4: Dawn of Dreams playable again with a patch. Minor other updates.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4706 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-06-03 09:03:28 +00:00
ramapcsx2 b2ee693b25 GSdx:
New define "NO_CRC_HACKS", for testing how games work without hacks easily. 
Gets enabled together with the no cache define but can be toggled individually as well.

Also I've been told to mention that these changes are not directly benefiting the end user.
Gamers: This doesn't fix your DragonBall, okay? :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4636 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-09 16:45:54 +00:00
ramapcsx2 5785ba7914 GSdx:
- Allow filtering setting for native resolution hardware rendering, as it's not tied to the resolution.
- Add ST / UV coordinate tweaking defines to more easily debug small rendering glitches.
- Add a define to bypass the hardware renderer texture cache. With this enabled, speed drops to slower than software rendering.
It fixes nearly all hardware rendering issues though and can be used to see how games *would* look if we had a new cache ;)

Thanks for the help, sudonim :)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4635 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-05-09 01:36:57 +00:00
shadowladyngemu eaaa8eef59 GSdx: CRC hackfixes for Silent Hill 2/3 (half screen issue), Castlevania (removes shadows which were broken and caused darkness in different areas) and Bleach Blade Battlers 1/2 (shadows that caused a huge slowdown when casted on the characters).
Few changes to the Simpsons hackfix.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4593 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-25 13:47:29 +00:00
shadowladyngemu 741b623b97 GSdx: CRC hackfixes for Red Dead Revolver, Heavy Metal Thunder, Spiderman Web of Shadows (if anybody cares about this one :p).
Also a few changes for Tekken 5, "City at sunset" stage, hopefully there's nothing else wrong with this game anymore.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4585 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-04-21 02:32:59 +00:00
gabest11 b31634df8f GSdx: using mipmap levels (only per batch, no tri-linear) and a couple of small changes, including the stdcall fix for linux.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4419 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-12 22:10:58 +00:00
gabest11 fe88ee4102 GSdx: optimized the triangle setup of the rasterizer a bit, while it isn't the bottle-neck of drawing, it can still add a few percent to the fps.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4404 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-03-08 01:48:15 +00:00
gabest11 3030166596 The core of GSdx is now compatible with intel's compiler on linux.
- GSWnd is not implemented, no config dialogs either
- no output, just the null device
- threading classes were not tested (my first experience with pthread)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4315 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-19 03:36:30 +00:00
gabest11 d44def8c0b Fixed many gcc errors, there are still plenty. Intel's compiler might be a better alternative.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4311 96395faa-99c1-11dd-bbfe-3dabce05a288
2011-02-18 01:56:05 +00:00
sudonim1 4a427059d8 Reverted r3063 as the last revision obsoleted it and it was causing suspend/resume issues with the software renderer, removed an unnecessary GSclose() and ResetDevice() call each
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3068 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 17:26:37 +00:00
sudonim1 ab77eb4646 GSDx: Free textures that have been in the unused texture pool for a few frames.
GSDx: Reset device on save state load.
GSDx: Made GSRenderer::ResetDevice() actually do the main function in its name and implemented InvalidateTextureCache().  If anything breaks, it's because of this change.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3067 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 15:33:50 +00:00
ramapcsx2 d09c269d17 GSdx:
Fix the worst memory leaks on emulator suspends.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3063 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-05-23 13:56:44 +00:00
sudonim1 4457fe40fc Removed all trailing whitespace in *.c *.cpp *.h because it irritates me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2897 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-04-25 00:31:27 +00:00
feal87 d541f28425 Gsdx : Added scaler x5 and x6 (the maximum available, no other values are possible as the limit for texture/render target is 4096x4096 (probably some new card/API support more, but we need compatibility) and with x6 we are at 3840x3072). It is VERY gpu intensive, use it with extreme care, it may give heavy slowdown. :P
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2658 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-03-02 13:48:20 +00:00
ramapcsx2 e50fb6ec9f GSdx:
- Finally made some user hacks available in the configuration dialog.
There are no warnings yet, and I don't like the placement either, but that'll have to wait.


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2606 96395faa-99c1-11dd-bbfe-3dabce05a288
2010-02-19 10:37:31 +00:00
ramapcsx2 4ac00ea969 GSdx:
Gave up on the smart m_width / m_height adjustments for now. This just won't work the way I imagined it :/
Using a "common" size of 640*512 instead. This means some odd games might use a wrong output surface again (they always did this on the normal upscaler).


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2190 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-12 09:50:05 +00:00
ramapcsx2 8a9582f73b Fix a mistake. Thanks for spotting it, dhaft.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2176 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-10 14:11:43 +00:00
ramapcsx2 efdeabd865 GSdx:
- Reduced the overhead of the new scaler. Instead of just using 1024*1024 blindly, it tries to adapt to games native resolutions.
- Yet another change to IncAge(), since it seems to be (mis)used to do texture invalidation. (Fixes Disgaea 2 when booting through the BIOS)
- Added some comments

Note: 
Before working on the texture cache GetDisplayRect(),GetFrameRect() and GetDeviceSize() really need fixing. It's useless to try and find surfaces when not knowing the real size of things.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2174 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-10 11:38:32 +00:00
ramapcsx2 35ec28eb48 GSdx:
- Bring back IncAge() for textures to avoid excessive memory usage by some games.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2140 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-11-06 17:13:36 +00:00
ramapcsx2 655038be45 GSdx:
- Fixed many flickering scene change transitions (FF12, Gust games, etc).
- Found more info on how games do some special effects. Preliminary code included, but disabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2101 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-31 10:56:10 +00:00
ramapcsx2 62d2532a1e GSdx:
- More work on the configuration, preparing for some reorganization.
- 8 Bit textures default to off again, since there are issue reports (mainly from ATI users).
- Add a gamefix that allows users to set an amount of "bad" frames to be skipped.
Add gamefix_skipdraw = x to the GSdx.ini to enable. (More work on this soon)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2085 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-26 15:52:45 +00:00
ramapcsx2 fb2169f64d GSdx:
Added a somewhat more accurate upscale option via GSdx.ini. Not tested much! :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2055 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-10-21 22:57:20 +00:00
Jake.Stine 27af8d80ca GSopen2: Simplified the multithreaded and irq callback parameter passing scheme, and made them more "robust" so that they can be changed dynamically without the GS exploding (important with the new correct GSState preservation across open/close).
git-svn-id: http://pcsx2.googlecode.com/svn/branches/GSopen2@1860 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-09-18 19:54:56 +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
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
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
gabest11 3599acc618 GSdx: ffxii fmv works again and even less bogus
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1552 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-22 14:28:14 +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 aa438a6b73 GSdx: game fixes and small optimizations
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1495 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-12 13:46:05 +00:00
gabest11 f24be5c352 GSdx: a few games fixes (one piece grand battle, xenosaga 1, chikyuu boueigun 2)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1469 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-07-05 12:58:59 +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 c1fc72a634 GSdx: small fixes to the last commit
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1426 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-23 12:33:30 +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 df8c611084 GSdx: trying to fix gaps between sprites that may still appear with d3d in native res
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1402 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-06-19 13:03:59 +00:00