summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/FramebufferManager.cpp
AgeCommit message (Collapse)Author
2022-07-21VideoBackends:Metal: MSAA supportTellowKrinkle
2022-05-25Common: Refactor PointerWrapDentomologist
2022-02-21FramebufferManager: Flush pending EFB pokes in PopulateEFBCachePokechu22
I.e. flush pokes before running an EFB peek, if the cache tile isn't present. If the cache tile is present, then EFB pokes should have been written to the cache tile and thus don't need to be flushed.
2022-01-01VideoCommon: Add names for textures and shadersPokechu22
2021-12-18Eliminate VarType for ComponentFormatPokechu22
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2020-11-17VideoCommon: Migrate over to fmtLioncash
Migrates off the printf-based formatting where applicable.
2020-09-25FramebufferManager: Fix EFB readbacks with MSAA onStenzek
Regression from #8827.
2020-05-28Merge pull request #8827 from stenzek/adreno-more-like-brokenrenoConnor McLaughlin
FramebufferManager: Fix invalid readback of EFB D24S8 depth
2020-05-25VideoCommon/ShaderGenCommon: Make template functions regular functionsLioncash
These are only ever used with ShaderCode instances and nothing else. Given that, we can convert these helper functions to expect that type of object as an argument and remove the need for templates, improving compiler throughput a marginal amount, as the template instantiation process doesn't need to be performed. We can also move the definitions of these functions into the cpp file, which allows us to remove a few inclusions from the ShaderGenCommon header. This uncovered a few instances of indirect inclusions being relied upon in other source files. One other benefit is this allows changes to be made to the definitions of the functions without needing to recompile all translation units that make use of these functions, making change testing a little quicker. Moving the definitions into the cpp file also allows us to completely hide DefineOutputMember() from external view, given it's only ever used inside of GenerateVSOutputMembers().
2020-05-24FramebufferManager: Copy to color format for depth readbacks on GLESStenzek
glReadPixels() with depth formats is not supported. Should fix broken EFB access on GLES.
2020-05-24FramebufferManager: Fix invalid readback of EFB D24S8 depthStenzek
Fixes assertion tripping when saving state on Adreno.
2019-08-08Merge pull request #8276 from stenzek/adreno-efb-accessConnor McLaughlin
Fix CPU EFB access on Adreno with Vulkan backend
2019-08-03FramebufferManager: Fix restoring of EFB depth bufferStenzek
Correct state wasn't being set.
2019-07-31FramebufferManager: Correctly handle read back D24S8 texturesStenzek
Needed for the Adreno/Vulkan workaround, and if we ever switch to a D24 texture for the depth buffer w/ unrestricted depth range.
2019-07-24Config: Add an option to skip saving texture cache to save stateStenzek
2019-07-24FramebufferManager: Support saving EFB to save stateStenzek
2019-04-28FramebufferManager: Fix invalid transitions for 1xIR in EFB cacheStenzek
2019-03-30FramebufferManager: Fix broken EFB peeks in GL with MSAA onStenzek
2019-03-29Merge pull request #7895 from stenzek/framebuffer-corruptionConnor McLaughlin
FramebufferManager: Don't discard in ReinterpretPixelData
2019-03-27Merge pull request #7934 from stenzek/stretched-efb-peeksJMC47
FramebufferManager: Fix EFB peek cache stretching last tile
2019-03-27FramebufferManager: Fix EFB pokes being offset by 1 in D3DStenzek
2019-03-27FramebufferManager: Fix EFB peek cache stretching last tileStenzek
2019-03-24FramebufferManager: Only clear tile array when validStenzek
When looking into the Faron Woods fifolog, I noticed this code was quite high in the profile (~10%). Clearing 4096 entries from the vector isn't needed every draw, we only need to do this when the cache was actually valid in the first place. Should provide a slight general performance boost.
2019-03-16FramebufferManager: Don't discard in ReinterpretPixelDataStenzek
This was causing the depth buffer to be discarded as well, which has an effect on mobiles (doesn't get loaded into tile memory). If we find this is hindering performance (remember, the EFB is only a 640x528 texture), it may be worth changing the interface to support discarding only the colour buffer.
2019-03-12FramebufferManager: Fix panic in VertexManager with large EFB depth poke batchesStenzek
2019-03-09FramebufferManager: Implement deferred EFB cache invalidationStenzek
2019-03-09FramebufferManager: Implement EFB tile cacheStenzek
The new tile cache is dynamic in size and can be turned on/off.
2019-02-19Move most backend functionality to VideoCommonStenzek