Commit Graph
226 Commits
Author SHA1 Message Date
Unknown W. Brackets e1df8fc45f Centralize sampling params and test optimizations. 2015-09-13 06:38:07 -07:00
Unknown W. Brackets 764539f814 Clean up GLES logic used in shader gen. 2015-09-05 16:44:17 -07:00
Henrik Rydgard 0237b84efd Reduce use of #ifdef USING_GLES2 some more 2015-09-05 23:09:06 +02:00
Henrik Rydgard f524049277 Move more GPU feature checks upfront. Re-check when exiting settings menu. 2015-09-05 21:23:58 +02:00
Henrik Rydgard a71be3f75f Start moving GPU feature compatibility decisions to startup
(and a single, cache-friendly flag field)
2015-09-05 19:58:47 +02:00
Henrik Rydgard b5f7d9346f Minor cleanups in GPU 2015-07-29 13:08:02 +02:00
Unknown W. Brackets e45daac41c Fix a dumb mistake for shader framebuf fetch. 2015-03-14 00:14:59 -07:00
Henrik Rydgård 33b291a36e Merge pull request #7567 from unknownbrackets/gpu-blend
Use framebuffer fetch more and on more devices
2015-03-09 22:24:23 +01:00
Henrik Rydgård 9db4c5f34d Merge pull request #7573 from unknownbrackets/gpu-minor
Small optimizations to software transform
2015-03-09 09:59:45 +01:00
Unknown W. Brackets f0676b0c85 Optimize color tests against zero.
They seem to be somewhat common.  Speeds up Tales of Phantasia X a bit.
2015-03-08 19:08:21 -07:00
Unknown W. Brackets cf7a4ab2cf Avoid shader id data that doesn't change shader.
This may reduce shader switches, or more likely at least total # of
shaders, when alpha test settings are changed but alpha test is not
enabled.
2015-03-08 18:28:59 -07:00
Unknown W. Brackets 39cb74a8d3 Simplify transform in throughmode/sw (rectangles.)
This should make it a bit faster, a bit less work.
2015-03-08 13:12:13 -07:00
Unknown W. Brackets 39347efda4 Fix shader blending on ARM devices, oops. 2015-03-08 00:12:29 -08:00
Unknown W. Brackets eb349a1978 Make sure not to try multiple shader fetch exts. 2015-03-07 22:31:55 -08:00
Unknown W. Brackets 08a1bb8796 Add support for ARM_shader_framebuffer_fetch. 2015-03-07 16:11:43 -08:00
Unknown W. Brackets 2344760018 Use framebuffer fetch for more accurate blending.
On devices which support it, framebuffer fetch should give us more correct
blending than copying fbos or using a fallback (such as doubling which may
clamp.)

Not actually tested on any supported device.
2015-03-07 12:09:27 -08:00
Unknown W. Brackets 9c3ccc97a2 Support EXT_shader_framebuffer_fetch.
We only supported NV_ before.  Not tested on any supporting device, but
this is primarily found on PowerVR devices.  This may allow them to
perform effects (like min/max/etc.) more accurately and quicker.
2015-03-07 12:07:53 -08:00
Henrik Rydgard d9e543fdd2 Reduce PowerVR blockiness problems on older GPU revisions. #7153 #7150 2014-12-15 01:16:07 +01:00
Henrik Rydgard f424bf73ae GLES: Implement a custom modulo function for PowerVR. Fixes blockiness, see #7153 and #7150 2014-12-14 20:59:21 +01:00
Henrik Rydgard b4b7cd0722 GLES: Merge the two ShaderID classes as they are identical.
I don't expect the number of bits required to grow or shrink massively for either type of shader in this backend.
2014-12-14 19:24:11 +01:00
Henrik Rydgard ff68e32f88 Try to fix flat/smooth shade mode issue (caused shader mismatches) 2014-12-02 01:13:26 +01:00
Henrik Rydgard da1352c924 Don't bother specifying smooth shading, it's the default. 2014-12-02 00:57:51 +01:00
xebra f032936575 Fix flat shading for unsupported hardware. 2014-12-01 19:16:20 +09:00
xebra 34fe8300ab Support flat shading. 2014-11-28 18:59:14 +09:00
Unknown W. Brackets c88b66b308 d3d9: Emulate some logic ops with blending.
This makes Brave Story's intro visible.  Also add for GLES2/GLES3, but
doesn't seem to work on GLES2.
2014-09-23 21:13:47 -07:00
Unknown W. Brackets 6e34fe1c4b d3d9: Fix fbo tex clamp (usually shadows.) 2014-09-21 11:07:02 -07:00
Unknown W. Brackets 9af40cb14f d3d: Update the texture cache to mostly match.
Now we can reduce the differences down.
2014-09-09 00:53:01 -07:00
Unknown W. Brackets 04147827ee Account for texel offsets in the frag test lookup.
Darn, thought this wouldn't be necessary but it is is for 1/255 and other
values.

Without cache:
PowerVR: temp, add, mul, fract, mul, compare
Other: mul, add, floor, compare

With cache: mul, add, texture lookup, compare
2014-09-08 19:04:44 -07:00
Unknown W. Brackets 76d5f67796 Arg, fix color testing from frag test cache. 2014-09-07 23:21:22 -07:00
Henrik Rydgård 1985e6db9a Merge pull request #6853 from unknownbrackets/testcache
Cache fragment test results using a texture
2014-09-07 23:55:53 +02:00
Unknown W. Brackets c0908421ba Skip binding when the test won't be used. 2014-09-07 10:06:57 -07:00
Unknown W. Brackets 94c1271761 Add an experiment with using a texture for tests.
Using an option for now so it's easy to test, if it works well we can
maybe remove the option.
2014-09-07 10:04:57 -07:00
Unknown W. Brackets 47e98f972d Try to simplify alpha replace for poor compilers. 2014-09-07 08:25:39 -07:00
Unknown W. Brackets de2c951665 Detect EXT_gpu_shader4 to use bitwise ops pre-3.3.
This may allow it to work on more cards, and should fix a (probably driver
bug) error we've had reported in GL 3.0 / GLSL 1.3.
2014-09-04 00:39:54 -07:00
Unknown W. Brackets b4b81744ee Use dst factor w/ dst in reverse sub blending. 2014-08-26 00:39:14 -07:00
Unknown W. Brackets 17ab856a35 Always zero drawn pixels with zero. 2014-08-24 10:24:29 -07:00
Unknown W. Brackets 90746fb5b2 Support INVERT with stencil alpha replacement. 2014-08-24 10:24:28 -07:00
Unknown W. Brackets 0018638458 Support INCR/DECR with stencil value replacement. 2014-08-24 10:24:28 -07:00
Ced2911andHenrik 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