From b1686a8f6a96036d5b4b4e18859bbb19b7859314 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Tue, 24 Jul 2018 16:55:48 +0200 Subject: [PATCH] Do not allow inf z value in the vertex shader. Clamp w to a very small value. Fixes ground triangles clipping in Soulcalibur intro sequence. --- core/rend/gles/gles.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/rend/gles/gles.cpp b/core/rend/gles/gles.cpp index 35d32b33c..46e0d68b8 100755 --- a/core/rend/gles/gles.cpp +++ b/core/rend/gles/gles.cpp @@ -108,7 +108,10 @@ void main() \n\ vtx_offs=in_offs; \n\ vtx_uv=in_uv; \n\ vec4 vpos=in_pos; \n\ - vpos.w=1.0/vpos.z; \n" + if (isinf(vpos.z)) \n\ + vpos.w = 1.18e-38; \n\ + else \n\ + vpos.w = 1.0 / vpos.z; \n" #ifndef GLES "\ if (vpos.w < 0.0) { \n\