aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-04-20 20:01:26 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-06-20 21:36:11 -0300
commit2787a0c2875c6c686a50a03e446099124824b17f (patch)
treea025917ee353401e5880089e0038a0ea953ffb37 /src/video_core/renderer_opengl
parent4b396f375c0d32b60595f224d06b1b63d6df6b0a (diff)
texture_cache: Flush 3D textures in the order they are drawn
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.cpp5
-rw-r--r--src/video_core/renderer_opengl/gl_texture_cache.h6
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp1
3 files changed, 7 insertions, 5 deletions
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<CachedSurfaceView>{params} {
+CachedSurface::CachedSurface(TextureCacheOpenGL& texture_cache, const SurfaceParams& params)
+ : VideoCommon::SurfaceBaseContextless<TextureCacheOpenGL, CachedSurfaceView>{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<CachedSurface>;
using TextureCacheBase = VideoCommon::TextureCacheContextless<CachedSurface, CachedSurfaceView>;
-class CachedSurface final : public VideoCommon::SurfaceBaseContextless<CachedSurfaceView> {
+class CachedSurface final
+ : public VideoCommon::SurfaceBaseContextless<TextureCacheOpenGL, CachedSurfaceView> {
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);