Align scanline to multiple of 16, required for ASM

This commit is contained in:
Armin Novak 2017-02-15 11:56:50 +01:00
parent f24b112514
commit 03abaf1aee
1 changed files with 6 additions and 1 deletions

View File

@ -176,8 +176,9 @@ UINT xf_OutputExpose(xfContext* xfc, UINT32 x, UINT32 y,
return status;
}
static INLINE UINT32 x11_pad_scanline(UINT32 scanline, UINT32 inPad)
UINT32 x11_pad_scanline(UINT32 scanline, UINT32 inPad)
{
/* Ensure X11 alignment is met */
if (inPad > 0)
{
const UINT32 align = inPad / 8;
@ -187,6 +188,10 @@ static INLINE UINT32 x11_pad_scanline(UINT32 scanline, UINT32 inPad)
scanline += pad;
}
/* 16 byte alingment is required for ASM optimized code */
if (scanline % 16)
scanline += 16 - scanline % 16;
return scanline;
}