Commit graph

322 commits

Author SHA1 Message Date
Unknown W. Brackets
cacbfab4b5 Allow glBlitFramebuffer on desktop, avoid NV.
Only use NV if !GLES3.  There's no reason otherwise.
2014-05-25 15:11:24 -07:00
Henrik Rydgard
8543de91d7 Don't skip the copy if block transfer is turned off 2014-05-25 10:50:28 +02:00
Henrik Rydgard
90f2d06697 Add setting to enable/disable GPU block transfer 2014-05-25 10:18:14 +02:00
Henrik Rydgard
33d15a6972 Try to implement block transfer upload to fbo. Doesn't seem to work right though... 2014-05-25 10:02:51 +02:00
Henrik Rydgard
eaba341db0 Split DrawPixels up, preparing to make it more flexible 2014-05-25 10:02:50 +02:00
Henrik Rydgard
c21fdef02d Typo fix 2014-05-25 10:02:49 +02:00
Henrik Rydgard
0208ca8e90 Add some reporting for framebuffer sceDmacMemcpys. 2014-05-25 10:02:49 +02:00
Henrik Rydgard
6c2ab3215f Try to fix R/B color swap problem 2014-05-25 10:01:40 +02:00
Henrik Rydgard
fdf17cb558 Move setting currentRenderVfb_ to NULL to when it's really needed. 2014-05-25 10:01:39 +02:00
raven02
50fc54c92a Fix wrong #endif 2014-05-25 10:01:39 +02:00
raven02
a516abef02 Add comments 2014-05-25 10:01:38 +02:00
raven02
68548856fd Use glBlitFramebuffer when available to blit framebuffer 2014-05-25 10:01:38 +02:00
raven02
cf7229e05e Null out currentRenderVfb_
This fixes the missing stuffs in Tactic Orge
2014-05-25 10:01:37 +02:00
Henrik Rydgård
ebd3d214ae Typo fix 2014-05-25 10:01:36 +02:00
raven02
05be56a433 Keep it sync = true also rename updateVRAM_ 2014-05-25 10:01:35 +02:00
raven02
62c99843ad Do NotifyBlockTransfer() in buffered rendering mode only 2014-05-25 10:01:34 +02:00
Henrik Rydgard
945b6125f9 Restrict the last change to buffered mode only 2014-05-25 10:01:34 +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 Rydgård
8273c1b956 Merge pull request #6056 from raven02/patch-51
Validate the framebuffer size with the size from sceDmac
2014-05-25 10:01:10 +02:00
Unknown W. Brackets
233213e38b Avoid a crash in the GE debugger. 2014-05-23 08:48:29 -07:00
raven02
8664fbac11 Make the EstimateDrawingSize() simpler 2014-05-14 20:13:20 +08:00
Unknown W. Brackets
b4ceedfc43 Correctly flip textures in DrawActiveTexture().
We want to flip the origin of UV (top to bottom), not the pixels within
the specified range.
2014-05-10 09:35:02 -07:00
raven02
11b9d8d29a Build fix 2014-05-10 12:26:53 +08:00
raven02
4263f00092 Add GL_NV_framebuffer_blit support for BindFramebufferColor() 2014-05-10 11:41:24 +08:00
raven02
c54664ba89 Validate the size framebuffer size with the szie from sceDmac 2014-05-09 23:32:26 +08:00
Henrik Rydgård
19ea7b5331 Merge pull request #6047 from raven02/patch-47
Comment out the remaining one LogReadPixelsError()
2014-05-08 16:12:56 +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
raven02
ec06b6532a Comment out the remaining one LogReadPixelsError() 2014-05-08 20:30:40 +08:00
Henrik Rydgard
fcf2498b11 Minor stuff from #6403 2014-05-08 10:46:19 +02:00
Henrik Rydgard
305e1652cb Turn off glGetError in Framebuffer.cpp. Can be easily turned back on if needed. 2014-05-08 10:43:46 +02:00
Henrik Rydgard
2e56e0f122 Fix check for glBlitFramebufferNV 2014-05-08 10:40:36 +02:00
Henrik Rydgard
2b58f2657c Merge branch 'patch-40' of github.com:raven02/ppsspp into raven02-patch-40 2014-05-08 10:00:00 +02:00
raven02
f98cf76b97 Use GL_NV_framebuffer_blit to handle depth copy 2014-05-05 12:19:31 +08:00
Unknown W. Brackets
ff25b9d20e Oops, the vertexdecoder should read vertex alpha.
Copy/paste mistake... ugh.
2014-05-04 09:05:45 -07:00
Unknown W. Brackets
e8d5866e5a Use SSE some in framebuffers to memory.
Since people are using it (even though it seems dangerous), might as well
make it faster.  6% better in Tales of Phantasia X.
2014-05-04 01:03:48 -07:00
Unknown W. Brackets
4475c99426 Fix GL errors / flicker in framebuf->mem.
Happens in Tales of Phantasia X, reported by Kingcom.
2014-05-03 20:20:40 -07:00
raven02
3d12a00fe1 Get rid of glstate.viewport.restore() for Mali/Adreno Soc 2014-04-23 22:47:59 +08:00
Unknown W. Brackets
f4458edc76 Avoid unbinding the current fbo on block transfer.
Improves God of War performance by 25% (at least in the demo.)
2014-04-13 21:11:17 -07:00
Unknown W. Brackets
6cfc61665d Switch to a bitmask instead. 2014-04-13 14:45:55 -07:00
Unknown W. Brackets
4c1c694d4b Use flags to avoid hashing textures when unchanged.
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.

Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
0d59fc0d2e Oops, forgot to reset the frame when unchanged.
Fixes #5861.
2014-04-13 08:15:48 -07: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
1a53be45cc When uploading video pixels, detect w/h by size.
Sometimes the framebuffer size is incorrect, but kinda works... but this
is a problem for the video.  Using the size gets us better.

In Wild Arms XF, the framebuffer is 512x512, but that's not right.  It's
clear it should be 480x272.
2014-04-12 22:02:47 -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
7c70d8b04e Oops, remove some duplicate code.
Moved this to the inlined SetRenderFrameBuffer().
2014-04-01 02:09:21 -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