summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp16
1 files changed, 2 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 b2250e6be..81b86b7a5 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
@@ -878,6 +878,8 @@ CachedSurface::CachedSurface(const SurfaceParams& params)
878 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_MAG_FILTER, GL_LINEAR); 878 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_MAG_FILTER, GL_LINEAR);
879 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); 879 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
880 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); 880 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
881 glTexParameteri(SurfaceTargetToGL(params.target), GL_TEXTURE_MAX_LEVEL,
882 params.max_mip_level - 1);
881 if (params.max_mip_level == 1) { 883 if (params.max_mip_level == 1) {
882 glTexParameterf(SurfaceTargetToGL(params.target), GL_TEXTURE_LOD_BIAS, 1000.0); 884 glTexParameterf(SurfaceTargetToGL(params.target), GL_TEXTURE_LOD_BIAS, 1000.0);
883 } 885 }
@@ -1196,20 +1198,6 @@ void CachedSurface::UploadGLTexture(GLuint read_fb_handle, GLuint draw_fb_handle
1196 1198
1197 for (u32 i = 0; i < params.max_mip_level; i++) 1199 for (u32 i = 0; i < params.max_mip_level; i++)
1198 UploadGLMipmapTexture(i, read_fb_handle, draw_fb_handle); 1200 UploadGLMipmapTexture(i, read_fb_handle, draw_fb_handle);
1199
1200 if (params.max_mip_level == 1) {
1201 const GLuint target_tex = texture.handle;
1202 OpenGLState cur_state = OpenGLState::GetCurState();
1203 const auto& old_tex = cur_state.texture_units[0];
1204 SCOPE_EXIT({
1205 cur_state.texture_units[0] = old_tex;
1206 cur_state.Apply();
1207 });
1208 cur_state.texture_units[0].texture = target_tex;
1209 cur_state.texture_units[0].target = SurfaceTargetToGL(params.target);
1210 cur_state.Apply();
1211 glGenerateMipmap(SurfaceTargetToGL(params.target));
1212 }
1213} 1201}
1214 1202
1215RasterizerCacheOpenGL::RasterizerCacheOpenGL() { 1203RasterizerCacheOpenGL::RasterizerCacheOpenGL() {