From bf6ab1efc8cdc5cb85a268726b289dd8bb3ab167 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sat, 4 Feb 2017 21:55:56 +0100 Subject: [PATCH] Clip sprites by thread slice --- src/swrenderer/viewport/r_spritedrawer.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/swrenderer/viewport/r_spritedrawer.cpp b/src/swrenderer/viewport/r_spritedrawer.cpp index 2796f26bf..441eedc0a 100644 --- a/src/swrenderer/viewport/r_spritedrawer.cpp +++ b/src/swrenderer/viewport/r_spritedrawer.cpp @@ -45,6 +45,9 @@ namespace swrenderer void SpriteDrawerArgs::DrawMaskedColumn(RenderThread *thread, int x, fixed_t iscale, FTexture *tex, fixed_t col, double spryscale, double sprtopscreen, bool sprflipvert, const short *mfloorclip, const short *mceilingclip, bool unmasked) { + if (x < thread->X1 || x >= thread->X2) + return; + auto viewport = RenderViewport::Instance(); // Handle the linear filtered version in a different function to reduce chances of merge conflicts from zdoom.