From e3ff14bda14067286ba2440aeedab728317d7f9c Mon Sep 17 00:00:00 2001 From: Artem Kharytoniuk Date: Fri, 28 Apr 2017 21:10:42 +0300 Subject: [PATCH] Fixed bug in SurfIsOffscreen. This function is called by the frontend but it uses backend functionality to tesselate geometry. It didn't clean up genereated tess data so backend received unnecessary, geometry to render. It wasn't visible since viewport dimensions defaulted to zero values still vulkan validation layer detected invalid vkCmdSetViewport parameters. --- src/engine/renderer/tr_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/engine/renderer/tr_main.c b/src/engine/renderer/tr_main.c index 7e9a7a8..9827dc2 100644 --- a/src/engine/renderer/tr_main.c +++ b/src/engine/renderer/tr_main.c @@ -854,6 +854,7 @@ static qboolean SurfIsOffscreen( const drawSurf_t *drawSurf, vec4_t clipDest[128 // trivially reject if ( pointAnd ) { + tess.numIndexes = 0; return qtrue; } @@ -883,6 +884,7 @@ static qboolean SurfIsOffscreen( const drawSurf_t *drawSurf, vec4_t clipDest[128 numTriangles--; } } + tess.numIndexes = 0; if ( !numTriangles ) { return qtrue;