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