bmOverwrite nonsimd benchmark

This commit is contained in:
Ryan Oldenburg 2021-12-13 03:00:38 -06:00
parent 5199b83c32
commit 805857df3f
2 changed files with 17 additions and 2 deletions

View file

@ -72,6 +72,19 @@ block:
# tmp.writeFile("tmp2.png")
block:
let
backdrop = readImage("tests/fileformats/svg/masters/dragon2.png")
source = readImage("tests/fileformats/svg/masters/Ghostscript_Tiger.png")
tmp = newImage(1568, 940)
timeIt "pixie draw overwrite":
# tmp.fill(rgbx(127, 127, 127, 255))
tmp.draw(backdrop, blendMode = bmOverwrite)
tmp.draw(source)
# tmp.writeFile("tmp2.png")
block:
let
backdrop = readImage("tests/fileformats/svg/masters/dragon2.png")

View file

@ -921,13 +921,15 @@ proc drawUber(
let source = b.unsafe[samplePos.x, samplePos.y]
else: # b is a Mask
let source = rgbx(0, 0, 0, b.unsafe[samplePos.x, samplePos.y])
a.unsafe[x, y] = source
if source.a > 0:
a.unsafe[x, y] = source
else: # a is a Mask
when type(b) is Image:
let source = b.unsafe[samplePos.x, samplePos.y].a
else: # b is a Mask
let source = b.unsafe[samplePos.x, samplePos.y]
a.unsafe[x, y] = source
if source > 0:
a.unsafe[x, y] = source
srcPos += dx
of bmNormal:
for x in x ..< xMax: