diff options
| -rw-r--r-- | src/common/math_util.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/common/math_util.h b/src/common/math_util.h index 4b0910741..d44b06e74 100644 --- a/src/common/math_util.h +++ b/src/common/math_util.h | |||
| @@ -12,7 +12,7 @@ namespace MathUtil | |||
| 12 | { | 12 | { |
| 13 | 13 | ||
| 14 | inline bool IntervalsIntersect(unsigned start0, unsigned length0, unsigned start1, unsigned length1) { | 14 | inline bool IntervalsIntersect(unsigned start0, unsigned length0, unsigned start1, unsigned length1) { |
| 15 | return (std::max(start0, start1) <= std::min(start0 + length0, start1 + length1)); | 15 | return (std::max(start0, start1) < std::min(start0 + length0, start1 + length1)); |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | template<typename T> | 18 | template<typename T> |
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 3396d72cc..faab77ff5 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -217,7 +217,19 @@ void RasterizerOpenGL::DrawTriangles() { | |||
| 217 | 217 | ||
| 218 | vertex_batch.clear(); | 218 | vertex_batch.clear(); |
| 219 | 219 | ||
| 220 | // TODO: Flush the resource cache at the current depth and color framebuffer addresses for render-to-texture | 220 | // Flush the resource cache at the current depth and color framebuffer addresses for render-to-texture |
| 221 | const auto& regs = Pica::g_state.regs; | ||
| 222 | |||
| 223 | PAddr cur_fb_color_addr = regs.framebuffer.GetColorBufferPhysicalAddress(); | ||
| 224 | u32 cur_fb_color_size = Pica::Regs::BytesPerColorPixel(regs.framebuffer.color_format) | ||
| 225 | * regs.framebuffer.GetWidth() * regs.framebuffer.GetHeight(); | ||
| 226 | |||
| 227 | PAddr cur_fb_depth_addr = regs.framebuffer.GetDepthBufferPhysicalAddress(); | ||
| 228 | u32 cur_fb_depth_size = Pica::Regs::BytesPerDepthPixel(regs.framebuffer.depth_format) | ||
| 229 | * regs.framebuffer.GetWidth() * regs.framebuffer.GetHeight(); | ||
| 230 | |||
| 231 | res_cache.NotifyFlush(cur_fb_color_addr, cur_fb_color_size); | ||
| 232 | res_cache.NotifyFlush(cur_fb_depth_addr, cur_fb_depth_size); | ||
| 221 | } | 233 | } |
| 222 | 234 | ||
| 223 | void RasterizerOpenGL::CommitFramebuffer() { | 235 | void RasterizerOpenGL::CommitFramebuffer() { |