summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.h17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index 39fd7cd75..77d925250 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -819,28 +819,20 @@ struct hash<SurfaceReserveKey> {
namespace OpenGL {
-class CachedSurface final {
+class CachedSurface final : public RasterizerCacheObject {
public:
CachedSurface(const SurfaceParams& params);
- VAddr GetAddr() const {
+ VAddr GetAddr() const override {
return params.addr;
}
- std::size_t GetSizeInBytes() const {
+ std::size_t GetSizeInBytes() const override {
return cached_size_in_bytes;
}
- void Flush() {
- // There is no need to flush the surface if it hasn't been modified by us.
- if (!dirty)
- return;
+ void Flush() override {
FlushGLBuffer();
- dirty = false;
- }
-
- void MarkAsDirty() {
- dirty = true;
}
const OGLTexture& Texture() const {
@@ -868,7 +860,6 @@ private:
SurfaceParams params;
GLenum gl_target;
std::size_t cached_size_in_bytes;
- bool dirty = false;
};
class RasterizerCacheOpenGL final : public RasterizerCache<Surface> {