Commit Graph
9567 Commits
Author SHA1 Message Date
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
Henrik Rydgård 5fa331bb56 Merge pull request #6310 from hrydgard/deferred-scaling
Limit the amount of texture scaling done per frame to reduce stutters
2014-06-14 08:59:40 +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
Unknown W. Brackets 673e92927a Avoid an infinite loop on small heights. 2014-06-13 23:37:08 -07:00
Henrik Rydgard 4e81eadc88 Minor cleanup in texcache 2014-06-14 00:18:37 +02:00
Henrik Rydgård 2f86e3e021 Clear STATUS_TO_SCALE at a better place 2014-06-13 23:01:40 +02:00
Henrik Rydgård ea9f8d8bf3 Comment out the deferred scaling logs. 2014-06-13 22:11:25 +02:00
Henrik Rydgård c0c058937f Limit the amount of texture scaling done per frame, to reduce stutters
Scaling causes really bad stutters in some games on some hardware.

This should also reduce the impact of pathological cases like the first
boss of FF Type-0 to be more bearable.
2014-06-13 22:07:26 +02:00
Unknown W. Brackets f84650b6be Report possible textures at subareas > 32.
For the ones outside the hack 0x04110000 range.
2014-06-13 09:19:51 -07:00
Unknown W. Brackets ac6cbf3524 Take the nearest fbo for a y-offset memcpy(). 2014-06-13 08:45:26 -07:00
Unknown W. Brackets 392897d447 Allow oversized gpu memcpys.
Seems to happen in Mana Khemia, where it uses h=384, but it looks
legitimate.
2014-06-13 08:42:58 -07:00
Unknown W. Brackets 00651ceea1 Support gpu memcpy/memset line-by-line.
Fixes some glitches in Final Fantasy Tactics, which uses memset line by
line (at width, not stride.)

Should still be relatively safe, unless a buffer is detected as too tall.
The memcpy() will still happen anyway.
2014-06-13 08:36:02 -07:00
Unknown W. Brackets dad1bf41f7 Avoid making FBO copies in the debugger.
When it binds the texture preview.  Not needed.
2014-06-13 08:35:12 -07:00
Henrik Rydgård 3da962f585 Merge pull request #6300 from unknownbrackets/gpu-blocktransfer
Try to handle more block transfer / tex render cases
2014-06-12 20:34:26 +02:00
Unknown W. Brackets 025b92593a Just don't use render-to-text format mismatches.
This already excludes CLUTs.
2014-06-12 07:46:56 -07:00
Unknown W. Brackets 1a25456e52 Detach a format mismatch that's not rendering.
Assume we'd be better off reading ram.
2014-06-12 00:48:21 -07:00