diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp index 0f66284180..5153ed8dba 100644 --- a/Source/Core/VideoCommon/TextureCacheBase.cpp +++ b/Source/Core/VideoCommon/TextureCacheBase.cpp @@ -2685,7 +2685,8 @@ void TextureCacheBase::CopyEFBToCacheEntry(TCacheEntry* entry, bool is_depth_cop uniforms.filter_coefficients[2] = filter_coefficients.lower; uniforms.gamma_rcp = 1.0f / gamma; uniforms.clamp_top = clamp_top ? framebuffer_rect.top * rcp_efb_height : 0.0f; - uniforms.clamp_bottom = clamp_bottom ? framebuffer_rect.bottom * rcp_efb_height : 1.0f; + int bottom_coord = framebuffer_rect.bottom - 1; + uniforms.clamp_bottom = clamp_bottom ? bottom_coord * rcp_efb_height : 1.0f; uniforms.pixel_height = g_ActiveConfig.bCopyEFBScaled ? rcp_efb_height : 1.0f / EFB_HEIGHT; uniforms.padding = 0; g_vertex_manager->UploadUtilityUniforms(&uniforms, sizeof(uniforms)); @@ -2750,7 +2751,8 @@ void TextureCacheBase::CopyEFB(AbstractStagingTexture* dst, const EFBCopyParams& encoder_params.y_scale = y_scale; encoder_params.gamma_rcp = 1.0f / gamma; encoder_params.clamp_top = clamp_top ? framebuffer_rect.top * rcp_efb_height : 0.0f; - encoder_params.clamp_bottom = clamp_bottom ? framebuffer_rect.bottom * rcp_efb_height : 1.0f; + int bottom_coord = framebuffer_rect.bottom - 1; + encoder_params.clamp_bottom = clamp_bottom ? bottom_coord * rcp_efb_height : 1.0f; encoder_params.filter_coefficients[0] = filter_coefficients.upper; encoder_params.filter_coefficients[1] = filter_coefficients.middle; encoder_params.filter_coefficients[2] = filter_coefficients.lower;