Commit graph

58 commits

Author SHA1 Message Date
Henrik Rydgard
19868b5df7 Unify GetTempFBO 2017-02-07 00:24:38 +01:00
Henrik Rydgard
06addecb3d Unify cardboard settings calculation 2017-02-07 00:19:31 +01:00
Henrik Rydgard
89763efe57 Unify SetNumExtraFBOs 2017-02-07 00:08:45 +01:00
Henrik Rydgard
9e644aa815 Unify NotifyRenderFramebufferUpdated 2017-02-07 00:08:45 +01:00
Henrik Rydgard
85ec96ecf1 Unify NotifyRenderFramebufferCreated 2017-02-07 00:08:45 +01:00
Henrik Rydgard
a0992cce75 Unify DestroyFramebuf() 2017-02-07 00:08:45 +01:00
Henrik Rydgard
f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
d05ef4a859 Pass through the DrawContext to texturecaches and fb managers.
This is preparation for sharing more framebuffer code between the
backends.
2017-02-05 19:51:50 +01:00
Henrik Rydgard
d7da981a62 Make the Dangan Ronpa hack use the compat system instead of hacky code 2017-01-29 00:12:20 +01:00
Henrik Rydgard
e15cba0e1b Centralize "Resized()" 2016-12-21 18:13:58 +01:00
Unknown W. Brackets
fa0e88f1b7 Add a flag to use the display vfb for screenshots.
This fixes proportions of reporting, savestate screenshots, and TAS
recording for PS1 ports, mainly.
2016-09-25 16:32:18 -07:00
Unknown W. Brackets
c9a9fc5e44 Allow block transfers to resize framebuffers.
Helps the ending video in Valkyrie Profile.  See #6008.
2016-07-24 15:58:06 -07:00
Unknown W. Brackets
c12f835364 Download single-use renders right away.
Should prevent issues with the memory being reused soon after, hopefully.
See also #8781 and #7695.
2016-06-04 19:36:30 -07:00
Unknown W. Brackets
68717411b1 Track when we see a clear indicate a size of a vfb. 2016-05-19 21:17:09 -07:00
Henrik Rydgard
339daede56 Clean up, start building some scaffolding 2016-03-31 00:49:10 +02:00
Henrik Rydgard
40d05e292c Cleanup in FramebufferVulkan to reduce the size of future diffs 2016-03-28 20:23:29 +02:00
Henrik Rydgard
da50370328 Split out VulkanTexture from VulkanContext.cpp/h into VulkanImage.cpp/h 2016-03-20 19:31:02 +01:00
Henrik Rydgard
cfcfd406fc Start porting TextureCache. Lots of stubbing going on. 2016-03-20 19:30:11 +01:00
Unknown W. Brackets
b40c3fd839 Use video format when uploading to framebuffers.
Expected to help Bounty Hound, #8392.
2016-01-17 12:57:27 -08:00
Henrik Rydgard
88ed44189d Remove some unused functionality from the framebuffer managers 2016-01-10 14:59:27 +01:00
Unknown W. Brackets
909d477719 Support CLUTs at an x offset.
Used by Kurohyo 2.  Highly unlikely to be a mis-estimate within stride.
2016-01-05 00:02:58 -08:00
Unknown W. Brackets
19877144ba Avoid redownloading CLUT when reloaded.
In Brave Story, the game reloads the CLUT frequently, but doesn't actually
render to the CLUT that often.  It also switches between a few different
rendered CLUTs - so caching that we've downloaded is a HUGE win.

In case someone reading this message is interested, it actually renders
these CLUT tables from what appears to be a color wheel.  Crazy huh?
2016-01-04 22:21:33 -08:00
Unknown W. Brackets
28a07c70c6 Explicitly download rendered cluts.
This avoids triggering logic that tries to get the sizing right, or
optimize frequent copies.  CLUTs often get estimated wrong, so it's better
to copy just the correct range, always.
2016-01-04 21:29:03 -08:00
Unknown W. Brackets
a6c64f74d1 Cleanup download process a bit more. 2016-01-04 20:51:43 -08:00
Unknown W. Brackets
4176ee241f Reuse more code between GPUs for download. 2016-01-04 20:40:07 -08:00
Unknown W. Brackets
517d5b7562 Warn when an upscaling shader is being used.
Otherwise it's potentially confusing that it doesn't change.  See #8310.
2015-12-27 12:05:12 -08:00
Unknown W. Brackets
8e2557bafe Support render-to-clut, at least in some cases.
This is pretty much only tested with Brave Story.  See #6754.

There may be other cases which are not handled yet.
2015-11-26 13:31:17 -08:00
Henrik Rydgard
3acdd4e237 We had two global types called FBO, which is not ok. Fix that.
This caused some very strange behaviour in the MSVC debugger when looking at this stuff.
2015-11-14 13:24:51 +01:00
Unknown W. Brackets
5ff3e6a5e7 Avoid polluting glstate in GetTempFBO().
Since we do this "late", we might overwrite important settings, such as
stencil, color masks, etc.

This affects both depal and fbo shader blending.

Didn't do it for all ClearBuffer()s, since I'm worried some might be
intentionally resetting state.
2015-11-03 22:37:19 -08:00
LunaMoo
71a0928d6b Flip display layout editor coordinates to match #8130:) 2015-11-03 00:28:47 +01:00
Henrik Rydgard
0266211b88 Two wrongs can appently make a right. Remove an inadvertent flip, add flips where we actually need them. 2015-11-02 20:09:24 +01:00
Henrik Rydgard
86bfce4006 Remove more obsolete v-flip support 2015-11-02 20:09:12 +01:00
LunaMoo
ae1cf1d85d Add Display layout editor to use for example on tablets, but also includes automatic screen cropping for 16:9 cases(default).
//Rebased & removed atlas stuff which was added with #8096
//squashed with some improvements
2015-10-31 20:50:02 +01:00
Henrik Rydgard
d3b265a3e4 Fix render resolution race condition. Should help #8002 2015-09-27 20:00:47 +02:00
Henrik Rydgard
ec63663ad5 More consistent handling of resolution changes. Should help #7995 2015-09-23 12:25:38 +02:00
Henrik Rydgard
4d18d478a0 Sample renderWidth/pixelWidth/height once per frame for the framebuffer manager. 2015-09-19 16:19:03 +02:00
Unknown W. Brackets
93e9d6cd56 Respect framebuffer offset in fb copies.
We need to offset the copy coordinates also, or we'll copy the wrong
thing.
2015-09-13 11:35:15 -07:00
Unknown W. Brackets
62de281e35 Use texture UV range to optimize framebuf copies. 2015-09-13 11:34:52 -07:00
Henrik Rydgard
d7f4c47c22 Refactor: Even more getting rid of gstate access in the framebuffer manager. 2015-08-05 12:13:14 +02:00
Henrik Rydgard
d7c76cb1da Refactor: More work towards getting rid of gstate accesses from the framebuffer manager 2015-08-05 11:51:24 +02:00
Henrik Rydgard
454a363876 Reorganize all the gstate fetching in FramebufferCommon to one place 2015-08-05 11:36:02 +02:00
Henrik Rydgard
d26b74d4d6 GPU refactor: Move accesses to gstate out of leaf functions 2015-08-05 01:03:49 +02:00
Henrik Rydgard
2430c283a5 More GPU cleaning, removing uses of GPUState.h where not needed.
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.

Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard
95b6b50fd5 Disable screen rotation in non-buffered rendering (as it won't worK) 2015-05-12 22:44:18 +02:00
Henrik Rydgard
3f7830743a Implement basic screen rotation as requested in #297 . Does not work correctly in non-buffered rendering yet. 2015-05-12 21:01:15 +02:00
Unknown W. Brackets
7e0489c83e Keep better track of framebuf usage flags. 2015-03-14 15:21:58 -07:00
Luna
ff9d33d2a7 Move the hack to FramebufferCommon.cpp and rename. 2015-01-23 10:40:49 +01:00
Unknown W. Brackets
b9d7ffe484 d3d: Support the Danganronpa hack. 2014-09-13 16:47:23 -07:00
Unknown W. Brackets
2463074530 d3d: Converge block transfer logic. 2014-09-13 15:40:55 -07:00
Unknown W. Brackets
971dd5df1e d3d: Unify BlitFramebuffer() as well. 2014-09-13 15:12:59 -07:00