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
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
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
171629ba48
Separate fbo resize logic from creation.
2014-06-06 20:54:16 -07:00
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
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
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
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
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
5f99f663ef
Avoid duplicating an FBO when depaletizing it.
2014-05-27 22:12:23 +02:00
Henrik Rydgard
d0e65054a4
A bit closer to working. Shadow visible
2014-05-27 22:09:22 +02:00
Henrik Rydgard
8fba7fa98e
Initial work on depalettization.
2014-05-27 22:07:24 +02:00
Unknown W. Brackets
8dcc09c9e1
Use a separate func for gpu memset().
2014-05-27 07:50:01 -07:00
Unknown W. Brackets
1a8369e51c
Apply a very specific hack for Danganronpa.
...
This should allow playing at non-1x resolutions, and without slowing down
the entire game just for one small framebuffer.
Generally, hacks are a bad thing. But even with memcpy and block transfer
stuff, we'll never be able to solve this game without some sort of hack.
Detecting memory reads will complicate cross-platform compat or slow
things down.
2014-05-26 11:40:46 -07:00
Unknown W. Brackets
9195019872
Allow memcpy gpu downloads.
...
Fixes FF4 battle transition effect, Trails in the Sky menu, etc.
2014-05-25 21:49:16 -07:00
Unknown W. Brackets
8228bee6bf
Download only the necessary subareas.
...
Performance improvement in Tactics Ogre.
2014-05-25 19:50:40 -07:00
Unknown W. Brackets
c42d04829f
Detect if the game uses block transfer slivers.
...
In that case, it's better to read it once, than multiple times.
Improves performance and graphics in Grand Knights History.
2014-05-25 18:18:26 -07:00
Unknown W. Brackets
cbb3fe0086
Refactor framebuffer size calculation.
2014-05-25 17:12:58 -07:00
Unknown W. Brackets
fd4ba0093c
Skip some code if things are outside framebuffers.
...
Small optimization.
2014-05-25 17:08:55 -07:00
Unknown W. Brackets
4dbb4328ae
Download before, upload after. Fix save pictures.
...
Otherwise, it only works if it does it every frame, and then it's a frame
behind. Also fixes Tales of Phantasia X's fades and etc.
2014-05-25 17:08:55 -07:00
Unknown W. Brackets
0e620b2fe9
Fix buffer overflow in MakePixelTexture().
2014-05-25 16:28:28 -07:00
Unknown W. Brackets
30222f987d
Flip framebuffers when downloading their pixels.
...
It seems like this is where it was being done...
2014-05-25 16:28:28 -07:00
Unknown W. Brackets
62cd61611e
Support block transfers offset into a framebuffer.
2014-05-25 15:13:19 -07:00
Henrik Rydgard
eaba341db0
Split DrawPixels up, preparing to make it more flexible
2014-05-25 10:02:50 +02:00
Henrik Rydgard
0208ca8e90
Add some reporting for framebuffer sceDmacMemcpys.
2014-05-25 10:02:49 +02:00
raven02
218b446f9c
Add updateVRAM_;
2014-05-25 10:01:36 +02:00
Henrik Rydgard
994629089e
Implement GPU block copies between buffers and from buffer to RAM.
...
(first one not very well tested, second one improves Burnout Legends sun a lot)
2014-05-25 10:01:33 +02:00
Henrik Rydgard
b8c39d4e42
ReadFramebuffer: Support sub rectangle
2014-05-08 16:09:55 +02:00
Henrik Rydgard
3c2819afea
Make DrawActiveTexture more flexible (u/v origin too).
2014-05-08 15:28:25 +02:00
Henrik Rydgard
3b3c794a37
More framebuffer code cleanup
2014-05-08 15:16:33 +02:00
Henrik Rydgard
5a60ccc9f0
BlockTransfer: Move framebuffer handling into Framebuffer.cpp
2014-05-08 15:16:10 +02:00
Henrik Rydgard
8ef377c427
Some preparations towards framebuffer management improvements
2014-05-08 15:16:10 +02:00
Unknown W. Brackets
f462721394
Rather than only enlarging, watch for persistence.
...
If the game keeps using something at a new size, we know it's time to make
some adjustments.
2014-04-12 23:12:35 -07:00
Unknown W. Brackets
1f76adb7a3
If a larger framebuffer is needed, upgrade it once.
...
This should prevent issues where it gets larger and smaller like in the
past.
2014-04-12 20:46:38 -07:00
Unknown W. Brackets
e7639f666c
Ensure stuff run on every prim are inlined.
...
These both get a ton of calls and show up on profiles.
2014-03-30 00:42:26 -07:00
Unknown W. Brackets
b034b992df
Only copy dirty depth buffers between FBOs.
...
We can remove this if/when we track them separately. This may break a
game that depends on the depth carrying over between several FBOs, but
that's not extremely likely.
This improves performance in Gods Eater Burst.
2014-01-24 01:44:24 -08:00
Unknown W. Brackets
9cfb8648c0
Keep a map of temporary buffers for self renders.
2014-01-20 07:54:40 -08:00
Unknown W. Brackets
b48de952fd
Duplicate framebuffers textured onto themselves.
...
This fixes #2917 .
I verified that, at least for my card, blitting is much faster than
glReadPixels (by quite a margin.)
2014-01-20 07:54:39 -08:00
raven02
ee3c3bca4a
Add BindFramebufferDepth()
2014-01-20 22:03:12 +08:00
Unknown W. Brackets
b0a1340a80
Report block transfers we don't support.
...
Ones involving framebuffers.
2014-01-20 01:47:20 -08:00
Henrik Rydgård
87f203a5b8
More include untangling
2013-12-29 23:44:35 +01:00
Henrik Rydgard
9e109e16d9
Android buildfix.
...
Also, this warning flag appears not supported. (4.6?)
2013-12-21 13:06:29 +01:00
Henrik Rydgard
127864b679
Prevent post shaders from getting applied twice in some circumstances when playing video.
2013-12-04 11:46:42 +01:00
Henrik Rydgård
7c7c4aaadc
Add "u_time" uniform to postprocessing shaders.
2013-12-02 17:24:55 +01:00
Henrik Rydgård
07a868910e
Add a temporary hack option that may help debugging the wipeout glow.
...
It reduces the glow problem by a lot but is obviously incorrect.
2013-10-30 22:47:36 +01:00
danyalzia
950c961dbc
Shader Improvements and cleanup
...
Added sharpen shader
Added support for bloom and sharpen shader
cleanup
cleanup
2013-10-30 00:33:21 +05:00
Unknown W. Brackets
f9352ad0b8
Update fbos even if they're not the display.
...
But only when coming from a video or other safe source, to ensure we don't
hurt speed. Although, might be interesting to do it always?
With the previous commit, fixes #4273 .
2013-10-26 00:36:37 -07:00
Henrik Rydgard
7d8aed096a
Add proper support for upscaling shaders, add Spline36 upscaling
...
Spline36 isn't as amazing as I had hoped heh. And it will need work to
work in GLSL ES. Anyway...
This also renames u_texcoordDelta to u_texelDelta to fit in with u_pixelDelta.
2013-10-22 12:18:49 +02:00