diff --git a/gfx/gl.c b/gfx/gl.c index 355b2b47bb..7deaa7a1d3 100644 --- a/gfx/gl.c +++ b/gfx/gl.c @@ -566,7 +566,7 @@ static void gl_update_tex_filter_frame(gl_t *gl) { bool smooth = false; if (!gl_shader_filter_type(gl, 1, &smooth)) - return; + smooth = g_settings.video.smooth; GLuint new_filt = smooth ? GL_LINEAR : GL_NEAREST; if (new_filt == gl->tex_filter) @@ -590,8 +590,6 @@ void gl_init_fbo(void *data, unsigned width, unsigned height) { gl_t *gl = (gl_t*)data; - gl_update_tex_filter_frame(gl); - if (gl_shader_num(gl) == 0) return; @@ -1983,6 +1981,8 @@ static bool gl_set_shader(void *data, enum rarch_shader_type type, const char *p return false; } + gl_update_tex_filter_frame(gl); + #ifdef HAVE_FBO // Set up render to texture again. gl_init_fbo(gl, gl->tex_w, gl->tex_h);