From 2787a0c2875c6c686a50a03e446099124824b17f Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Sat, 20 Apr 2019 20:01:26 -0300 Subject: texture_cache: Flush 3D textures in the order they are drawn --- src/video_core/renderer_opengl/gl_texture_cache.cpp | 5 +++-- src/video_core/renderer_opengl/gl_texture_cache.h | 6 ++++-- src/video_core/renderer_opengl/renderer_opengl.cpp | 1 - 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src/video_core/renderer_opengl') diff --git a/src/video_core/renderer_opengl/gl_texture_cache.cpp b/src/video_core/renderer_opengl/gl_texture_cache.cpp index da2d1e63a..362f4019c 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.cpp +++ b/src/video_core/renderer_opengl/gl_texture_cache.cpp @@ -235,8 +235,9 @@ void SwizzleFunc(MortonSwizzleMode mode, u8* memory, const SurfaceParams& params } // Anonymous namespace -CachedSurface::CachedSurface(const SurfaceParams& params) - : VideoCommon::SurfaceBaseContextless{params} { +CachedSurface::CachedSurface(TextureCacheOpenGL& texture_cache, const SurfaceParams& params) + : VideoCommon::SurfaceBaseContextless{texture_cache, + params} { const auto& tuple{GetFormatTuple(params.GetPixelFormat(), params.GetComponentType())}; internal_format = tuple.internal_format; format = tuple.format; diff --git a/src/video_core/renderer_opengl/gl_texture_cache.h b/src/video_core/renderer_opengl/gl_texture_cache.h index 8705db74c..e6448c6f8 100644 --- a/src/video_core/renderer_opengl/gl_texture_cache.h +++ b/src/video_core/renderer_opengl/gl_texture_cache.h @@ -26,15 +26,17 @@ using VideoCore::Surface::SurfaceType; class CachedSurfaceView; class CachedSurface; +class TextureCacheOpenGL; using Surface = std::shared_ptr; using TextureCacheBase = VideoCommon::TextureCacheContextless; -class CachedSurface final : public VideoCommon::SurfaceBaseContextless { +class CachedSurface final + : public VideoCommon::SurfaceBaseContextless { friend CachedSurfaceView; public: - explicit CachedSurface(const SurfaceParams& params); + explicit CachedSurface(TextureCacheOpenGL& texture_cache, const SurfaceParams& params); ~CachedSurface(); void LoadBuffer(); diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp index 710bf8303..aafd6f31b 100644 --- a/src/video_core/renderer_opengl/renderer_opengl.cpp +++ b/src/video_core/renderer_opengl/renderer_opengl.cpp @@ -460,7 +460,6 @@ static void APIENTRY DebugHandler(GLenum source, GLenum type, GLuint id, GLenum switch (severity) { case GL_DEBUG_SEVERITY_HIGH: LOG_CRITICAL(Render_OpenGL, format, str_source, str_type, id, message); - __debugbreak(); break; case GL_DEBUG_SEVERITY_MEDIUM: LOG_WARNING(Render_OpenGL, format, str_source, str_type, id, message); -- cgit v1.2.3