platform/core/graphics/tizenvg.git
2 years agosvg_loader: struct used to pass 1 args instead of 4 of them
Mira Grudzinska [Wed, 24 Nov 2021 20:57:40 +0000 (21:57 +0100)]
svg_loader: struct used to pass 1 args instead of 4 of them

The Box struct is introduced to replace the four functions
args: vx, vy, vw, vh, so all of them can be passed at once.

2 years agosw_engine raster: fix the texmap regression bug.
Hermet Park [Fri, 26 Nov 2021 08:14:44 +0000 (17:14 +0900)]
sw_engine raster: fix the texmap regression bug.

Wrong inline function with C-preprocessing doesn't work at all...
Correct them with including the separate files instead.

2 years agoRevert "sw_engine raster: code refactoring."
Hermet Park [Fri, 26 Nov 2021 08:21:27 +0000 (17:21 +0900)]
Revert "sw_engine raster: code refactoring."

This reverts commit 860068301a7992f375a74a1f6b95e96e3bb3eb80.

found a regression bug. this macro doesn't work actually.

Change-Id: Id3c734ed8bae10451227ecf172c4e47bc06b6753

2 years agosw_engine: code refactoring
Hermet Park [Thu, 25 Nov 2021 08:25:25 +0000 (17:25 +0900)]
sw_engine: code refactoring

unified the two color interpolate methods.

Change-Id: I7ff67af280fa78b11d3b083aec790ac043387b1a

2 years agosw_engine texmap: code refactoring.
Hermet Park [Thu, 25 Nov 2021 09:31:00 +0000 (18:31 +0900)]
sw_engine texmap: code refactoring.

Unrolled the blending stages by applying macro magics.

I know this is a bit bad for code readibility
but good for the performance and the optimal LOC.

2 years agosw_engine texmap: introduced texture mapping polygon drawing.
Hermet Park [Thu, 18 Nov 2021 02:03:29 +0000 (11:03 +0900)]
sw_engine texmap: introduced texture mapping polygon drawing.

Introduced the texture-mapping algorithm for the image-scaler.
With this approach, we can support any arbitrary forms of the transformed shapes
while appling the scale factors - x/y separately.

Also this is more efficient when the transformed image is far from the rectangular form
because our current normal image rasterizer based on the given drawing region whereas
our new approach is span-based.

Thus, we applied this mechanism only for the transformed images.

2 years agosw_engien renderer: ++safety
Hermet Park [Thu, 25 Nov 2021 06:04:56 +0000 (15:04 +0900)]
sw_engien renderer: ++safety

+exceptional handling for the drawing region.

2 years agosw_engine raster: fix a regression bug.
Hermet Park [Thu, 25 Nov 2021 05:48:16 +0000 (14:48 +0900)]
sw_engine raster: fix a regression bug.

mistaken by 8ef31f6cd031b1369ec52e18cc0c97b6efaca6ab

2 years agosw_engine raster: fix compiler warnings.
Hermet Park [Thu, 25 Nov 2021 02:47:26 +0000 (11:47 +0900)]
sw_engine raster: fix compiler warnings.

popped up unused-functions when simd enabled.

2 years agobump up version 0.6.2 61/267061/1 accepted/tizen/unified/20211126.111840 submit/tizen/20211125.020113
jykeon [Thu, 25 Nov 2021 01:13:51 +0000 (10:13 +0900)]
bump up version 0.6.2

Change-Id: I3f732e458c85133e3b5d17bd2ca19b5f5cf17254
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agosw_engine raster: fix a mistake by the previous hot refactoring.
Hermet Park [Wed, 24 Nov 2021 11:51:05 +0000 (20:51 +0900)]
sw_engine raster: fix a mistake by the previous hot refactoring.

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 24 Nov 2021 11:25:47 +0000 (20:25 +0900)]
sw_engine raster: code refactoring

+neat and clean code

2 years agosw_engine image: improvement sequeqnce of the transformed rle rgba image drawing.
Hermet Park [Wed, 24 Nov 2021 10:26:10 +0000 (19:26 +0900)]
sw_engine image: improvement sequeqnce of the transformed rle rgba image drawing.

implement composition by translucent / opaque.

yet this transformed rle rgba image drawing is on the enhancement stage.

2 years agosw_engine image: complete sequeqnce of the scaled rgba rle image drawing.
Hermet Park [Wed, 24 Nov 2021 10:02:07 +0000 (19:02 +0900)]
sw_engine image: complete sequeqnce of the scaled rgba rle image drawing.

implement composition by translucent / opaque

2 years agosw_engine image: improvement sequeqnce of the direct rgba rle image drawing.
Hermet Park [Wed, 24 Nov 2021 09:47:30 +0000 (18:47 +0900)]
sw_engine image: improvement sequeqnce of the direct rgba rle image drawing.

implement composition by translucent / opaque.

+ correct compositor stride reference.

2 years agosw_engine image: improvement sequeqnce of the transformed rgba image drawing.
Hermet Park [Wed, 24 Nov 2021 09:28:13 +0000 (18:28 +0900)]
sw_engine image: improvement sequeqnce of the transformed rgba image drawing.

implement composition by translucent / opaque.

yet this transformed rgba image drawing is on the enhancement stage.

2 years agosw_engine image: complete sequeqnce of the scaled rgb image drawing.
Hermet Park [Wed, 24 Nov 2021 08:47:27 +0000 (17:47 +0900)]
sw_engine image: complete sequeqnce of the scaled rgb image drawing.

implement composition by translucent / opaque.

2 years agosw_engine image: complete sequeqnce of the direct rgb image drawing.
Hermet Park [Wed, 24 Nov 2021 08:29:39 +0000 (17:29 +0900)]
sw_engine image: complete sequeqnce of the direct rgb image drawing.

implement composition by translucent / opaque.

2 years agosw_engine image: refactoring before further development.
Hermet Park [Wed, 24 Nov 2021 06:48:47 +0000 (15:48 +0900)]
sw_engine image: refactoring before further development.

separate internal functions per context
and keep the coding convention.

2 years agoUpdate CONTRIBUTING.md
Hermet Park [Wed, 24 Nov 2021 06:58:49 +0000 (15:58 +0900)]
Update CONTRIBUTING.md

2 years agosw_engine image: support separate logics for scaled rle rgba image
Hermet Park [Tue, 23 Nov 2021 09:29:00 +0000 (18:29 +0900)]
sw_engine image: support separate logics for scaled rle rgba image

+ scaled rle rgba image
+ scaled masked rle rgba image
+ scaled translucent rle rga image

2 years agocommon: nothing was rendered after an empty masked node came across
Mira Grudzinska [Tue, 23 Nov 2021 18:56:35 +0000 (19:56 +0100)]
common: nothing was rendered after an empty masked node came across

The problem was observed for empty masked scenes (except the fastTrack
cases). Solved by imimediate returning from the func without passing 'false'
as its result.

2 years agoexamples: replaced png resource to verify alpha channel.
Hermet Park [Tue, 23 Nov 2021 07:16:09 +0000 (16:16 +0900)]
examples: replaced png resource to verify alpha channel.

alpha blending looks a bit awkward.. need to fix it.

2 years agosw_engine image: apply rgba blending.
Hermet Park [Tue, 23 Nov 2021 06:19:50 +0000 (15:19 +0900)]
sw_engine image: apply rgba blending.

rgba requires the default blending.

2 years agoinfra stylebot: Delete existing comments
JunsuChoi [Tue, 23 Nov 2021 05:06:41 +0000 (14:06 +0900)]
infra stylebot: Delete existing comments

In order to avoid duplication of the already created comment,
already created results will be deleted.

2 years agosw_engine image: code refactoring
Hermet Park [Tue, 23 Nov 2021 03:14:31 +0000 (12:14 +0900)]
sw_engine image: code refactoring

Clarify image sequences by renaming & adding TODO comments.

2 years agosw_engine image: introduced scaled image raster logics.
Hermet Park [Fri, 19 Nov 2021 04:46:25 +0000 (13:46 +0900)]
sw_engine image: introduced scaled image raster logics.

These raster functions are accelerated only for the scaled images.
(no rotation, skrewed)

2 years agoexamples: remove boundary samples.
Hermet Park [Mon, 22 Nov 2021 08:40:06 +0000 (17:40 +0900)]
examples: remove boundary samples.

Removed these tests from the example since it's not so proper showcases
for user scenaro.

2 years agocommon paint: fix the wrong fast track logic.
Hermet Park [Mon, 22 Nov 2021 03:31:23 +0000 (12:31 +0900)]
common paint: fix the wrong fast track logic.

There was a missing sorting between the left-top & right-bottom corner.
that results in the negative values of the viewport...

Now fixed it.

+ refactored to use math functions...
+ still it's a buggy, sometimes no draw at 90' in stress. don't know reason. :(

2 years agotvg_saver TvgBinInterpreter: prevent misaligned memory access
JunsuChoi [Mon, 22 Nov 2021 07:09:54 +0000 (16:09 +0900)]
tvg_saver TvgBinInterpreter: prevent misaligned memory access

When parsing a binary stored as a char type,
interpreter can access the misaligned memory while accessing it with a pointer.
To prevent that, pass the array copied to memcpy as tvg Object.

2 years agotest capiSwCanvas: remove a invalid test case.
JunsuChoi [Mon, 22 Nov 2021 03:59:43 +0000 (12:59 +0900)]
test capiSwCanvas: remove a invalid test case.

This test depends on the machine environment.
it's not guaranteed the same result so we remove it.

2 years agobump up version 0.6.1 01/267001/1 accepted/tizen/unified/20211125.144739 submit/tizen/20211124.011916
jykeon [Wed, 24 Nov 2021 00:36:10 +0000 (09:36 +0900)]
bump up version 0.6.1

Change-Id: Iecd88582c2ff6ee095eae3b83f083e32063c8124
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agocommon paint: fix a typo.
Hermet Park [Fri, 19 Nov 2021 11:16:06 +0000 (20:16 +0900)]
common paint: fix a typo.

2 years agosvg_loader: Add nullptr check.
jykeon [Fri, 19 Nov 2021 07:18:30 +0000 (16:18 +0900)]
svg_loader: Add nullptr check.

Signed-off-by: jykeon <jykeon@samsung.com>
2 years agoexample stress: adjusted loading count.
Hermet Park [Fri, 19 Nov 2021 07:11:08 +0000 (16:11 +0900)]
example stress: adjusted loading count.

This example loads all the svgs even if they are out of the screen space.

2 years agosw_engine image: code refactoring
Hermet Park [Fri, 19 Nov 2021 04:22:32 +0000 (13:22 +0900)]
sw_engine image: code refactoring

Image raster sequence is getting quite complex...

Clean up before further image optimization.

2 years agoexample stroke: updated the sample
Hermet Park [Fri, 19 Nov 2021 04:32:13 +0000 (13:32 +0900)]
example stroke: updated the sample

2 years agosw_engine image: code refactoring
Hermet Park [Fri, 19 Nov 2021 04:22:32 +0000 (13:22 +0900)]
sw_engine image: code refactoring

+++

2 years agosw_engine raster: clarify the internal function name.
Hermet Park [Fri, 19 Nov 2021 04:11:21 +0000 (13:11 +0900)]
sw_engine raster: clarify the internal function name.

"Solid" in this raster context is "Opaque" actually.
So remove the solid from it.

2 years agosw_engine raster: remove the condition which is out of the genearal case.
Hermet Park [Thu, 18 Nov 2021 04:18:23 +0000 (13:18 +0900)]
sw_engine raster: remove the condition which is out of the genearal case.

2 years agosw_engine raster: updated tvglog messages
Hermet Park [Thu, 18 Nov 2021 11:50:03 +0000 (20:50 +0900)]
sw_engine raster: updated tvglog messages

2 years agocommon shape: fix memory access violation
Hermet Park [Thu, 18 Nov 2021 02:31:15 +0000 (11:31 +0900)]
common shape: fix memory access violation

asan report:

../src/lib/tvgShapeImpl.h:94:15: runtime error: null pointer passed as argument 2, which is declared to never be null
../src/lib/tvgShapeImpl.h:101:15: runtime error: null pointer passed as argument 2, which is declared to never be null

2 years agoexamples: added image scale up/down samples.
Hermet Park [Wed, 17 Nov 2021 07:40:33 +0000 (16:40 +0900)]
examples: added image scale up/down samples.

2 years agoexample boundary2: added image boundary check sample.
Hermet Park [Wed, 17 Nov 2021 03:19:39 +0000 (12:19 +0900)]
example boundary2: added image boundary check sample.

2 years agoexample: added different stroke's caps
Mira Grudzinska [Wed, 17 Nov 2021 14:09:56 +0000 (15:09 +0100)]
example: added different stroke's caps

2 years agosw_engine raster: optimize the image raster
Hermet Park [Wed, 17 Nov 2021 11:44:39 +0000 (20:44 +0900)]
sw_engine raster: optimize the image raster

these solid images shouldn't apply the alpha blending...

2 years agoexample stroke: added vertical line samples.
Hermet Park [Wed, 17 Nov 2021 03:04:44 +0000 (12:04 +0900)]
example stroke: added vertical line samples.

2 years agoall: fix compilation errors on non-windows clang
Michal Maciola [Wed, 17 Nov 2021 11:00:38 +0000 (12:00 +0100)]
all: fix compilation errors on non-windows clang

Thorvg couldn't be compiled on macos as non-portable microsoft calls used.
Changed definitions checking to Visual Studio only.

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 17 Nov 2021 10:38:35 +0000 (19:38 +0900)]
sw_engine raster: code refactoring

changed internal function names, keep the neat & clean thorvg style code.

2 years agoinfra bot: Add Memcheck bot (AddressSanitizer)
JunsuChoi [Wed, 17 Nov 2021 09:52:15 +0000 (18:52 +0900)]
infra bot: Add Memcheck bot (AddressSanitizer)

If a leak occurs in the test result, the bot notifies the PR as a comment.
This notify may not be directly related to the created current PR.

2 years agoinfra: Use latest meson version
JunsuChoi [Wed, 17 Nov 2021 02:25:47 +0000 (11:25 +0900)]
infra: Use latest meson version

0.45 -> latest. For b_sanitize option. (0.45 version is not supported).

2 years agoexamples: remove low quality sample images.
Hermet Park [Wed, 17 Nov 2021 03:42:00 +0000 (12:42 +0900)]
examples: remove low quality sample images.

2 years agobump up version 0.6.0 51/266751/1 accepted/tizen/unified/20211123.015840 submit/tizen/20211118.075652 submit/tizen/20211119.010800
jykeon [Thu, 18 Nov 2021 03:27:32 +0000 (12:27 +0900)]
bump up version 0.6.0

Change-Id: I75ad4b7c3a0e98c811153726d25ec9004784c59d
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agobump up version v0.5.4 25/266725/1 submit/tizen/20211118.013118
jykeon [Wed, 17 Nov 2021 23:46:19 +0000 (08:46 +0900)]
bump up version v0.5.4

Change-Id: I1b8b9e0dddd20c661d2e8736eaf7ce9ce9b08e67
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agosw_engine raster: code refactoring
Hermet Park [Tue, 16 Nov 2021 10:25:18 +0000 (19:25 +0900)]
sw_engine raster: code refactoring

clarfy & regroup the internal functions which have been messed up by rendering options.

no logical changes

2 years agosw_engine neon: code refactoring.
Hermet Park [Tue, 16 Nov 2021 08:18:51 +0000 (17:18 +0900)]
sw_engine neon: code refactoring.

keep the internal function name consistency.

2 years agosw_engine: ialpha function pointer used instead of 255 - alpha
Mira Grudzinska [Tue, 16 Nov 2021 01:45:06 +0000 (02:45 +0100)]
sw_engine: ialpha function pointer used instead of 255 - alpha

2 years agoexamples pictures: updated for case cover.
Hermet Park [Mon, 15 Nov 2021 09:06:59 +0000 (18:06 +0900)]
examples pictures: updated for case cover.

+ test opacity

2 years agosw_engine image: ++optimization
Hermet Park [Mon, 15 Nov 2021 05:47:11 +0000 (14:47 +0900)]
sw_engine image: ++optimization

apply fast track to fast up the image rasterization.

only shifted image doesn't need to have the matrix-transform computation,
we can avoid it by just shifting offset xy by simple caculating.

@Issue: https://github.com/Samsung/thorvg/issues/206

2 years agocommon math: code refactoring
Hermet Park [Mon, 15 Nov 2021 03:17:36 +0000 (12:17 +0900)]
common math: code refactoring

introduced mathZero(), mathEqual() for floating variables.

2 years agosw_engine image: code refactoring
Hermet Park [Mon, 15 Nov 2021 02:26:31 +0000 (11:26 +0900)]
sw_engine image: code refactoring

revert d520da2db8966db19ae83897549a107c01c475c1

After considered the scneario seriously,
this doesn't helpful for the performance at all...
just increased code complexity. earlier bad decision... revert it.

2 years agosw_engine: avxRasterTranslucentRle implemented
Mira Grudzinska [Sat, 13 Nov 2021 23:30:18 +0000 (00:30 +0100)]
sw_engine: avxRasterTranslucentRle implemented

2 years agocommon paint: improve rotation condition precision
Hermet Park [Fri, 12 Nov 2021 10:06:41 +0000 (19:06 +0900)]
common paint: improve rotation condition precision

cover the four cases: 0, 90, 180, 270 degrees...

2 years agocommon paint: improve rotation condition precision
Hermet Park [Fri, 12 Nov 2021 08:09:40 +0000 (17:09 +0900)]
common paint: improve rotation condition precision

2 years agoinfra bot: Hotfix memcheck bot for push event
JunsuChoi [Fri, 12 Nov 2021 07:35:07 +0000 (16:35 +0900)]
infra bot: Hotfix memcheck bot for push event

2 years agocommon paint: fix invalid memory access in unit test
Hermet Park [Fri, 12 Nov 2021 07:37:10 +0000 (16:37 +0900)]
common paint: fix invalid memory access in unit test

casting the paint to shape is not allowed if the compositor target
is not shape, here it concretely checking the the type before casting....

2 years agosw_engine image: optimized image rendering.
Hermet Park [Fri, 12 Nov 2021 05:55:04 +0000 (14:55 +0900)]
sw_engine image: optimized image rendering.

Applied the fast-track routine for axis-aligned images.
This helps to remove outline generation if no clips.

2 years agoinfra bot: Add Memcheck bot (valgrind)
JunsuChoi [Fri, 12 Nov 2021 06:03:52 +0000 (15:03 +0900)]
infra bot: Add Memcheck bot (valgrind)

If the unit test is successful, valgrind memory check is executed based on the test.
If a leak occurs in the test result, the bot notifies the PR as a comment.
This notify may not be directly related to the created current PR.

(Asan is on hold because it is not well tested in the github action CI environment.)

2 years agosvg2png: update the error messages.
Hermet Park [Fri, 12 Nov 2021 03:00:01 +0000 (12:00 +0900)]
svg2png: update the error messages.

@Issue: https://github.com/Samsung/thorvg/issues/1031

2 years agosw_engine image: introduce the stride property for the image.
Hermet Park [Thu, 11 Nov 2021 06:44:19 +0000 (15:44 +0900)]
sw_engine image: introduce the stride property for the image.

we are considering the larger space of the image buffer,
in this case stride info is necessary.

2 years agocommon paint: alpha masking optimization
Hermet Park [Thu, 11 Nov 2021 05:03:10 +0000 (14:03 +0900)]
common paint: alpha masking optimization

applying fast track approach to the alpha mask when its condition is matched.
(simple rectangle alpha masking which isn't half-translucent)

From time to time, designers brutally use the alpha masking to clip simple region,
thorvg can help the situation by avoiding masking usage internally.

This can reduce the 1-step render pass composition.

@Issue: https://github.com/Samsung/thorvg/issues/344

2 years agosw_engine raster: code refactoring
Hermet Park [Thu, 11 Nov 2021 06:21:14 +0000 (15:21 +0900)]
sw_engine raster: code refactoring

remove duplicated logic.

2 years agosw_engine raster: allow image interpolation by increasing tolerance.
Hermet Park [Thu, 11 Nov 2021 12:30:17 +0000 (21:30 +0900)]
sw_engine raster: allow image interpolation by increasing tolerance.

current image interpolation method is a bit awkward,
because xy scale different scale factor is not allowed.

we must improve the algorithm,

but now considering floating point precision,
we allow the interpolation by less ratio floating fraction.

2 years agosvg_loader: mem properly freed
Mira Grudzinska [Thu, 11 Nov 2021 13:11:25 +0000 (14:11 +0100)]
svg_loader: mem properly freed

delete -> free

2 years agosvg_loader: memory properly released
Mira Grudzinska [Thu, 11 Nov 2021 11:59:58 +0000 (12:59 +0100)]
svg_loader: memory properly released

delete->free

2 years agopng_loader: correct colorspace
Hermet Park [Thu, 11 Nov 2021 12:44:01 +0000 (21:44 +0900)]
png_loader: correct colorspace

decoding color channels rgba -> bgra

@Issue: https://github.com/Samsung/thorvg/issues/1007

2 years agoREADME: Update Badge
JunsuChoi [Thu, 11 Nov 2021 08:57:01 +0000 (17:57 +0900)]
README: Update Badge

This badge is updated when a patch is pushed to the master branch.

2 years agoinfra: Add build test after patch merged
JunsuChoi [Thu, 11 Nov 2021 04:27:30 +0000 (13:27 +0900)]
infra: Add build test after patch merged

This test works after the patch is merged into the master branch.

2 years agosw_engine raster: code refactoring.
Hermet Park [Thu, 11 Nov 2021 05:38:13 +0000 (14:38 +0900)]
sw_engine raster: code refactoring.

keep the code clean & neat.

2 years agoapis: promote beta apis to the official ones.
Hermet Park [Wed, 3 Nov 2021 06:40:40 +0000 (15:40 +0900)]
apis: promote beta apis to the official ones.

these apis are good to open in the next release.

2 years agocommon render: code refactoring.
Hermet Park [Thu, 11 Nov 2021 05:13:00 +0000 (14:13 +0900)]
common render: code refactoring.

correct wrong coding convention.

2 years agocommon paint: code refactoring
Hermet Park [Thu, 11 Nov 2021 04:04:16 +0000 (13:04 +0900)]
common paint: code refactoring

renamed internal variable. no logical changes.

2 years agosw_engine: missing implementations added
Mira Grudzinska [Wed, 10 Nov 2021 11:29:44 +0000 (12:29 +0100)]
sw_engine: missing implementations added

Rastering functions for masked images that are not rectangular
(clipped) were implemented.

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 10 Nov 2021 10:38:37 +0000 (19:38 +0900)]
sw_engine raster: code refactoring

--remove parameter

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 10 Nov 2021 10:21:51 +0000 (19:21 +0900)]
sw_engine raster: code refactoring

unify several function paramters with one structure.

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 10 Nov 2021 09:24:45 +0000 (18:24 +0900)]
sw_engine raster: code refactoring

keep it neat & clean code with descriptions.

2 years agosw_engine raster: code refactoring
Hermet Park [Wed, 10 Nov 2021 08:31:05 +0000 (17:31 +0900)]
sw_engine raster: code refactoring

renamed internal variables, no logical changes.

2 years agosw_engine raster: code refactoring.
Hermet Park [Wed, 10 Nov 2021 07:57:36 +0000 (16:57 +0900)]
sw_engine raster: code refactoring.

keep the code thorvg convention.

2 years agosw_engine: unification of mask and inv mask functions
Mira Grudzinska [Tue, 9 Nov 2021 01:39:59 +0000 (02:39 +0100)]
sw_engine: unification of mask and inv mask functions

The function pointers used to pass the proper blending method - mask
or inverse mask.

2 years agobump up version v0.5.3 44/266344/1 accepted/tizen/unified/20211112.135649 submit/tizen/20211111.004448
jykeon [Wed, 10 Nov 2021 23:35:30 +0000 (08:35 +0900)]
bump up version v0.5.3

Change-Id: I34ba3c0ba4fe7b1b4cb150ae8c0ebafcbe31b5b5
Signed-off-by: jykeon <jykeon@samsung.com>
2 years agoRemove html to avoid annoying license violation detection 58/266258/1
Hermet Park [Wed, 10 Nov 2021 02:06:44 +0000 (11:06 +0900)]
Remove html to avoid annoying license violation detection

Change-Id: I394457f423c0de912dd3d5eeb7b1515fc18158b5

2 years agosw_engine renderer: fix the invalid memory access in the corner case.
Hermet Park [Tue, 9 Nov 2021 07:50:20 +0000 (16:50 +0900)]
sw_engine renderer: fix the invalid memory access in the corner case.

Tasks can be disposed while the renderer referencing it.
Now, we can delete the tasks with lazy approach by introducing some tags.

@Issue: https://github.com/Samsung/thorvg/issues/995

2 years agotvg_saver: fix memory leaks
Mira Grudzinska [Sat, 6 Nov 2021 08:59:29 +0000 (09:59 +0100)]
tvg_saver: fix memory leaks

In the cae when Result::InsufficientCondition was retured by the save()
api, the user had to remember to delete the passed paint - fixed.
Also path was not released.

2 years agotvg_loader: fix asan report.
Hermet Park [Tue, 9 Nov 2021 08:11:10 +0000 (17:11 +0900)]
tvg_loader: fix asan report.

revert c31c77c0fb884f79c6d52b5971f21be6fe4e92f2

memory mis-alignment is detected by asan tool.

2 years agosw_engine renderer: code refactoring
Hermet Park [Tue, 9 Nov 2021 07:09:44 +0000 (16:09 +0900)]
sw_engine renderer: code refactoring

free the member resources in the destructor.

2 years agotest capi: fix the memory leak.
Hermet Park [Tue, 9 Nov 2021 06:05:55 +0000 (15:05 +0900)]
test capi: fix the memory leak.

target is dangled without any proper deletion...

2 years agoRevert "test capi: fix memory leak."
Hermet Park [Tue, 9 Nov 2021 05:52:29 +0000 (14:52 +0900)]
Revert "test capi: fix memory leak."

This reverts commit 651a98a2d899620bd74a0162127bbdfe572368c6.

Applied the alternative solution instead of this patch.
37e39866dd81eb1ec57b887aebd7a58b5d26a781

2 years agocommon paint: fix a memory leak.
Hermet Park [Tue, 9 Nov 2021 05:32:04 +0000 (14:32 +0900)]
common paint: fix a memory leak.

delete dangling object properly in the corner case.

Unfortunately, this brings to correct the capi test cases.
we assume the paints is deleted whenever its result is successful or not.

@Issue: https://github.com/Samsung/thorvg/issues/995

2 years agotest initializer: remove a invalid test case.
Hermet Park [Tue, 9 Nov 2021 05:11:53 +0000 (14:11 +0900)]
test initializer: remove a invalid test case.

This test depends on the machine environment.
it's not guaranteed the same result so we remove it.

2 years agocommon: ++exception handling.
Hermet Park [Fri, 5 Nov 2021 12:04:51 +0000 (21:04 +0900)]
common: ++exception handling.

fix the memory leak in the corner case

detected by tvg test suites

@Issue: https://github.com/Samsung/thorvg/issues/995