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
Unknown W. Brackets
a53f165c06
Oops, update render size when resizing down too.
...
Hopefully #6247 .
2014-06-07 06:26:03 -07:00
Unknown W. Brackets
d8e98786f7
Oops, fix logging on FBO creation.
2014-06-07 01:35:39 -07:00
Unknown W. Brackets
cda98334f8
Fix some crashes when switching rendering mode.
2014-06-07 00:52:58 -07:00
Unknown W. Brackets
0bbeab28ec
Verify fbo exists when copying depth.
...
Should fix #5343 based on stack trace.
2014-06-06 22:35:34 -07:00
Unknown W. Brackets
7a299fb1f2
Avoid displaying a wrong-format framebuf.
2014-06-06 21:11:58 -07:00
Unknown W. Brackets
8ec87040df
Detect staggered/interleaved rendering.
...
Not sure why you'd do this, maybe to simultaneously render? Should help
the Silent Hill games which seem to do this.
2014-06-06 21:08:14 -07:00
Unknown W. Brackets
171629ba48
Separate fbo resize logic from creation.
2014-06-06 20:54:16 -07:00
Unknown W. Brackets
48d0b8fb0b
Fix a crash in non-buffered rendering.
2014-06-06 10:28:18 -07:00
Unknown W. Brackets
5ab416981c
Ignore vfb->format for older display buffers.
...
Fixes video in Tales of Phantasia X.
2014-06-05 00:29:32 -07:00
Unknown W. Brackets
115b959ef7
Stop clearing the buffer after blitting to it.
...
This only appeared to work because destroying an fbo unbinds the active
one.
2014-06-05 00:29:04 -07:00
Unknown W. Brackets
42eb4c978a
Support block transfer bpp mismatch on gles2.
...
When we don't have GLES2.
2014-06-05 00:14:31 -07:00
Unknown W. Brackets
eda5d785fa
Don't rebind if there's nothing to rebind.
2014-06-04 00:58:44 -07:00
Unknown W. Brackets
d111a8d3ff
Remove video size hack when uploading fb data.
...
Seems like this was only helping because we were stretching some
framebuffers before, it only causes problems now.
2014-06-04 00:21:52 -07:00
Unknown W. Brackets
e67c2e7328
No need to report this anymore, hopefully.
2014-06-03 22:54:36 -07:00
Unknown W. Brackets
7839f39c13
Allow block xfer upload when using read fb to mem.
2014-06-03 22:52:32 -07:00
Unknown W. Brackets
8b46faed50
Implement intra-buffer block transfer.
2014-06-03 22:51:16 -07:00
Unknown W. Brackets
fcb70a00b3
Fix incorrect scale in fbo download.
...
This caused some videos and scenes to show at the wrong resolution.
2014-06-03 22:29:42 -07:00
Unknown W. Brackets
b9652c2112
Ignore sizes with unreasonable heights.
...
God of War sets region to 1024x1024, but doesn't draw in that whole space.
2014-06-03 07:52:05 -07:00
Henrik Rydgård
e6d3a9c1b6
Merge pull request #6211 from unknownbrackets/framebuf-estimate
...
Another attempt at framebuffer size estimate changes
2014-06-03 10:50:21 +02:00
Unknown W. Brackets
b069462bea
Relax display buffer / GetVfbAt() requirements.
...
Castlevania actually uses a display buffer of 420, it seems. Since we no
longer allow multiple FBOs at the same address, this should be safe.
2014-06-02 22:51:37 -07:00