Commit graph

414 commits

Author SHA1 Message Date
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
Unknown W. Brackets
304d372f48 When clamping height to 512, try region/scissor. 2014-06-02 21:46:22 -07:00
Unknown W. Brackets
78c83e122d Force 481x273 to 480x272, it's seen in a few games. 2014-06-01 23:47:37 -07:00
Unknown W. Brackets
c2ccfd5629 Stop stretching things to the FBO size.
Instead, draw in the top corner.  This way, even if framebuffers get
smaller things stay consistent.
2014-06-01 21:20:04 -07:00
Sacha
319c0efcb2 Remove MAY_HAVE_GLES3 2014-06-02 12:08:49 +10:00
Unknown W. Brackets
cfb21707b6 Take the tallest estimate, scissor may be short.
Even if it's wider but short, it should not reduce the height of the
buffer.
2014-06-01 18:45:25 -07:00
Unknown W. Brackets
d64d2afcb3 Don't allow a zero framebuf stride in estimation. 2014-06-01 18:45:03 -07:00
Unknown W. Brackets
a351a42041 Cleanup some old comments/code. 2014-06-01 14:00:58 -07:00
Unknown W. Brackets
d03397f056 Blit framebuf contents when resizing.
This avoids a blink when sizing up.
2014-06-01 13:53:34 -07:00
Unknown W. Brackets
32439bc006 Recreate framebuffers when they get bigger.
To avoid cases where they remain too small, and to make sure size always
matches up sanely.
2014-06-01 13:53:27 -07:00
Unknown W. Brackets
73234941e1 Consider stride more when determining fb size. 2014-06-01 13:50:37 -07:00
Henrik Rydgård
0c7c736522 Merge pull request #6205 from unknownbrackets/replace-funcs
Initial replacement for Star Ocean's stencil upload
2014-06-01 12:22:11 +02:00
Henrik Rydgård
3c521c3f88 Merge pull request #6209 from unknownbrackets/gpu-blocktransfer
Also check for x offsets within block transfers
2014-06-01 12:10:07 +02:00
Unknown W. Brackets
bc618fdb6c Also check for x offsets within block transfers.
Grand Knights History does these too, not just y offsets.  Why does it
bother when block transfer let's you specify the coordinates so exactly?
2014-06-01 02:33:44 -07:00
Unknown W. Brackets
68e5be9381 Doesn't look like these need to use depth/stencil.
May save a bit of VRAM/RAM.
2014-06-01 01:03:44 -07:00
Unknown W. Brackets
3e8442c371 Decimate temporary FBOs after not being used. 2014-06-01 01:03:43 -07:00
Unknown W. Brackets
0846673dc3 Track temporary-use FBOs all in FramebufferManager.
This way it's easier to manage their lifecycle.
2014-06-01 01:03:43 -07:00
Unknown W. Brackets
e109a547ae Disable vertex arrays not in use. 2014-05-31 22:07:41 -07:00
Unknown W. Brackets
b308aaad03 Update disabled IsReallyAClear() code.
Not sure if there's still something wrong about depth.
2014-05-31 22:07:40 -07:00