summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDr.Smile <vabnick@gmail.com>2021-04-30 11:36:38 +0300
committerDr.Smile <vabnick@gmail.com>2021-04-30 11:36:38 +0300
commitdb5813281393e39ea996118fd02ddb9442ad3889 (patch)
tree59f2fac3e3663cb069ea91551907ce69afe383bd
parentaa4c9bfefb3b2d652aeac342fdf9f33987507f72 (diff)
downloadlibass-db5813281393e39ea996118fd02ddb9442ad3889.tar.bz2
libass-db5813281393e39ea996118fd02ddb9442ad3889.tar.xz
rasterizer: fix assembly for WIN64
Second argument of cglobal macro for fill_halfplane in 64-bit mode should always be 6 to preload all function arguments into registers. It doesn't matter under *nix as the first 6 arguments are already in registers according to calling conventions, but under WIN64 it's only the first 4.
-rw-r--r--libass/x86/rasterizer.asm4
1 files changed, 3 insertions, 1 deletions
diff --git a/libass/x86/rasterizer.asm b/libass/x86/rasterizer.asm
index 0b53c10..909eb47 100644
--- a/libass/x86/rasterizer.asm
+++ b/libass/x86/rasterizer.asm
@@ -120,7 +120,9 @@ FILL_SOLID_TILE 5,32
DEF_A_SHIFT %1
%if ARCH_X86_64 && a_shift
cglobal fill_halfplane_tile%2, 6,7,9
-%elif ARCH_X86_64 || !PIC
+%elif ARCH_X86_64
+cglobal fill_halfplane_tile%2, 6,7,8
+%elif !PIC
cglobal fill_halfplane_tile%2, 0,7,8
%else
cglobal fill_halfplane_tile%2, 0,7,8, -mmsize