Hmm this is difficult to fix, since in theory, the padding on the outside should not be added by the game itself. And to workaround this, each shader would need to be patched in order for this to work - which wouldn't be a problem if every shader used the ReShade.fxh (which unifies depth access) but shaders like Depth3D don't do that.

To fix most shaders, open the ReShade.fxh and find this function:

float GetLinearizedDepth(float2 texcoord)
{
#if RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
texcoord.y = 1.0 - texcoord.y;
#endif
float depth = tex2Dlod(DepthBuffer, float4(texcoord, 0, 0)).x;
#if RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
const float C = 0.01;
depth = (exp(depth * log(C + 1.0)) - 1.0) / C;
#endif
#if RESHADE_DEPTH_INPUT_IS_REVERSED
depth = 1.0 - depth;
#endif
const float N = 1.0;
depth /= RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - depth * (RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - N);
return depth;
}

Modify so it looks like this

float GetLinearizedDepth(float2 texcoord)
{
float aspect_fix = 21.0 / 16.0; //adjust source/destination ratio
texcoord.x = (texcoord.x - 0.5) * aspect_fix + 0.5 ;
#if RESHADE_DEPTH_INPUT_IS_UPSIDE_DOWN
texcoord.y = 1.0 - texcoord.y;
#endif
float depth = tex2Dlod(DepthBuffer, float4(texcoord, 0, 0)).x;
#if RESHADE_DEPTH_INPUT_IS_LOGARITHMIC
const float C = 0.01;
depth = (exp(depth * log(C + 1.0)) - 1.0) / C;
#endif
#if RESHADE_DEPTH_INPUT_IS_REVERSED
depth = 1.0 - depth;
#endif
const float N = 1.0;
depth /= RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - depth * (RESHADE_DEPTH_LINEARIZATION_FAR_PLANE - N);
return depth;
}

That

*should *work. To fix the qUINT shaders (if you use them), do the same inside the qUINT_common.fxh except I named texcoord uv there.