Merge pull request #12208 from PatrickFerry/add-vertex-depth-range-case

Use Vertex Depth Range when zRange Exceeds farZ
This commit is contained in:
Jules Blok
2024-10-05 14:14:11 +02:00
committed by GitHub

View File

@ -148,9 +148,15 @@ bool VertexShaderManager::UseVertexDepthRange()
return true; return true;
// If an inverted depth range is unsupported, we also need to check if the range is inverted. // If an inverted depth range is unsupported, we also need to check if the range is inverted.
if (!g_ActiveConfig.backend_info.bSupportsReversedDepthRange && xfmem.viewport.zRange < 0.0f) if (!g_ActiveConfig.backend_info.bSupportsReversedDepthRange)
{
if (xfmem.viewport.zRange < 0.0f)
return true; return true;
if (xfmem.viewport.zRange > xfmem.viewport.farZ)
return true;
}
// If an oversized depth range or a ztexture is used, we need to calculate the depth range // If an oversized depth range or a ztexture is used, we need to calculate the depth range
// in the vertex shader. // in the vertex shader.
return fabs(xfmem.viewport.zRange) > 16777215.0f || fabs(xfmem.viewport.farZ) > 16777215.0f; return fabs(xfmem.viewport.zRange) > 16777215.0f || fabs(xfmem.viewport.farZ) > 16777215.0f;