EFB2RAM: Downsample higher resolutions with linear filtering.

This commit is contained in:
Scott Mansell
2016-09-07 11:17:32 +12:00
parent 18030ebfb4
commit f5c70a4b27
3 changed files with 15 additions and 5 deletions

View File

@ -227,7 +227,11 @@ static void EncodeToRamUsingShader(GLuint srcTexture, u8* destAddr, u32 dst_line
glActiveTexture(GL_TEXTURE9);
glBindTexture(GL_TEXTURE_2D_ARRAY, srcTexture);
if (linearFilter)
// We also linear filtering for both box filtering and downsampling higher resolutions to 1x
// TODO: This only produces perfect downsampling for 1.5x and 2x IR, other resolution will
// need more complex down filtering to average all pixels and produce the correct result.
// Also, box filtering won't be correct for anything other than 1x IR
if (linearFilter || g_ActiveConfig.iEFBScale != SCALE_1X)
g_sampler_cache->BindLinearSampler(9);
else
g_sampler_cache->BindNearestSampler(9);