diff --git a/src/renderer.c b/src/renderer.c index 897857d04abc91085db08fd40c0b8d7dec66fc79..34cd2ea53450269cc8006618b40dba6e3e5b92dc 100644 --- a/src/renderer.c +++ b/src/renderer.c @@ -628,9 +628,7 @@ static struct sampler_info sample_src_info(struct pass_state *pass, return info; } - if (!pass->fbofmt[4] || (rr->errors & PL_RENDER_ERR_SAMPLING) || - !info.config) - { + if ((rr->errors & PL_RENDER_ERR_SAMPLING) || !info.config) { info.type = SAMPLER_DIRECT; } else if (info.config->kernel == &pl_filter_function_oversample) { info.type = SAMPLER_OVERSAMPLE; @@ -652,6 +650,10 @@ static struct sampler_info sample_src_info(struct pass_state *pass, } } + // Disable advanced scaling without FBOs + if (!pass->fbofmt[4] && info.type == SAMPLER_COMPLEX) + info.type = SAMPLER_DIRECT; + return info; }