Commit graph

2880 commits

Author SHA1 Message Date
Henrik Rydgard
dcd8753ee1 Cherry-pick a tiny part of cf41d2af29633146e5b07c8851382efe72491091 2014-08-24 09:56:01 +02:00
Ced2911
d4adc3abb8 [dx9] don't do alpha test in pixel shader, use state mapping
hrydgard: Cleaned up a bit, disabled by default

Conflicts:
	GPU/Directx9/TextureCacheDX9.cpp
2014-08-24 09:52:34 +02:00
Henrik Rydgård
5d836bfa5a Merge pull request #6765 from hrydgard/thin3d
Switch UI drawing from GL to Thin3D. This activates the D3D9 path as well.
2014-08-23 10:52:21 +02:00
Henrik Rydgard
1556234825 Bit more d3d stuff. Can't get depth right, pretty sure it's the projection matrix calc. 2014-08-23 01:52:46 +02:00
Henrik Rydgard
a758917919 D3d cleanups and improvements 2014-08-22 22:16:46 +02:00
Henrik Rydgard
00d5793f7d D3D9: Don't crash on bad vertex formats. 2014-08-22 21:27:27 +02:00
Henrik Rydgard
e2ecbb7a4d Convert more UI code to Thin3D 2014-08-22 20:55:18 +02:00
Henrik Rydgard
e539c7009f Hook up DX9 backend. Not really working though, it seems. 2014-08-22 20:55:12 +02:00
Henrik Rydgård
f8a4236d58 Merge pull request #6679 from unknownbrackets/gpu-blend
Handle doubled alpha blending using premultiplication
2014-08-22 10:06:24 +02:00
Henrik Rydgård
d52c87d82c Merge pull request #6722 from sum2012/wwe
check for duplicated stack addresses by JimLee168
2014-08-20 16:34:02 +02:00
Unknown W. Brackets
1e057a76b5 Convert all CLUT entries ever loaded.
Some games reuse previously loaded bytes, like World Neverland.  We
displayed bad colors in these cases when we don't convert all the entries.

Technically, this means we're hashing less than used in these cases, but if
we hash more we will get lots of false cache misses.

Fixes #6752.
2014-08-19 22:31:09 -07:00
Unknown W. Brackets
7f61da2e5a Add a hack for Silent Hill games.
Either way has different problems, but it sounds like this will work
better for Silent Hill.  Probably still rendering wrong, unfortunately.
2014-08-18 23:20:49 -07:00
Unknown W. Brackets
a43c3771a3 More correctly blend when hitting the frame cap.
If we hit too many blits per frame, fall back correctly in the shader.
2014-08-18 23:20:48 -07:00
Unknown W. Brackets
422db25277 Optimize fixed color blending that isn't blending.
Gods Eater Burst uses this, for example.
2014-08-18 23:20:48 -07:00
Unknown W. Brackets
b79e4d22b8 Improve a possible obscure blend mode.
Seems like this would be likely to get overlap problems.
2014-08-18 23:20:47 -07:00
Unknown W. Brackets
0904085eb5 Avoid using fbo copies for the common 2a + 1-2a.
We won't even get it right that often since the copy doesn't deal with
overlap properly.
2014-08-18 23:20:47 -07:00
Unknown W. Brackets
5d1b1ab547 Dirty the fixed color when premultiplying. 2014-08-18 23:20:46 -07:00
Unknown W. Brackets
a41333c012 Avoid premultiplying easy fixed colors. 2014-08-18 23:20:46 -07:00
Unknown W. Brackets
24a0dd12ef Avoid recalculating replaceBlend so many times. 2014-08-18 23:20:45 -07:00
Unknown W. Brackets
44620c92ed Premultiply for doubled alpha blending if possible.
This makes the effect more accurate where the values were being clamped
before.  Some obscure methods of blending may be slower.
2014-08-18 23:20:45 -07:00
Henrik Rydgård
d234ab03c6 Merge pull request #6696 from LunaMoo/master
Add Buffer Scalling Filter option
2014-08-19 07:55:45 +02:00
Henrik Rydgård
671b7c351a Merge pull request #6732 from neobrain/master
Math3D: Change the vector swizzlers to return const objects.
2014-08-19 07:54:54 +02:00
sum2012
d671675027 fix bracing 2014-08-19 07:04:36 +08:00
Unknown W. Brackets
dc09875eca Refactor s8/s16 to float conversion.
It's pretty much all done the same way.  Note that normals have always
been a little inconsistent between 127/128 and 32767/32768.  But it's
probably not causing a major impact...
2014-08-18 00:47:50 -07:00
Unknown W. Brackets
385df1c54e Force positions to scale by 128/32768 as psp does.
This makes everything use floats for positions.  On some hardware/drivers,
this may be faster.  On some it may be slower.  We'll need testing to see
the performance impact.

Fixes Final Fantasy 4's pos misalignments, and probably others (like
Tekken 5 I suspect.)
2014-08-17 14:31:49 -07:00
Unknown W. Brackets
147eb92c95 Fix USE_BONE_ARRAY (currently disabled.) 2014-08-17 10:56:30 -07:00
Tony Wasserka
d09b9fa6a1 Math3D: Change the vector swizzlers to return const objects.
Otherwise, people might be tempted to do things like "some_vec4.xyz() = some_vec3", which compiles fine but does not do the expected thing because xyz() does not return references.
2014-08-17 18:39:02 +02:00
sum2012
5ac70026c7 Fix save status
Rename u32_le stackAddr to u32
2014-08-17 16:52:06 +08:00
JimLee168
8099281928 check for duplicated stack addresses
Based on https://code.google.com/p/jpcsp/source/detail?r=3569

Fix WWE SmackDown! vs. RAW 2006
2014-08-13 21:28:22 +08:00
Luna
62a1023615 Add "Screen Scaling Filter" option 2014-08-08 20:51:15 +02:00
The Dax
ee9eb00656 One last buildfix (please correct if GL_FUNC_ADD is wrong, I just wanted buildbot to work again). https://github.com/hrydgard/ppsspp/pull/6679 should replace this soon. 2014-08-05 00:34:36 -04:00
Unknown W. Brackets
cde9746dab Buildfix. 2014-08-04 21:09:58 -07:00
Unknown W. Brackets
3008b4f8a8 Also do it here, although may be removed soon. 2014-08-04 19:33:58 -07:00
Unknown W. Brackets
8d6a5fd694 Use correct stencil values with non-add blending.
Otherwise, we get the min/max/etc. value instead.
2014-08-04 19:16:10 -07:00
Unknown W. Brackets
0279aa154c Use glStencilMask() to partially simulate amask.
Alpha won't be correct, though.
2014-08-03 21:48:18 -07:00
Unknown W. Brackets
3bf88a3c9a Disable tests and etc. when destroying framebufs.
Fixes #6678.  May fix problems loading savestates as well.
2014-08-03 18:45:36 -07:00
Unknown W. Brackets
9844c6e8cc Create the stencil texture after the temp fbo.
Otherwise, we'll bind the temp fbo as a texture while creating it.
Somehow my NVIDIA driver was making this work anyway?

Fixes #6611.
2014-07-22 22:36:38 -07:00
Henrik Rydgard
c8ac26e502 Apparently a 1 pixel margin works around Assassin's Creed buffer overlap misdetection
(while still keeping BOF working).

Should take care of #6599.
2014-07-21 20:00:25 +02:00
The Dax
8a78f5e814 Pause rendering when minimized, when appropriate (hopefully? This is sort of hard to test.). 2014-07-21 10:30:51 +02:00
Unknown W. Brackets
bf01fd2185 Try to avoid false reporting of depthbuf reuse. 2014-07-13 11:59:45 -07:00
Unknown W. Brackets
d80d5beb71 Stop reporting blits when render mode is swapped. 2014-07-09 23:40:29 -07:00
Unknown W. Brackets
f553b632be Avoid a texture offset if framebuf attach fails.
But, I'm not sure in what case this could happen.
2014-07-09 08:22:57 -07:00
The Dax
97b467683a Don't crash when framebuffer is a nullptr. 2014-07-09 06:11:41 -04:00
Unknown W. Brackets
4a8d52ab1a Add a config option for the slow framebuf effects.
Like cluts, blitting, etc.  At higher render resolutions these are
expensive, and on some mobile devices they may be too much.

Of course, they're only used when needed so this is a speedhack.
2014-07-08 23:57:27 -07:00
Unknown W. Brackets
81e6f93be4 Check for access to offset framebuffers better.
Even if the height of the framebuffer doesn't exactly match the offset.
Fixes #2759 again.
2014-07-06 11:52:00 -07:00
Unknown W. Brackets
be76846679 When applying the Danganronpa hack, force 5551.
This prevents dithering from happening during the blit, and since
dithering is off during drawing, allows the colors to be correct on some
devices which always dither during blits.
2014-07-05 00:49:30 -07:00
Unknown W. Brackets
8ab33795b3 Delete temporary/blitting FBOs on device lost.
Fixes issues when the device goes to sleep with Danganronpa, block
transfers, etc.
2014-07-04 23:27:12 -07:00
Unknown W. Brackets
4cb8c414b0 Use the CPU for download on non-NVIDIA cards.
Fixes #6494.
2014-07-04 18:04:32 -07:00
Unknown W. Brackets
3a2d1ac28e Correct async packing alignment.
Only matters if a framebuffer width is not a multiple of 4, which might
not happen anyway.
2014-07-04 14:10:56 -07:00
Unknown W. Brackets
6a4269b1d0 Disable dithering (which affects pixel download.)
Fixes #6494.
2014-07-04 14:10:20 -07:00