Commit Graph
2502 Commits
Author SHA1 Message Date
Unknown W. Brackets 3d8f078b6c Try to workaround Breath of Fire 3's render-to-tex.
It renders to two areas but textures with a high V to reach the second
texture.  We've been wrapping the V around but this may show the right
buffer.
2014-06-06 00:28:12 -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 238bdce2b8 Detect if framebuffer clut uses alpha.
It's not a perfect check but it may allow skipping alphatests sometimes.
2014-06-03 01:06:02 -07:00
Unknown W. Brackets bf788e278d Change CheckAlpha() to apply to any pixel data.
For example, cluts.  But not yet, just changing it here.
2014-06-03 00:59:34 -07:00
Unknown W. Brackets a18eceac71 Don't skip alpha in 565/clut framebuffers textures. 2014-06-03 00:45:15 -07: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 3021640897 Correct widths in stencil upload too. 2014-06-01 21:24:33 -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
Unknown W. Brackets 003f20c694 Allow scissor, but not depthtest during glClear().
Improves #6210.
2014-06-01 10:34:57 -07:00
Unknown W. Brackets 111b624000 Oops, this will give the right alpha of course.
Although it may not be exactly the same for 4444/5551.
2014-06-01 10:26:41 -07:00
Unknown W. Brackets c79d0a2e3c Correct alpha in stencil upload, avoid blending.
Docs say blending is slower than masking, makes sense.
2014-06-01 08:47:53 -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 4195eac04f Get rid of depalFBOs when overwriting textures.
Just in case they are not always used as framebuffers.  We set to 0 later
anyway.
2014-06-01 01:03:04 -07:00
Unknown W. Brackets 4461c7e3c4 Oops, remove an old wrong comment. 2014-05-31 22:07:43 -07:00
Unknown W. Brackets 097ab53952 Enable the glClear() optimization.
It seems to help and so far have not noticed any problems.
2014-05-31 22:07:42 -07:00
Unknown W. Brackets 580143e5e2 Disable vertex arrays before depal as well. 2014-05-31 22:07:42 -07:00
Unknown W. Brackets e109a547ae Disable vertex arrays not in use. 2014-05-31 22:07:41 -07:00
Unknown W. Brackets bd67cdab3f Add basic decimation to the depal clut cache. 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 66fff0601d Upload stencil by bit rather than by value.
Still not the most optimal way, probably, but this was an easy change.
2014-05-31 21:48:12 -07:00
Unknown W. Brackets 7c87138915 Disable the last shader properly. 2014-05-31 21:48:12 -07:00
Unknown W. Brackets 21c1c635d8 Add support for 4444/5551/8888 stencil upload. 2014-05-31 21:48:11 -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 c142207a93 Fix a few warnings, mostly type comparisons. 2014-05-31 21:42:57 -07:00
Henrik Rydgård fd19b8d271 Merge pull request #6197 from unknownbrackets/replace-funcs
Function replacement hooks and some GLES compat replacements
2014-05-31 20:30:30 +02:00