Browse Source

gl_rasterizer: Skip zero addr/sized regions on flush/invalidate.

bunnei 7 years ago
parent
commit
032e4c4ca3
1 changed files with 6 additions and 0 deletions
  1. 6 0
      src/video_core/renderer_opengl/gl_rasterizer.cpp

+ 6 - 0
src/video_core/renderer_opengl/gl_rasterizer.cpp

@@ -749,11 +749,17 @@ void RasterizerOpenGL::FlushAll() {}
 
 void RasterizerOpenGL::FlushRegion(CacheAddr addr, u64 size) {
     MICROPROFILE_SCOPE(OpenGL_CacheManagement);
+    if (!addr || !size) {
+        return;
+    }
     res_cache.FlushRegion(addr, size);
 }
 
 void RasterizerOpenGL::InvalidateRegion(CacheAddr addr, u64 size) {
     MICROPROFILE_SCOPE(OpenGL_CacheManagement);
+    if (!addr || !size) {
+        return;
+    }
     res_cache.InvalidateRegion(addr, size);
     shader_cache.InvalidateRegion(addr, size);
     global_cache.InvalidateRegion(addr, size);