sudonim1@gmail.com
5f28d08286
GSDX: New interpretation of destination alpha testing to improve effect rendering as an optional hack. Known to make shadows in the persona games (and thus probably shin megami tensei) better, not sure what else it accomplishes without destroying other effects.
...
Now, a note about the actual issue. Destination alpha tests can be used on the GS as one of the workarounds for a lack of stencils. If you use a destination alpha test and leave alpha writing on, the GS will only write each pixel until you write an alpha value which would fail the test. This works to a point in gsdx without further hacking, but that point is when within a single batch of primitives the same pixels are written multiple times and the destination alpha test is expected to update. I did experimentally make a tight loop updating the stencil with a draw then drawing for one primitive at a time, but it was prohibitively slow (over 80% fps loss, you really don't want to know).
Destination alpha testing cannot be directly implemented in D3D9 or D3D10, but (probably) can in D3D11 (with a speed hit for sure, but I doubt it'll be 80%). I'll be getting a new graphics card and looking into that.
And before some idiot says it, the answer is no. OpenGL does not help.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5346 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-24 02:20:07 +00:00
sudonim1@gmail.com
96c8c13ead
GSDX: don't unnecessarily create and use a render target for the DATE setup stage, D3D10+ supports not having a render target set. (D3D9 doesn't, so that's untouched.)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5345 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 22:55:06 +00:00
sudonim1@gmail.com
8a20e5af90
GSDX: Quick ugly fix (major work on this function might be done soon) for a bug with colclamp I noticed. Unknown impact, might make some effects work.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5344 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 20:24:09 +00:00
sudonim1@gmail.com
8a8d3c67d4
GSDX: Removed the collapsing of ge/g and le/l alpha tests in the shader code and the supporting code in the C++. This was presumably intended to reduce the number of shaders needed but a) this was never actually implemented, b) a single developer will generally not mix the functionally equivalent (with a different AREF) greater/less than with greater/less than or equal to in GS techniques, c) it really wouldn't make much of a difference to performance anyway and d) it would make an experimental change I'm working with more complicated and slower.
...
No change in functionality expected.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5343 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-23 16:39:56 +00:00
sudonim1@gmail.com
1f8c4ddc22
GSDx: Just slapping some consts on methods I needed to use with const references in testing.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5342 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-21 03:45:40 +00:00
sudonim1@gmail.com
546adf52c9
GSDx: ATI strikes again. Workaround for ATI sampler bug, the same bug I found in palette sampling earlier.
...
This may make gsdx slightly slower for everyone (I don't know an easy way to restrict this to affected systems), especially if using 8-bit textures.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5341 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-19 20:40:42 +00:00
ramapcsx2
180b57b9cf
GSdx: 2 more crcs for GoW and GoW2.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5336 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-07-07 20:46:03 +00:00
ramapcsx2
1e70895118
GSdx: Removed the CRC hack for Drakengard 2 as per issue 1303.
...
Thanks for reporting.
(Also replaced broken Chinese characters in comments.)
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5330 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-27 16:06:25 +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
shadowladyngemu
540d098794
GameDB: Status updates, games that require new gamefixes or don't anymore, etc etc...
...
GSdx Hackfixes: Lego Batman changed to aggressive list, doesn't really fix ingame and breaks the title screens.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5328 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-26 11:57:44 +00:00
gregory.hainaut
3af930c555
gsdx ogl: nvidia compiler is not happy with implicit cast...
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5322 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-21 17:31:53 +00:00
avihal
3b2944fe45
GSdx: Disable CRC hacks: Yet cleaner, better and more generic. Thx to sudonim.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5321 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 20:45:24 +00:00
avihal
ae9c7791c2
GSdx: Disable CRC hacks - cleanups:
...
- Removed the #define DISABLE_CRC_HACKS (since it's at the GUI now).
- reverted r5315 and r5319 (which prevented gs dumps to have a correct CRC).
- Restored the functionality of these revisions via simple skip of the other hack calls.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5320 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 18:51:30 +00:00
gregory.hainaut
35d381cd11
linux compilation fix (introduce in r5306)
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5319 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 18:00:08 +00:00
ramapcsx2
48284746d6
GSdx: Better CRC disable value, using -2.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5318 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 13:23:35 +00:00
sudonim1@gmail.com
179246a4eb
SPU2-X: Tweak the quick fix in the previous rev a little: also select the default device if a GUID is specified but not present in the enumeration.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5317 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:28:13 +00:00
sudonim1@gmail.com
aa54e28add
SPU2-X: Quick fix for an issue with dsound configuration dialog where if the default device is selected, nothing is initially selected in the combo box and on writing the configuration uninitialised memory is used for the GUID.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5316 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-20 12:21:44 +00:00
ramapcsx2
ef0377b0e9
GSdx: Fully disable CRC based hacks when the option is set (by setting the CRC to 0). Some GSRendererHW::OI_* functions were still active before.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5315 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 16:10:24 +00:00
sudonim1@gmail.com
f2ca45ad46
GSDX: Put palette checking for alpha min/max calculation back in because of gabest's concerns about the software renderer's performance. Added a one line fix instead (m_clut.Read32(TEX0, TEXA))
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5313 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:57:13 +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
21522e71b2
GSDX: Skip checking each palette entry's expanded alpha when deciding whether a texture is fully opaque. Textures are probably almost never determined to be opaque by this and doing it is problematic. (Skipping the check might even be a performance gain for hardware, you never know.)
...
Also remove some (probably mangled) chinese comments from the cutie merge.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5311 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-19 01:02:52 +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
gregory.hainaut
27a4110256
zzogl glsl: remove a bad optimization that lost track of some textures. Fix potential black-screen
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5308 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 22:13:22 +00:00
gregory.hainaut
d72a64b9cf
zzogl: autocompletion typo. Interlace texture was attached to the wrong shader program
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5307 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 21:38:41 +00:00
refraction
ff6b79085d
Null Plugins: Now report an SVN revision as well as a version.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5306 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-18 21:16:25 +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
0e9a4c1663
GSDX: Missed this in d3d9 code while fiddling with the shader. Can't be bothered to do the maths to determine whether doing this twice would have a visible effect.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5301 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-17 17:49:50 +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
avihal
999ff5c457
GSdx: Add GUI for disabling all CRC hacks (for testing purposes only, disabled by default). The new checkbox is at the "HW Hacks" section, and is only relevant when the global "Enable HW Hacks" box is checked.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5294 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 23:53:08 +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
0bf64fdffd
GSDX: fixed an oversight in my shader change gregory caught which removed alpha expansion for the direct sampling case, should probably fix the remaining bugs. Also set the texture sampler to point sampling when the shader will be performing its own bilinear filtering (effect on games unknown but should be an improvement).
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5291 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 15:36:10 +00:00
gregory.hainaut
b8b451340c
zzogl: use the EXT version of fbo (fix the build on windows)
...
gsdx:
* add some parenthesis to shup up very verbose gcc warning
* adapt ogl to latest sudonim change
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5290 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-13 10:43:04 +00:00
gregory.hainaut
3b22f0fb0c
zzogl glsl4:
...
* properly delete program and vertex array. Avoid a crash on plugin reload
* reset shader state. Avoid to reuse invalid data on plugin reload
gsdx:
* add an hack to unattach/attach the gl context from different thread. Help to solve some crashes. The best will be to move gpu operation out of gsreadfifo but it would need more works
* implement logz for test purpose (don't seem to help)
gsdx replay:
* use default xdg location
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5289 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-12 18:14:01 +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
8ab8b4592d
GSDX: Err, and another file, I should be asleep.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5286 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:57:28 +00:00
sudonim1@gmail.com
adfa7f1579
GSDX: Forgot a file.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5285 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:56:44 +00:00
sudonim1@gmail.com
08d8287d3e
GSDX: Added some exceptions on shader compilation failure (with handlers in entry points because people seem to like the plugin struggling on even when nothing works any more) because I am not keen crashing Windows via my graphics driver.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5284 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-11 02:31:44 +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
sudonim1@gmail.com
1711a26bbb
GSDX: put all paletted texture samples through the same transformation from the UNORM 0-1 256 step mapping to a 0.5/256-255.5/256 mapping after seeing potential bugs with FMT_4HL and changed FMT_4HH because it seemed to be completely wrong. Nothing but 8 bit textures tested because I can't find a single game which uses 4 bit textures.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5281 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-10 16:04:47 +00:00
sudonim1@gmail.com
4f79c4d1cb
GSDX: Fixed my inability to remember or look up (I swear that page was hiding) coordinate systems in r5279 and assumed that it was a rounding error instead. The symptom was that palette indices above around 250 were being rounded up to the next palette entry causing visible glitches (only in D3D10 for some reason). Changed the code to keep the fractional part after multiplication by 256 around 0.5 and the steps around 1.0. Should be very safe against small errors.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5280 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-09 08:03:27 +00:00
sudonim1@gmail.com
1df5b7ef7a
GSDX: Probably fix D3D10 and maybe D3D9 (might be working anyway but I think I have it addressing texel centres now) palette lookups. I noticed that this was broken in D3D10 while fixing the Realta Nua issue in r5273.
...
Explanation, because this gives me a headache and this might save someone else one (or I might be wrong and they might see why): in D3D10, 0.0 points to the centre of the leftmost texel and 1.0 points one texel to the right of the rightmost texel, so to map a UNORM uniformly across a texel we need to multiply the input by (w-1)/w. In D3D9 0.0 points to the left edge of the leftmost texel and 1.0 to the right edge of the rightmost texel so after the multiplication we add 1/2w.
Actual texture sampling is probably not right for at least one of D3D9 and D3D10, but this headache is killing me.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5279 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-08 21:36:44 +00:00
gregory.hainaut
b534fcc1bc
zzogl:
...
* add a script to run cg compiler on glsl file:
+ handy to check the syntax
+ output the asm of the shader
- unfortunately don't support latest glsl construct but better than nothing
* really delete resources before context destruction
* wanted to play with opengl3 timer for profiling but not conclusive, just keeping code around for future use
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5278 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-08 18:14:47 +00:00
avihal
faa463b95c
GSdx: CRC hacks: ICO: moved the cutie extra hack from r5214 to "Aggressive mode".
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5276 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 15:22:12 +00:00
ramapcsx2
a74b8e2c7f
GSdx: Removed Rogue Galaxy from the GSdx crc hacks. Fixes issue 1290.
...
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5275 96395faa-99c1-11dd-bbfe-3dabce05a288
2012-06-07 11:53:53 +00:00