diff options
| author | Stenzek <stenzek@gmail.com> | 2019-03-02 17:05:38 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-03-09 12:24:04 +1000 |
| commit | a218a794cb365690fe33099be14fbf3b08de5d33 (patch) | |
| tree | 29916e77ee951dbe9d4bd2220a1ab7edbe0cadc7 /Source/Core/VideoCommon/FramebufferManager.h | |
| parent | 6bc4bfd26af96de8642e75bbf644722c44baeb7b (diff) | |
FramebufferManager: Implement deferred EFB cache invalidation
Diffstat (limited to 'Source/Core/VideoCommon/FramebufferManager.h')
| -rw-r--r-- | Source/Core/VideoCommon/FramebufferManager.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/FramebufferManager.h b/Source/Core/VideoCommon/FramebufferManager.h index b6fb53f949..b97d45b31e 100644 --- a/Source/Core/VideoCommon/FramebufferManager.h +++ b/Source/Core/VideoCommon/FramebufferManager.h @@ -9,10 +9,10 @@ #include <optional> #include "Common/CommonTypes.h" -#include "VideoCommon/AbstractTexture.h" #include "VideoCommon/AbstractFramebuffer.h" -#include "VideoCommon/AbstractStagingTexture.h" #include "VideoCommon/AbstractPipeline.h" +#include "VideoCommon/AbstractStagingTexture.h" +#include "VideoCommon/AbstractTexture.h" #include "VideoCommon/RenderState.h" #include "VideoCommon/TextureConfig.h" @@ -87,7 +87,8 @@ public: u32 PeekEFBColor(u32 x, u32 y); float PeekEFBDepth(u32 x, u32 y); void SetEFBCacheTileSize(u32 size); - void InvalidatePeekCache(); + void InvalidatePeekCache(bool forced = true); + void FlagPeekCacheAsOutOfDate(); // Writes a value to the framebuffer. This will never block, and writes will be batched. void PokeEFBColor(u32 x, u32 y, u32 color); @@ -111,6 +112,7 @@ protected: std::unique_ptr<AbstractStagingTexture> readback_texture; std::unique_ptr<AbstractPipeline> copy_pipeline; std::vector<bool> tiles; + bool out_of_date; bool valid; }; |
