summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-10-16 22:51:53 +0200
committerbunnei <bunneidev@gmail.com>2018-10-16 22:51:53 +0200
commit91602de7f27e391c8e322a2670ef9d50a64f7517 (patch)
tree82338c004e99032bf195b173f0c0ea7ed34c4f02 /src/video_core/renderer_opengl/gl_rasterizer_cache.h
parentgl_rasterizer_cache: Refactor to only call GetRegionEnd on surface creation. (diff)
downloadyuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar.gz
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar.bz2
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar.lz
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar.xz
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.tar.zst
yuzu-91602de7f27e391c8e322a2670ef9d50a64f7517.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h')
-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> {