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
Unknown W. Brackets
089ee41d9c
Implement a very basic stencil upload.
...
This is not fast or efficient, but works.
2014-05-31 21:48:09 -07:00
Unknown W. Brackets
e477a765e1
Scale bits better in MakePixelTexture().
2014-05-31 21:48:08 -07:00
Unknown W. Brackets
192945fc71
Allow a memcpy upload in non-buffered rendering.
2014-05-30 09:44:14 -07:00
Unknown W. Brackets
da25de6970
Support block transfer uploads in non-buffered.
2014-05-30 09:25:36 -07:00
Unknown W. Brackets
aecd5bf250
Support render-to-self on GLES2.
2014-05-30 08:53:22 -07:00
Unknown W. Brackets
bf5946203d
Fix a couple typos, oops.
...
Framebuffer one probably broke Grand Knights History some, depal one
probably broke some clut stuff.
2014-05-28 00:19:51 -07:00
Henrik Rydgard
44d9af9222
Hopefully fix the Manhunt red/green swap
2014-05-27 22:22:56 +02:00