Commit Graph
452 Commits
Author SHA1 Message Date
Unknown W. Brackets 63bcb65d96 Height can be equal, just not greater.
Oops.
2014-06-28 03:41:44 -07:00
Unknown W. Brackets 7d0aeb067a Make sure the conv buffer matches the used height.
May matter if bufferHeight > height.
2014-06-28 02:40:40 -07:00
Unknown W. Brackets 217d8d24ea Validate height better when downloading fbs. 2014-06-28 02:33:28 -07:00
Unknown W. Brackets a33589b3e9 Optimize away bits in the stencil upload.
Should be faster than sending to the GPU this way, if we can help it.
Should improve delays on FBO creation at high render resolutions.
2014-06-28 01:39:18 -07:00
Unknown W. Brackets ca2d9286e0 Notify the texcache when fb format changes.
Fixes #2094 again.
2014-06-24 00:14:56 -07:00
Unknown W. Brackets ad060b992d Clear buffers right after creating them.
Seems like some drivers have trouble otherwise.
2014-06-23 00:17:35 -07:00
Unknown W. Brackets 4c62a17f72 Allow exact render-to-tex format mismatches more.
If the right format was used recently, it's still okay.  Also check the
x/y offset to try to find the best match.
2014-06-22 21:02:43 -07:00
Unknown W. Brackets 1cea361c65 Remove now-unnecessary MaskedEqual() compares.
Clearer this way I think.
2014-06-21 08:30:45 -07:00
Unknown W. Brackets 0c31e551e7 Clear buffers before using them.
Fixes a reported crash on an AMD card.
2014-06-19 23:09:15 -07:00
Unknown W. Brackets ef390c5c40 Double check upload/download are VRAM addresses. 2014-06-19 23:09:15 -07:00
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 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 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
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 030b562eb9 Support render-to-offset within a framebuffer.
Fixes #6324.
2014-06-14 17:08:41 -07: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
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
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
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 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
Unknown W. Brackets 9b12a4893d Track framebuffer memory dirty more carefully.
Fixes #6296, Grand Knights History slowdown during battle transition.  May
also more correctly identify block transfer downloads.
2014-06-11 22:21:08 -07:00
Unknown W. Brackets b9f805c71f Fix graphical artifact in Jeanne d'Arc world map.
We need to use the last set render framebuffer, not the current one at
copy to output.
2014-06-11 00:54:54 -07:00
Unknown W. Brackets efc2de41ae Ignore depth buffers with stride = 0.
They're clearly not being used.
2014-06-11 00:40:47 -07:00
Unknown W. Brackets c49ba888b5 Flush draws before doing any block transfers.
Otherwise, we might flush on top, or we might download the wrong thing.
2014-06-11 00:28:28 -07:00
Unknown W. Brackets dd4b191003 Correct Gods Eater Burst tex download size.
Probably takes care of #6289, although it doesn't crash for me.
2014-06-10 22:59:08 -07:00
Unknown W. Brackets 5bd1d9d009 Avoid corrupting mem if our framebuf size is wrong.
Let the size specify the framebuffer height, which we are most likely to
have gotten wrong.
2014-06-10 00:15:05 -07:00
Unknown W. Brackets d5aae5a705 Match block transfer address even when uncached.
Rhythm8 for example uses an uncached address for the dest framebuffer.
2014-06-09 23:28:54 -07:00
Sacha 9d9d135176 Symbian buildfix, x11 linker order 2014-06-10 15:33:30 +10:00
Sacha 87c7b31e77 Qt: Mac arch detection workaround on Qt4. Fix a conflict. 2014-06-10 15:11:25 +10:00
Henrik Rydgard e01f8232bd Try the quickfix proposed for 6272 at 1080p, works nicely.
Might want to do something more ambitions, too, allowing minor crops
on more resolutions...
2014-06-09 21:22:12 +02:00
Sacha e57ae29e4a Symbian: Switch to GCC 4.7.3. Blackberry: Switch to GCC 4.8.2 2014-06-09 23:49:30 +10:00
Unknown W. Brackets 375bc34c4b Skip direct blocktransfer draw in buffered.
It isn't needed anymore, and causes glitches in Tales of Phantasia X.
2014-06-08 17:30:51 -07:00
Unknown W. Brackets 125a440e71 Try scissor/region height if viewport is == 512.
Fixes Tales of Phantasia X menu in towns, where it uses a 480 tall
framebuffer but specifies a 512 tall viewport.
2014-06-08 17:30:51 -07:00
Unknown W. Brackets 5fd0adcb6a Fix framebuf blit on resize. 2014-06-08 17:30:50 -07:00
Unknown W. Brackets fdf15cf05f Fix intra-buffer blit at non-1x resolutions.
Oops.
2014-06-08 16:26:47 -07:00
Unknown W. Brackets 3a0cce575c Fix block transfer download with bpp mismatch.
Pretty sure this will take care of #6258.
2014-06-08 15:05:10 -07:00
Henrik Rydgård be02ea7769 Merge pull request #6255 from unknownbrackets/gpu-blocktransfer
Enable "simulate block transfer" by default
2014-06-08 11:15:22 +02:00
Unknown W. Brackets 4effd15fcb Support Grand Knight History's line-by-line xfer.
This is a bit hacky, but what it's doing at least makes sense enough to
heuristically detect.  Still trying to avoid misdetecting God of War.
2014-06-07 23:59:34 -07:00
Unknown W. Brackets 3f8ef6dacd Ensure stride in bytes matches FBO up/download.
Even if we should do the copy, we'll currntly use the wrong x/y/w/h.
This fixes incorrect uploads in God of War, which hurt performance a lot.

Unfortunately, in this game there's zero information to tell us the right
size of some small temp framebuffers it uses, so we overestimate their
sizes and the block transfer appears to fall into range.
2014-06-07 22:40:41 -07:00
Unknown W. Brackets 0896c3412d Allocate textures names in blocks.
May improve performance slightly when loading or recycling textures.
Probably uploading the texture is bigger anyway.
2014-06-07 16:13:53 -07:00