diff options
author | Markus Wick <markus@selfnet.de> | 2016-12-06 23:23:21 +0100 |
---|---|---|
committer | Markus Wick <markus@selfnet.de> | 2016-12-07 22:09:13 +0100 |
commit | d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20 (patch) | |
tree | 10c243950e415f866488dab1ce57a25ca2e50984 /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | |
parent | Merge pull request #2232 from wwylele/other-save (diff) | |
download | yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar.gz yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar.bz2 yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar.lz yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar.xz yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.tar.zst yuzu-d0d49bb9513c52bc8fe9b8a41fb0471dccb9ed20.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index 61f6e767f..0b2e48407 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp @@ -103,7 +103,7 @@ static void MortonCopyPixels(CachedSurface::PixelFormat pixel_format, u32 width, } } -bool RasterizerCacheOpenGL::BlitTextures(GLuint src_tex, GLuint dst_tex, +void RasterizerCacheOpenGL::BlitTextures(GLuint src_tex, GLuint dst_tex, CachedSurface::SurfaceType type, const MathUtil::Rectangle<int>& src_rect, const MathUtil::Rectangle<int>& dst_rect) { @@ -158,21 +158,14 @@ bool RasterizerCacheOpenGL::BlitTextures(GLuint src_tex, GLuint dst_tex, buffers = GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT; } - bool can_blit = OpenGLState::CheckFBStatus(GL_READ_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE && - OpenGLState::CheckFBStatus(GL_DRAW_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE; - - if (can_blit) { - glBlitFramebuffer(src_rect.left, src_rect.top, src_rect.right, src_rect.bottom, - dst_rect.left, dst_rect.top, dst_rect.right, dst_rect.bottom, buffers, - buffers == GL_COLOR_BUFFER_BIT ? GL_LINEAR : GL_NEAREST); - } + glBlitFramebuffer(src_rect.left, src_rect.top, src_rect.right, src_rect.bottom, dst_rect.left, + dst_rect.top, dst_rect.right, dst_rect.bottom, buffers, + buffers == GL_COLOR_BUFFER_BIT ? GL_LINEAR : GL_NEAREST); // Restore previous framebuffer bindings cur_state.draw.read_framebuffer = old_fbs[0]; cur_state.draw.draw_framebuffer = old_fbs[1]; cur_state.Apply(); - - return can_blit; } bool RasterizerCacheOpenGL::TryBlitSurfaces(CachedSurface* src_surface, @@ -186,9 +179,9 @@ bool RasterizerCacheOpenGL::TryBlitSurfaces(CachedSurface* src_surface, return false; } - return BlitTextures(src_surface->texture.handle, dst_surface->texture.handle, - CachedSurface::GetFormatType(src_surface->pixel_format), src_rect, - dst_rect); + BlitTextures(src_surface->texture.handle, dst_surface->texture.handle, + CachedSurface::GetFormatType(src_surface->pixel_format), src_rect, dst_rect); + return true; } static void AllocateSurfaceTexture(GLuint texture, CachedSurface::PixelFormat pixel_format, |