Commit Graph
81 Commits
Author SHA1 Message Date
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
danyalziaandDanyalZia 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
Unknown W. Brackets edb4472927 Fix some formatting warnings. 2013-10-19 14:57:45 -07:00
Henrik Rydgard 80702109f5 Move gpu vendor detection to native with the rest of the gl init.
Also disable vertical layout for mainscreen entirely.
2013-10-16 00:48:44 +02:00
Henrik Rydgard e0b19decca Add generic "PostShader" functionality, replacing FXAA (it's one of them).
Replaces #4018, sorry DanyalZia :)
2013-10-12 02:05:55 +02:00
Henrik Rydgård 95fda8dffa Set line width in constructor too. 2013-10-09 19:01:28 +02:00
Henrik Rydgard a5d30d2f02 Enable FXAA on mobile. Hopefully the buildbot will copy the shader, too... 2013-09-28 23:51:10 +02:00
Unknown W. Brackets 14efcbcc9b Add an interface to grab the depth/stencil buffers.
Not sure yet how to show in UI, not well tested...
2013-09-28 02:23:07 -07:00
Henrik Rydgard b10e2bce3c Add FXAA antialiasing on non-mobile. Works best when render resolution = window size. 2013-09-26 12:41:59 +02:00
Unknown W. Brackets 6af44910c1 Add an interface to return the current framebuffer. 2013-09-22 19:03:31 -07:00
Henrik Rydgard 5bdb9e976b Track copies of framebuffers in ram created through sceDmacMemcpy, so that we can display them.
Fixes MotoGP while also, in effect, committing #3859.
Removes the horrifying ramDisplayFramebufferPtr hack.
2013-09-21 18:53:55 +02:00
Unknown W. Brackets 0e6f58853a Try to use the most recently rendered fb. 2013-09-01 11:55:03 -07:00
Henrik Rydgard 664d74a9b7 Another frameskipping attempt. Now: 0=no frameskip, 1=auto frameskipt, 2-9=fixed frameskip.
There is still some flicker remaining in non-buffered rendering that I can't seem to get rid off.
2013-08-16 01:00:26 +02:00
raven02 1eaada15df Reference and modified code from @arnastia 2013-08-12 02:30:17 +08:00
Unknown W. Brackets 89349eae7e Consistently use a proper type for GE fb format. 2013-07-29 23:05:59 -07:00
Unknown W. Brackets 4dde7276c6 Don't use PspDisplayPixelFormat at all. 2013-07-29 22:58:37 -07:00
Unknown W. Brackets 2f94977efe Don't include gfx/gl* outside the OpenGL GE. 2013-07-29 22:47:38 -07:00
raven02 d836527254 NewUI fix and add selectable frameskipping/Resolution to winUI 2013-07-26 22:10:03 +08:00
raven02 76bd4e3120 Fix rendering mode switching issue in old & new UI 2013-07-22 08:41:58 +08:00
raven02 0216f52359 Merge remote-tracking branch 'upstream/master'
Conflicts:
	UI/GameSettingsScreen.cpp
	UI/MenuScreens.cpp
	Windows/ppsspp.rc
2013-07-22 00:03:54 +08:00
raven02 87fc81e56d Consolidate Rendering Mode 2013-07-21 23:17:42 +08:00
raven02 7ac496529b Vendor Based Alpha and Color Testing 2013-07-21 01:14:36 +08:00
Henrik Rydgard 81411a74ed Experimental: Make orientation change possible on Android. 2013-07-16 22:51:25 +02:00
Henrik Rydgard 25392cd408 More android buildfixin' 2013-07-06 00:40:01 +02:00
arnastia b5cc23d018 Try to guess GPU to differentiate pixel type to request in glReadPixels(); changed ConvertFromRGBA8888 to iterate linearly. 2013-07-05 02:31:31 +01:00
arnastia 7747fc9ca7 Some changes around pixel format conversion, should work on all cards and Android/OpenGL ES devices now (only fully tested on Nvidia); commenting and code cleanup. 2013-07-04 15:24:37 +01:00
arnastia 2e5e5e7a62 Pixel format switch (should work for both ATI/AMD and Nvidia);
Code cleanup;
Update submodules.
2013-07-01 21:51:24 +01:00
arnastia 7824f3c09f Merge remote-tracking branch 'upstream/master' 2013-07-01 18:59:44 +01:00
Unknown W. Brackets 0e5f741a48 Properly scale FBOs on copy to output.
Fixes Tales of Destiny 2 and Star Ocean when buffered rendering is on.
Should only draw the top left 480x272.
2013-06-30 23:56:22 -07:00
arnastia ad5df976bd Blit framebuffers using screen aligned quads (buggy);
Implement asynchronous framebuffer readback for OpenGL and optional CPU-side pixel format conversion (needs optimization);
Add OpenGL ES support (untested).
2013-06-28 14:48:36 +01:00