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") # 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: block:
let let
backdrop = readImage("tests/fileformats/svg/masters/dragon2.png") backdrop = readImage("tests/fileformats/svg/masters/dragon2.png")

View file

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