Ced2911 and Henrik Rydgard
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
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
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
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
edd760fe39
Oops, forgot a cast.
2014-07-03 01:30:08 -07:00
Unknown W. Brackets
61ea20875c
Fix shader blending on ARM GLES3 devices.
...
We currently ban them from GLES3, and this was interacting with that
incorrectly. Should we still ban them, though?
2014-07-03 00:15:15 -07:00
Unknown W. Brackets
e364de42cb
Ensure #extension is before non-# tokens.
...
As required by Tegra devices from reporting.
2014-07-02 23:21:52 -07:00
Unknown W. Brackets
c379169efc
Try to fix colormasking on GLES3 devices.
...
Not tested, though, since I don't have one... from reporting.
2014-07-02 23:15:02 -07:00
Unknown W. Brackets
6e751f8092
Use shader blend for min/max when unsupported.
2014-06-17 00:20:06 -07:00
Unknown W. Brackets
17f5acd8b0
Support more src alpha doubling modes.
...
These prevent the need for more blits.
2014-06-17 00:20:05 -07:00
Unknown W. Brackets
143ad92afd
Convert blending to doubling in more cases.
...
We're not doubling the alpha, so all these cases are safe regardless of
the alpha value.
2014-06-17 00:20:04 -07:00
Unknown W. Brackets
256436b594
Support fixed/fixed blending without a blit.
2014-06-17 00:20:04 -07:00
Unknown W. Brackets
d1357e5bc8
Fix another mistake in color test masking.
2014-06-16 02:12:08 -07:00
Unknown W. Brackets
a28354f072
Fix dumb typo.
2014-06-16 01:42:19 -07:00
Unknown W. Brackets
982f0416a2
Pre-mask alphatest value as a small optimization.
...
Might cause small behavior difference on gles2 (without bitwise ops.)
2014-06-16 00:35:30 -07:00
Unknown W. Brackets
2038bc5527
Support alpha / color test masks on desktop/gles3.
...
Won't work on GLES 2, though...
2014-06-16 00:33:48 -07:00
Henrik Rydgård
036cde7768
Merge pull request #6313 from unknownbrackets/gpu-minor
...
Implement in-shader blending on gles2 / gl2
2014-06-14 09:21:30 +02:00
Unknown W. Brackets
444128dcdd
Support NEVER alpha/color tests.
2014-06-13 23:44:40 -07:00
Unknown W. Brackets
1d9f7b04fc
Implement in-shader blending on gles2 / gl2.
...
I'm sure it'll be slow, though...
2014-06-13 23:42:59 -07:00
Henrik Rydgard
3e97713d16
Revert "Remove option" (disable alpha test)
...
Fixes issue #6286 .
This reverts commit d2ce635bbf .
2014-06-10 23:13:42 +02:00
Henrik Rydgard
34b5a1c2f3
Disable precision qualifiers on desktop GL
2014-06-10 22:44:53 +02:00
Unknown W. Brackets
b163ab9203
Use an extra shader id bit to skip offsetting.
...
Since the vast majority of the time it will be 0.
2014-06-08 14:28:18 -07:00
Unknown W. Brackets
865941a66d
Ignore needShaderTexClamp when not texmapping.
2014-06-08 14:27:57 -07:00
Unknown W. Brackets
acab898be0
Keep track of x/y offset for render-to-tex.
...
Fixes intro in Valkyrie Profile now that we're wrapping correctly.
2014-06-08 14:27:05 -07:00
Unknown W. Brackets
ed39bb7a9c
When projecting textures, flip V in frag shader.
...
Slower, but this way we actually project correctly.
2014-06-07 19:32:19 -07:00
Unknown W. Brackets
da438b7c68
Fix clamping to the correct texel.
...
This fixes things when edges bleed in from a larger framebuffer. We need
to clamp to the internal texels of the range.
2014-06-07 19:30:46 -07:00
Unknown W. Brackets
33b4cc2bcc
Apply clamp and wrap to tex projection as well.
...
Not sure if this is the correct method or not, since it doesn't really
work properly right now.
2014-06-07 14:19:53 -07:00
Unknown W. Brackets
cc841bbe4c
Apply tex wrap/clamp in shader for render-to-tex.
...
Fixes graphical artifacts in Wild Arms XF (which depends on how you get
there, because it's based on the size of the framebuffer.)
2014-06-07 13:13:58 -07:00
Henrik Rydgard
a64fe6324a
Remove report I don't think we need anymore
2014-06-05 21:18:08 +02:00
Unknown W. Brackets
4461c7e3c4
Oops, remove an old wrong comment.
2014-05-31 22:07:43 -07:00
Unknown W. Brackets
766968e942
Don't use shader blending without buffers.
...
Ugh, making ComputeFragmentShaderID() slower again...
2014-05-30 09:01:22 -07:00
Unknown W. Brackets
fce7d8c697
Ignore the funcs for min/max/absdiff.
...
Seems from reports that they are indeed ignored, just wanted to verify.
2014-05-27 01:45:21 -07:00
Unknown W. Brackets
0eae30dddb
Set a bit to account for fixa/fixb/etc. logic.
2014-05-27 01:45:20 -07:00
Unknown W. Brackets
b8a2410934
Oops, typo.
2014-05-27 01:45:19 -07:00
Unknown W. Brackets
41ca303bee
Skip a few more fixa/fixb combos.
2014-05-27 01:45:18 -07:00
Unknown W. Brackets
a67327759f
Double using multiply not add, should be fine.
2014-05-27 01:45:17 -07:00
Unknown W. Brackets
4b978ed6f9
Apply unsupported blending modes in the shader.
...
This handles unsupported fixed color combinations, alpha doubling, etc.
Where possible, tries to avoid it - it means using a blit (without the
framebuffer fetch extension), which can slow things down a lot with tons
of drawcalls.
2014-05-27 01:45:17 -07:00
Unknown W. Brackets
99458d7797
Avoid forcing nearest/disabling linear if possible.
...
If we know that the test is trivially true, we don't need to worry about
the test. May help #4405 .
2014-05-15 22:38:44 -07:00
Unknown W. Brackets
f660c04983
Optimize double alpha blending for 1/0 textures.
...
If the blend is 2*a / 1-a, and the alpha is either 1 or 0, we can still
use color doubling instead. Fixes #3379 (Persona 2.)
2014-05-11 14:17:19 -07:00
Henrik Rydgard
cf4887ecdd
Update native to detect the EXT and NV extensions separately. Only look at the NV one.
2014-04-18 19:30:10 +02:00
Henrik Rydgård
45246ad9d3
Merge pull request #5891 from raven02/kill-alpha
...
Remove 'DisableAlphaTest' option
2014-04-15 22:00:18 +02:00
raven02
d2ce635bbf
Remove option
2014-04-16 03:57:57 +08:00
raven02
cd024e88e8
Add #extension GL_EXT_shader_framebuffer_fetch : require
2014-04-14 19:55:34 +08:00
raven02
a9d7be1eab
Should be id0
2014-04-13 16:13:59 +08:00