Commit Graph

232 Commits

Author SHA1 Message Date
Gregory Hainaut cee0fde940 gsdx-tc: improve support of TEXA register
* Greatly reduce the number of clut read (factor 10x)
* Avoid to get wrong TEXA texture in the cache.
* Fix "jump depends on uninitialized variable" Valgrind warning.

Fix #748

I try my best to avoid any breakage of DX but please test it too.
2015-09-11 14:16:11 +02:00
Gregory Hainaut ddc03cbccf gsdx: add a nice enum to replace the hardcoded convert shader 2015-09-08 16:51:24 +02:00
Gregory Hainaut 1ae0fed83b gsdx: fix a regression due to the shader renaming 2015-09-08 16:06:15 +02:00
Gregory Hainaut ca9b5ce11d gsdx-ogl: move depth conversion shader
Add 2 new shaders:
* ps_main12: cast a 16 bit depth to a RGB5A1 color
* ps_main16: cast a a RGB5A1 color to a 16 bit depth

Shader might be used in future commit as it seems Silent Hill uses this
kind of format.

Fix tab/indentation too
2015-09-08 12:41:05 +02:00
Gregory Hainaut d822b6bd1a gsdx-ogl: add some comments for the future 2015-08-08 09:17:06 +02:00
Gregory Hainaut 4a3c145c72 gsdx-ogl: depth support: better support of 16 bits z buffer
Fix issue in socom2
2015-08-01 01:28:41 +02:00
Gregory Hainaut f2c77ffa08 gsdx:tc: detect texture shuffle in previous frame
GoW2 uses the effect at the start of a new frame and therefore need the
state of the previous frame. (Note 1 issue remains)

Ricky need to be tested.
2015-07-26 10:14:07 +02:00
Gregory Hainaut 8be32e4661 gsdx-tc: fix a memory leak when depth isn't fully supported
Fix issue #642
2015-07-12 17:57:42 +02:00
Gregory Hainaut 5f8d3b9e4b gsdx-tc: remains in the memory
avoid a crash with kungfu panda
2015-07-11 14:35:35 +02:00
Gregory Hainaut 5ed45b6806 Merge pull request #644 from PCSX2/improve-texshuffle-detection
Improve texshuffle detection
2015-07-11 09:34:33 +02:00
Gregory Hainaut ec61ad3667 gsdx-tc: Add some code for the future
Partially invalidate RT when there is a write in the middle of it (actually 2 pages below)

Code is not yet enabled because
1/ I want to stabilize latest update
2/ not sure of the impact of the code
3/ maybe it need a more generic version
2015-07-10 22:35:26 +02:00
Gregory Hainaut 6f9a89dcf2 gsdx-debug: print memory usage of all textures pools
It is a bit crude but it allow to see the impact of code and options.
2015-07-10 22:35:26 +02:00
Gregory Hainaut ad86bb5faa gsdx-tc: clear 32 bits state after vsync
Avoid issue on game that uses only 16 bits RT
2015-07-09 23:03:55 +02:00
Gregory Hainaut 95e1cd9ea8 gsdx-tc: don't considerer frame as a 32 bits RT
Frame is always 32 bits but game can reuse it later as a 16 bits RT.

Fix half screen issue with Ricky Ponting Cricket

Unfortunately it triggers texture shuffle wrongly. I hope there is no
regression.
2015-07-04 11:00:32 +02:00
Gregory Hainaut 0a07762f6b gsdx-tc: only track 32 bits fmt if the texture is not a palette fmt
Fix a regression on ricky ponting cricket (texture shuffle was triggered without any valid reason)
2015-07-03 23:04:48 +02:00
Gregory Hainaut c6f026ee68 gsdx-tc: keep 32 bits status when converting from/to depth
Partially fix conan effect
2015-07-03 19:02:44 +02:00
Gregory Hainaut 28815db7cc gsdx: fix depth option 2015-07-02 19:13:38 +02:00
Gregory Hainaut 831c24de51 gsdx-dx: only enable new code when CRC is below FULL level
Code is not ready. It allow to test the new code without a massive
regression
2015-07-01 09:36:54 +02:00
Gregory Hainaut 074881228d gsdx:comment: small explanation of the half offset hack 2015-07-01 09:36:54 +02:00
Gregory Hainaut 6121677aa1 gsdx-tc: use a single shader pass to convert texture in 8 bits format
It might save a couple of fps

Add a define to test the perf if we keep only the blue channel. It brokes
the code in Prince Of Persia that use the Red/Green channel... Maybe the
speed hack :( Or find a way to replace all if with a lookup table

Note: it is only supported on OpenGL currently
2015-07-01 09:36:54 +02:00
Gregory Hainaut 2ecca529d1 gsdx-tc: log dirty target 2015-07-01 09:36:54 +02:00
Gregory Hainaut 2af7dcbda2 gsdx-tc: GPU accelerate 8 bits texture when upscaling is enabled
Code unscale the texture to ease the conversion. Quality is awful (same as before)
but I'm not sure we can support an upscaled texture

Maybe the quality loss is due to the reduction without mipmap

Maybe the best solution will be to add an hack to extract the blue channel
(with texture swizzle), and uses a "full page/screen" spirte instead.
(it would be faster too)

Note: won't be compatible with MSAA (but gl doesn't support it anyway)
2015-07-01 09:36:54 +02:00
Gregory Hainaut 6ca7a802bf gsdx-tc: add a big comment to explain the scaling of src in TC 2015-07-01 09:36:54 +02:00
Gregory Hainaut d29e375f72 gsdx-tc: GPU accelerate 8 bits texture conversion
Only native is supported currently
2015-07-01 09:36:54 +02:00
Gregory Hainaut a8bcc760b4 gsdx-tc: only clean RT in openGL
It is a debug feature for myself
2015-07-01 09:36:54 +02:00
Gregory Hainaut 61a717db14 gsdx-tc: clean the RT in debug build
// In theory new textures contain invalidated data. Still in theory a new target
// must contains the content of the GS memory.
// In practice, TC will wrongly invalidate some RT. For example due to write on the alpha
// channel but colors is still valid. Unfortunately TC doesn't support the upload of data
// in target.
//
// Cleaning the code here will likely break several games. However it might reduce
// the noise in draw call debugging. It is the main reason to enable it on debug build.
//
// From a performance point of view, it might cost a little on big upscaling
// but normally few RT are miss so it must remain reasonable.
2015-07-01 09:36:53 +02:00
Gregory Hainaut 99b03b4632 gsdx-debug: log all write (texture) from the EE
It is verbose but it might help to understand the invalidation of texture
2015-07-01 09:36:53 +02:00
Gregory Hainaut e66aac8ab7 gsdx-hw: add an hidden option to preload the final frame with GS mem data
Game can directly uploads a background or the full image in
"CTRC" buffer. Previous code was a full black screen.

It will also avoid various black screen issue in gs dump.

hidden option: preload_frame_with_gs_data

Note: impact on upscaling was not tested and it's likely broken
2015-07-01 09:36:53 +02:00
Gregory Hainaut 85543db094 gsdx-tc: trace the alpha channel update in TC
Improve the rendering in MGS3 (even if the game is still broken
due to others TC issues)

// Typical bug (MGS3 blue cloud):
// 1/ RT used as 32 bits => alpha channel written
// 2/ RT used as 24 bits => no update of alpha channel
// 3/ Lookup of texture that used alpha channel as index, HasSharedBits will return false
//    because of the previous draw call format
//
// Solution: consider the RT as 32 bits if the alpha was used in the past
2015-07-01 09:36:53 +02:00
Gregory Hainaut 9802ba6621 gsdx-tc: add support of pseudo 8 bits RT conversion
Code is obviously slow but at least it works.

It fixes the blur effect of VP2
2015-07-01 09:36:53 +02:00
Gregory Hainaut 77e718c61f gsdx: disable linear interpolation when converting texture in texture cache
It avoid various upscaling glitches on GS post-processing effect

// 1/ Palette is used to interpret the alpha channel of the RT as an index.
// Star Ocean 3 uses it to emulate a stencil buffer.
// 2/ Z formats are a bad idea to interpolate (discontinuties).
// 3/ 16 bits buffer is used to move data from a channel to another.
//
// I keep linear filtering for standard color even if I'm not sure that it is
// working correctly.
// Indeed, texture is reduced so you need to read all covered pixels (9 in 3x)
// to correctly interpolate the value. Linear interpolation is likely acceptable
// only in 2x scaling
//
// Src texture will still be bilinear interpolated so I'm really not sure
// that we need to do it here too.
//
// Future note: instead to do
// RT 2048x2048 -> T 1024x1024 -> RT 2048x2048
// We can maybe sample directly a bigger texture
// RT 2048x2048 -> T 2048x2048 -> RT 2048x2048
// Pro: better quality. Copy instead of StretchRect (must be faster)
// Cons: consume more memory
//
// In distant future: investigate to reuse the RT directly without any
// copy. Likely a speed boost and memory usage reduction.
2015-07-01 09:36:53 +02:00
Gregory Hainaut 87f54ae0ff gsdx: report error on unsupported case in texture cache
It seems to impacts lots of games that still have issue (VP2, MTG3, PoP)

The PSMT32 format is read a PSMT8. I think we need to convert it as PSMT8H (i.e.
unpack it to have only an alpha channel)
2015-07-01 09:36:53 +02:00
Gregory Hainaut 3b127f663b gsdx-tc: trace the texture format to detect texture shuffling
It fixes games that uses 16 bits RT (like snow engine games)
2015-07-01 09:36:53 +02:00
Gregory Hainaut 42e911c78f gsdx-ogl: mask alpha channel in depth conversion
Might not work if depth is recasted as a rt (we lost the alpha channel)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 6b5a3dedd9 gsdx-debug: add the format in texture cache logging 2015-07-01 09:30:20 +02:00
Gregory Hainaut 7ee3dbd615 gsdx-tc: use the virtual function to check the state
This ways it will be disabled for dx
2015-07-01 09:30:20 +02:00
refractionpcsx2 de189b67a2 GSdx: Add option to toggle Texture Cache Depth support.
- Forced off for DX currently to save fallover.
2015-07-01 09:30:20 +02:00
Gregory Hainaut c925b1d135 gsdx-tc: support GS mem to depth buffer transfer
Please test SMT games

(issue #572)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 58ce7d4bb8 gsdx-ogl: emulate texture shuffle
GS doesn't supports texture shuffle/swizzle so it is emulated in a
complex way.

The idea is to read/write the 32 bits color format as a 16 bit format.
This way, RG (16 lsb bits) or BA (16 msb bits) can be read or written with
square texture that targets pixels 1-8 or pixels 8-16.
However shuffle is limited. For example you can copy the green channel
to either the alpha channel or another green channel.

Note: Partial masking of channel is not yet implemented

V2: improve logging
V3: better support of green channel in shader
V4: improve detection of destination (issue due to rounding)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 2d812deb84 gsdx-tc: Depth and Target are interchangeable on the GS !!!
Extend the texture cache to search Color target in Depth target
2015-07-01 09:30:20 +02:00
Gregory Hainaut 76160505f7 gsdx-tc: add an option to avoid blow up dx :p
texture_cache_depth = 1 (default for openGL)
2015-07-01 09:30:20 +02:00
Gregory Hainaut 74d84aafb5 gsdx-tc: allow to search the depth in the old target list
Yes it is possible on PS2 world
2015-07-01 09:30:20 +02:00
Gregory Hainaut b59a347ad7 gsdx-tc: allow to use depth buffer as input texture 2015-07-01 09:30:20 +02:00
Gregory Hainaut 49516cbbca gsdx-tc: allow to invalidate the depth/target if it is used as target/depth
It is requires when game will uses sometimes an address as a RT sometimes as a depth
2015-07-01 09:30:20 +02:00
Gregory Hainaut 8393ba56d6 gsdx-ogl: rework palette texture handling
Redirect the red channel to alpha channel for 8 bits texture.

It avoid special management in the shader
2015-06-24 19:50:09 +02:00
Gregory Hainaut b44bccec6a gsdx: fix previous commit with a scaling factor 2015-06-18 23:02:40 +02:00
Gregory Hainaut 5bc8f046b2 gsdx: fix snow engine issue in native resolution 2015-06-18 21:21:25 +02:00
Gregory Hainaut 7d124e6a83 gsdx-texture-cache: Improve fix for snow engine game
Instead to hardcode the half-buffer size to 0x140, the new code
compute it.

To avoid regression, I limit the code to big target (>= 1024 pixels)
2015-06-05 09:06:12 +02:00
Gregory Hainaut f81cf360bc Merge pull request #545 from PCSX2/gsdx-half-screen-snow-engine
Gsdx half screen (most of) snow engine games
2015-06-01 11:47:40 +02:00
Gregory Hainaut d301848848 gsdx-ogl: fix paltex on opengl
RT uses as palette must use the alpha channel

Palette texture uses the red channel
2015-05-30 19:01:09 +02:00
Gregory Hainaut 0cb6c37f14 gsdx-tc: add an explanation of the magic number 0x140 2015-05-29 12:27:05 +02:00
refraction 97b237712c gsdx: detect RT size based on fb size and gs output configuration
* It is required for snowbling games
* Targets of Texture cache are dropped.
2015-05-29 12:26:44 +02:00
Gregory Hainaut e5326d1bd2 gsdx-tc: allow to reuse the right part of large RT as source 2015-05-29 12:18:54 +02:00
Gregory Hainaut 7ac533a4d1 gsdx-tc: invalidate half-RT src
snow engines uses the RT as 2 half RT.
2015-05-29 12:18:54 +02:00
refraction 8f54da5fd3 GSDX: Removal of Nvidia hack.
- Hack no longer required as an option as a safe and simple workaround has been discovered which seems to work without modifying any vertices.
2015-05-28 21:41:02 +01:00
Gregory Hainaut 93c0d5a268 gsdx-ogl: add an error message when a RT is reused with a format cast
For example a 32 bits RT could be used as a 16 bits RT.

It is likely the source of various bug in HW renderer
2015-05-26 11:16:49 +02:00
Gregory Hainaut 580d177951 gsdx: improve commit 11708486d8
This time linear filtering is disabled only for the bad draw call
(RT used as a palette texture).
2015-05-25 09:46:51 +02:00
Gregory Hainaut 11708486d8 gsdx: allow to control the filtering of texture cache
When the RT is used as an input texture, we need to rescale it.

Previous behavior was to always uses a linear filtering (more smooth).
Unfortunately it broke some games that expected an exact value like Star Ocean 3

This commit will disable the linear filtering in normal filtering mode (filter = 0
or filter = 2)

This way, shadow of Star Ocean 3 will appear correctly in upscaling (not
100% perfect but can't do better)

Note: SO3 only requires a nearest sampling of the alpha channel but
I don't know the behavior for others games.
2015-05-24 18:59:27 +02:00
Gregory Hainaut 818412ba26 gsdx-debug: fix a crash in trace 2015-05-17 13:05:08 +02:00
Gregory Hainaut b1ea081fc3 gsdx-debug: improve tracing interface
Basically move the format and c_str() in the macro
2015-05-17 13:05:08 +02:00
Gregory Hainaut b8aa5f8f80 gsdx-debug: more trace for the texture cache 2015-05-17 13:05:08 +02:00
Gregory Hainaut 28bb64aae8 gsdx: sed/dr/dRect/ 2015-05-15 20:49:32 +02:00
Gregory Hainaut 445c28fe97 gsdx: sed/sr/sRect/ 2015-05-15 20:47:14 +02:00
Gregory Hainaut d566bb2a23 gsdx: sed /st/sTex/ 2015-05-15 20:45:31 +02:00
Gregory Hainaut 6a9e425308 gsdx: sed /dt/dTex/ 2015-05-15 20:44:15 +02:00
Gregory Hainaut d870188d21 gsdx: sed/o/off/ 2015-05-15 20:40:09 +02:00
Gregory Hainaut 84c3592fbe gsdx-debug: more debug message/group 2015-05-15 16:00:45 +02:00
Gregory Hainaut bd96a73580 gsdx-debug: trace texture cache hit/miss/removal
Actually only a small part but I think it is enough to help debugging
tc issue.
Only enable it on debug because it is quite verbose
2015-05-13 09:01:04 +02:00
Gregory Hainaut 45930ecbf3 gsdx: value was wrongly overwritten
Need a lots of tests to ensure at least no regression on cache behavior

Issue #332
2015-03-17 09:39:50 +01:00
Gregory Hainaut 84f844767c gsdx-ogl: micro optimize PSConstantBuffer cache
Might help to save a cache line on the CPU :)
2014-11-08 21:39:17 +01:00
Gregory Hainaut bd9df9a6ec gsdx: Add some comment on GSTextureCache + schematics
Note: docs/TextureCache.odg was created with libreoffice. Not perfect but give a nice overview
2014-11-08 21:30:14 +01:00
Gregory Hainaut 3a46634f4a gcc: fix a couple of gcc warning (sign compare)
My gosh, they're like rabbit :p
2014-05-06 09:25:00 +02:00
Gregory Hainaut 5087d13de8 gsdx: remove/comment unused variable 2014-05-03 10:18:27 +02:00
refraction 76583f5fe5 GSDX: Fix/Hack for NVIDIA stretch issue on drivers > 320.18 with DirectX 11 when using a custom resolution. You can enable it in the HW Hacks section, let me know if there is a game it doesn't fix.
Slight adjustments to positions in the GUI also (OCD'd the spacing a little :P)

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5796 96395faa-99c1-11dd-bbfe-3dabce05a288
2014-01-05 23:31:26 +00:00
gregory.hainaut fb684df32b pcsx2: fix 4 arrays out of bond
Gsdx: fix a memcpy src/dst overlap + a clang compilation fix



git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5726 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-09-05 20:01:47 +00:00
gregory.hainaut 58cacc3b1c gsdx: use size_t for loop index when it used countof macro
* fix override_GL_ARB_copy_image typo


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5687 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-29 12:02:03 +00:00
gregory.hainaut 40e26648c6 all: gcc warning clean (round 2)
* reorder static initialization list
* Add missing virtual desctrutor to virtual object
* int -> uint/u32/uint32 cast of for loop index
* add a missing return in pxTrySetFocus
* fix size parameter of memset m_clut
* disable missing-field-initializers warning
* disable unused-local-typedefs warning


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5685 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 17:32:37 +00:00
gregory.hainaut 3c7167be50 clean (some) gdb warning: round 1
* use svnrev.h on linux too
* replace sprintf_s with snprintf (hope it still compile on Windows)
* init integer with 0 instead of NULL
* various int -> u32/uint32/uint on for loop index
* remove a couple of unused variable
* init few variable
* disable unused warning results


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5683 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-06-28 10:43:50 +00:00
ramapcsx2 8f9e04dc9d GSdx, SPU2-X: Remove old code and disable a now useless warning.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5559 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-12 18:41:33 +00:00
sudonim1@gmail.com b1536a755f GSDX: Nothing is fixed, the last two revisions did not happen.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5549 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:36:54 +00:00
sudonim1@gmail.com 23cd8fd641 GSDX: Committing pointless extra work for the record before reverting. Everything is terrible.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5548 96395faa-99c1-11dd-bbfe-3dabce05a288
2013-02-08 15:35:28 +00:00
gregory.hainaut e06484adb8 gsdx: update the copyrigh address thank to sed
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5412 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-09-09 18:16:11 +00:00
sudonim1@gmail.com 80ba8ff16a GSDX: Fix splinter cell double agent (and others) regression. Texture cache hits no longer depend on TEXA ever, GPU load however is increased. The last regression I think?
So, in the end I only properly understood the old code after finding all the problems with my version.  I'm not sure whether any changes I've made are improvements any more, I'll need to review it with what I've learned in mind.  This effort might've been a big waste of time.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5329 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 00:57:44 +00:00
sudonim1@gmail.com f5f5074172 GSDX: Put the sprite hack back in because apparently it wasn't fixed.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5312 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:12:01 +00:00
sudonim1@gmail.com 0d9eca8668 88GSDX: Removed the "sprite hack" as it should be obsolete, fixed the vertex shader selector key function (the pixel shader was broken in the same way but with the "sprite hack" removed it doesn't matter now).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5310 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 00:35:42 +00:00
sudonim1@gmail.com c755435eeb GSDX: Do not interpret TEXA while filling the gsdx internal temporary CLUT buffer used in texture creation and updating (I didn't realise this was happening and it's incompatible with my approach). Probably generally fixes stuff in combination with the other changes in palette handling, at the very least I know it fixes lines in sprites in Ar Tonelico 2 (currently needs the "sprite hack"), a bug which I spent a long time trying to fix after it was pointed out to me before.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5309 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 00:12:35 +00:00
sudonim1@gmail.com e13c58812d GSDX: Add a comment explaining something which doesn't matter.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5304 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 18:39:18 +00:00
sudonim1@gmail.com 323ac81a7d GSDX: use a GPU side palette for high byte indexed format copies from framebuffers again (including all the buggy cases because of the revert). I think this is how it used to be but I've lost track a little.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5303 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 18:26:42 +00:00
sudonim1@gmail.com c9194b185a GSDX: Ignore this commit, just deleting lines of code.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5302 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 17:54:09 +00:00
sudonim1@gmail.com a617a6c983 GSDX: partially revert texture cache changes for now. Compat probably back to normal, some glitchy textures are probably differently glitchy, the other changes might improve some games, performance probably much the same as ever.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5300 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 14:33:34 +00:00
sudonim1@gmail.com 14acb81553 GSDX: CT32 -> T8H, need to use a 32 bit D3D format for the texture so that they have compatible D3D types for the copy (don't have to if using StretchRect but might as well).
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5299 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 14:07:03 +00:00
sudonim1@gmail.com 1ed80f320e GSDX: Clear Target::m_valid after a full Read() for performance (and accuracy?) Probably doesn't match the original intent but it matches the current usage.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5293 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 18:14:58 +00:00
sudonim1@gmail.com 6bb9339223 GSDX: (New bug?) If "8 bit textures" is disabled format conversion has already happened and we need PS_FMT=0 in the shader for indexed textures.
GSDX: (Old bug) When looking up a texture in the cache, the check didn't take into account CLUT formats, nor did it skip this check when "8 bit textures" is enabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5292 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 17:44:24 +00:00
sudonim1@gmail.com b722dfd013 GSDX: Added a compatibility check to the framebuffer handling for the texture cache and made it preferred and added a writeback as a fallback. Compat should be back to normal?
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5288 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 10:57:32 +00:00
sudonim1@gmail.com e8257df98d GSDX: made the paletted texture handling in the cache a bit more sensible to my eyes and implemented interpolation of palette entries for pixels in paletted textures when using the 8 bit textures option. Regressions in some games I think, such as Virtual On (which is very broken anyway), need to investigate what made them work (to some degree) before. Seems to change some performance characteristics favourably to my surprise, but I might just be bad at remembering framerates.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5287 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 03:27:16 +00:00
sudonim1@gmail.com 17f28b24b3 GSDX: Prodded some offensive code, this isn't meant to affect emulation of any games and it probably won't.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5283 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 00:00:18 +00:00
ramapcsx2 f9e4ba405c Gsdx:
Change a texture cache hack to fix half the flickering FMV games. 
It could have issues though, or randomly fix other stuff. Please test :p

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5130 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-15 16:16:51 +00:00
ramapcsx2 1595136a9d GSdx:
Another refinement to the Wild Arms hack by KrossX.
The hack now only applies to one kind of geometry (sent using  the unpacked UV handler).
This works nicer in Wild Arms as it fixes "jumpy" characters.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5124 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-08 17:18:22 +00:00
ramapcsx2 b25aec19c1 GSdx:
Adding KrossX's Wild Arms text alignment hack to the new dialog box. This hack is actually very interesting for a number of games. It should work well in cases where game designers adjusted everything pixel perfect for the GS, that usually breaks with upscaling. 
It should be generalized and renamed later.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5120 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-06 21:36:59 +00:00
ramapcsx2 d2665e9bc4 GSdx: The "enable hacks" checkbox works to toggle all hacks.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5118 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-03-06 20:01:27 +00:00