Henrik Rydgard
9e18fb7e90
Round Z in the vertex shader to match a 16-bit Z buffer.
...
However this inexplicably does still not solve the Phantasy Star issue!
2015-08-26 15:25:21 +02:00
Henrik Rydgard
1e8a1b801f
Rename viewportX1/X2 etc to scale + center, which is what they actually are.
2015-08-26 15:24:35 +02:00
Henrik Rydgard
29fc9e81a4
Use the gstate.getViewport* accessors.
2015-08-26 15:24:35 +02:00
Henrik Rydgard
d7f4c47c22
Refactor: Even more getting rid of gstate access in the framebuffer manager.
2015-08-05 12:13:14 +02:00
Henrik Rydgard
d26b74d4d6
GPU refactor: Move accesses to gstate out of leaf functions
2015-08-05 01:03:49 +02:00
Henrik Rydgard
b5f7d9346f
Minor cleanups in GPU
2015-07-29 13:08:02 +02:00
Henrik Rydgard
2e26a4798e
Scale the frame profiler graph dynamically
2015-05-24 23:45:37 +02:00
Henrik Rydgard
26624709f7
Hook up the frame profiler to a few measurements
2015-05-24 23:45:36 +02:00
Henrik Rydgard
95b6b50fd5
Disable screen rotation in non-buffered rendering (as it won't worK)
2015-05-12 22:44:18 +02:00
Unknown W. Brackets
42bcea7b41
Report when minz/maxz is used in an effective way.
...
As long as it's outside the viewport it should be clipped anyway.
One concern is, does clipenable affect z? A game could depend on that.
2015-04-17 12:59:59 -07:00
Unknown W. Brackets
5fa3bf0eb9
Move the viewport transform to the proj matrix.
...
The viewport has an implementation defined maximum size. On some devices,
it's as low as 2048 or 4096.
Tales of Destiny 2, for example, uses a large viewport, which may be
outside this range at 1x or 2x on such devices. This makes it work much
better. It may also have better subpixel precision.
2015-03-22 23:35:24 -07:00
Unknown W. Brackets
08a1bb8796
Add support for ARM_shader_framebuffer_fetch.
2015-03-07 16:11:43 -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
Unknown W. Brackets
383f894db7
d3d9: Make blending more like GL's recent changes.
2015-03-01 10:31:43 -08:00
Henrik Rydgård
0d69576810
Merge pull request #7515 from unknownbrackets/gpu-minor2
...
For 5551 buffers, force stencil mask to 1/0
2015-02-26 21:56:19 +01:00
Unknown W. Brackets
a3342a72d7
Fix copy/paste mistake from 808eeb3a25
.
...
I'm pretty sure this was not intentional.
2015-02-23 11:06:44 -08:00
Unknown W. Brackets
b5126f7236
Use ONE/ZERO in place of CONSTANT_ALPHA if okay.
2015-02-23 09:58:46 -08:00
Unknown W. Brackets
3ff51588f7
Avoid using constant color when blending.
...
If it's just ONE/ZERO or etc., we can keep those constants. May be
faster, and apparently less buggy in some drivers.
2015-02-23 08:37:00 -08:00
Unknown W. Brackets
9d5ae2b336
For 5551 buffers, force stencil mask to 1/0.
...
4444 it would also be ideal to spread the bits, but that gets a bit
complicated. 5650 probably doesn't matter.
2015-02-22 19:11:11 -08:00
Unknown W. Brackets
4c15afa905
Allow multiple replacements on the same func.
...
Or, more specifically, hooks. This allows enter and exit on the same
func, which can obviously be useful for debugging.
2015-02-21 15:48:09 -08:00
Lioncash
dc436aebe8
GPU: Get rid of unused variable warnings
2014-12-12 09:29:41 -05:00
Unknown W. Brackets
67a54504c7
Oops, left the comment in the wrong one.
2014-09-24 23:11:47 -07:00
Unknown W. Brackets
d1e992736b
Simplify the viewport code a bit.
2014-09-24 23:09:09 -07: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
4e50eed85b
d3d9: Specify tex stage for binding framebuf color.
2014-09-21 12:11:17 -07:00
Unknown W. Brackets
33ac30218a
Bind the alphatest tex after we know vert alpha.
...
Before we sometimes thought alpha test was trivially true when it wasn't.
2014-09-10 23:43:48 -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
39ee5bb6b7
Support stencil incr/decr even without blending.
2014-08-24 10:24:30 -07:00
Unknown W. Brackets
757f10d47a
Oops, equation not func.
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
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
5d1b1ab547
Dirty the fixed color when premultiplying.
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
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
6e751f8092
Use shader blend for min/max when unsupported.
2014-06-17 00:20:06 -07:00
Unknown W. Brackets
640c58a892
Reorganize alphablend state mapping logic.
2014-06-17 00:20:05 -07:00
Unknown W. Brackets
256436b594
Support fixed/fixed blending without a blit.
2014-06-17 00:20:04 -07:00
Unknown W. Brackets
fdd759909b
Auto-disable shader blending after 48 per frame.
...
Should prevent possible massive slowdowns from log reporting.
2014-06-15 13:48:06 -07:00
Unknown W. Brackets
030b562eb9
Support render-to-offset within a framebuffer.
...
Fixes #6324 .
2014-06-14 17:08:41 -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
Unknown W. Brackets
1bd44fd4e2
Typo.
2014-06-08 23:21:16 -07:00
Unknown W. Brackets
63e0d47de6
Report unsupported RGB and a/stencil masks.
2014-06-08 22:45:59 -07:00
Unknown W. Brackets
865941a66d
Ignore needShaderTexClamp when not texmapping.
2014-06-08 14:27:57 -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