Commit graph

2633 commits

Author SHA1 Message Date
Unknown W. Brackets
5f4a0d8174 Fix a few minor warnings. 2014-06-19 00:47:58 -07:00
Unknown W. Brackets
19f35bbac1 Clear stencil to 0, not 1.
Memory is generally initially zeros, after all.  Fixes #5205 (or at least
improves it?) and fixes #6226.
2014-06-18 00:09:01 -07:00
Unknown W. Brackets
b5eb072e64 Clear depth buffers to zero, not 1.0f.
Memory is generally initially zeros.
2014-06-17 23:56:33 -07:00
Unknown W. Brackets
a9da3618ba Upload the color/stencil buffers on FBO creation.
Fixes pausing or loading a savestate in Star Ocean (previously your
character became invisible until the screen panned.)
2014-06-17 23:55:09 -07:00
Unknown W. Brackets
171a865b37 Support reversing normals in software transform. 2014-06-17 23:29:33 -07:00
Unknown W. Brackets
d4c416a437 Use the pre-world normal in software proj mapping.
Fixes #6081.
2014-06-17 23:27:19 -07:00
Unknown W. Brackets
2d63a74aeb Allow DrawPixels (uploads) to handle alpha.
Doesn't update stencil, but at least it updates alpha.

This was fixed to 1.0 before because we had blending enabled by accident
during DrawPixels().
2014-06-17 23:10:38 -07:00
Unknown W. Brackets
359f72078d Disable vsync when exiting the game.
Not sure why, but with some drivers not doing this makes the process burn
cpu usage when back in the menu.  Fixes #6351.
2014-06-17 01:06:25 -07:00
Henrik Rydgård
565bb98db1 Merge pull request #6350 from unknownbrackets/gpu-blend
Avoid blitting for a bunch of gpu blending modes
2014-06-17 09:54:57 +02: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
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
Sacha
7bbdabdfa2 glBindFragDataLocation is not needed. Thanks HdkR. 2014-06-17 15:52:46 +10:00
Sacha
9961ef1ba7 Qt: Buildfix USING_GLES2 and not MOBILE_DEVICE 2014-06-17 15:30:03 +10: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
9b67594a1d Linux buildfix. 2014-06-16 01:04:53 -07:00
Henrik Rydgård
f061cb4c0f Merge pull request #6341 from unknownbrackets/gpu-minor
Support alpha and color test masks on desktop/gles3
2014-06-16 10:02:20 +02: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
Unknown W. Brackets
3fea3e1293 Respect "nearest" filtering setting for fbs. 2014-06-15 19:42:24 -07:00
Unknown W. Brackets
107df3b838 Reuse existing buffer matching for MotoGP hack. 2014-06-15 19:34:57 -07:00
Unknown W. Brackets
a54cefc138 Only download width bytes, not stride bytes.
Fixes #6330, MotoGP not rendering properly with simulate block transfers.
2014-06-15 19:33:32 -07:00
Henrik Rydgård
43bddd8067 Merge pull request #6336 from unknownbrackets/texcache
Separate framebuffer sampling params from tex
2014-06-16 00:52:20 +02:00
Unknown W. Brackets
e762689ea8 Update vsync on resize, and before first FBO.
May take care of #4440.
2014-06-15 15:19:49 -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
40f13d51e7 Separate framebuffer sampling params from tex.
This way we don't need to reset params on the texture or worry about
things like that.  We always force on the framebuffer anyway, so this is
simpler.

Also don't enable mipmaps when using a framebuffer, since they don't make
sense currently.
2014-06-15 13:34:58 -07:00
Unknown W. Brackets
f6649794df Respect max texture level in GE debugger preview. 2014-06-15 10:31:16 -07:00
Unknown W. Brackets
eaf3288304 Add debug interface for non-L0 texture preview. 2014-06-15 09:30:37 -07:00
Unknown W. Brackets
c6c48aef42 softgpu: Align spline patches, keep buffer.
Fixes misalignment warning on 32-bit.
2014-06-15 09:00:49 -07:00
Henrik Rydgård
9503603f5f Merge pull request #6326 from unknownbrackets/gpu-minor
Support render-to-offset within a framebuffer
2014-06-15 09:13:03 +02:00
Unknown W. Brackets
030b562eb9 Support render-to-offset within a framebuffer.
Fixes #6324.
2014-06-14 17:08:41 -07:00
Henrik Rydgard
ab61255018 Allow only a small number of "InvalidateAll" operations per frame on the texture cache.
Reduces stutter in FF:Type0 tutorial end scene a bit more.
2014-06-15 00:40:08 +02:00
Unknown W. Brackets
651d8a4a7d Support inter-buffer memcpy transfer.
Seeing some games using it like 3rd Birthday uses block transfers, to copy
a frame to the other buffer.
2014-06-14 13:22:00 -07:00
Unknown W. Brackets
d06a0520ae Consistently mark vfb dirty after drawing to it. 2014-06-14 13:19:27 -07:00
Henrik Rydgård
59bef47035 Merge pull request #6321 from unknownbrackets/texscaling
Reduce some texture scaling limits to rely on texels instead
2014-06-14 20:08:39 +02:00
Unknown W. Brackets
6ebdf2be29 Skip memcpy fb download when already downloaded.
Fixes Final Fantasy Tactics lag, discussion in #6308.
2014-06-14 11:04:17 -07:00
Unknown W. Brackets
b1396d51b2 Log more info about skipped subarea renders. 2014-06-14 11:04:17 -07:00
Unknown W. Brackets
ec7942fc8a Report decoding a texture from a VRAM mirror.
Might mainly be depth textures?
2014-06-14 11:04:16 -07:00
Unknown W. Brackets
0b9db176e9 Centralize render-to-tex logic, support mirrors.
Now everything is decided in AttachFramebuffer().
2014-06-14 11:04:16 -07:00
Unknown W. Brackets
822f936b05 Validate stride when using clut, more reporting. 2014-06-14 11:04:15 -07:00
Unknown W. Brackets
d8eaeab663 Reduce change frequency limit for texscaling.
Since we have the texels limit now, this should allow more textures to be
scaled safely.  Also, it may detect alpha optimizations in more textures,
since we currently skip them for frequently changed textures.
2014-06-14 10:49:13 -07:00
Unknown W. Brackets
0620c6edc7 Forgive freq. changed tex if they mend their ways. 2014-06-14 10:43:22 -07:00
Unknown W. Brackets
99c8319f15 Don't count unscaled frequently changing texels.
May cause more things to be scaled per frame (especially if first textures
on a frame are frequently changing.)
2014-06-14 10:40:23 -07:00
Unknown W. Brackets
03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Henrik Rydgård
5f6c083a3e Merge pull request #6315 from unknownbrackets/framebuf-estimate
Avoid shrinking buffer w/h in throughmode
2014-06-14 11:06:37 +02:00
Unknown W. Brackets
119edd34e6 Avoid shrinking buffer w/h in throughmode.
Since they could overdraw and we already scissor.
2014-06-14 01:56:34 -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