Hermet Park
cc96535778
sw_engine raster: fix compiler warnings.
...
popped up unused-functions when simd enabled.
2021-11-25 11:48:53 +09:00
Hermet Park
8ef31f6cd0
sw_engine raster: fix a mistake by the previous hot refactoring.
2021-11-24 20:51:05 +09:00
Hermet Park
e76091a283
sw_engine raster: code refactoring
...
+neat and clean code
2021-11-24 20:43:18 +09:00
Hermet Park
f7e52e93ed
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.
2021-11-24 19:32:42 +09:00
Hermet Park
9fbb8d9b09
sw_engine image: complete sequeqnce of the scaled rgba rle image drawing.
...
implement composition by translucent / opaque
2021-11-24 19:08:07 +09:00
Hermet Park
43233a530a
sw_engine image: improvement sequeqnce of the direct rgba rle image drawing.
...
implement composition by translucent / opaque.
+ correct compositor stride reference.
2021-11-24 18:54:58 +09:00
Hermet Park
a5713cecca
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.
2021-11-24 18:36:54 +09:00
Hermet Park
f0e7ef1dbc
sw_engine image: complete sequeqnce of the scaled rgb image drawing.
...
implement composition by translucent / opaque.
2021-11-24 17:53:10 +09:00
Hermet Park
c0c37396f7
sw_engine image: complete sequeqnce of the direct rgb image drawing.
...
implement composition by translucent / opaque.
2021-11-24 17:39:02 +09:00
Hermet Park
3fae64c626
sw_engine image: refactoring before further development.
...
separate internal functions per context
and keep the coding convention.
2021-11-24 17:13:16 +09:00
Hermet Park
7c8f651e32
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
2021-11-24 14:32:30 +09:00
Mira Grudzinska
d4c15dcf66
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.
2021-11-24 12:30:12 +09:00
Hermet Park
16d5907642
sw_engine image: apply rgba blending.
...
rgba requires the default blending.
2021-11-23 15:22:28 +09:00
Hermet Park
1b7f5d952e
sw_engine image: code refactoring
...
Clarify image sequences by renaming & adding TODO comments.
2021-11-23 12:56:05 +09:00
Hermet Park
06cef2a710
sw_engine image: introduced scaled image raster logics.
...
These raster functions are accelerated only for the scaled images.
(no rotation, skrewed)
2021-11-23 11:41:53 +09:00
Hermet Park
f887edf562
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. :(
2021-11-22 17:33:34 +09:00
Hermet Park
4ac58de1bf
common paint: fix a typo.
2021-11-19 20:17:39 +09:00
Hermet Park
b38996f5c9
sw_engine image: code refactoring
...
Image raster sequence is getting quite complex...
Clean up before further image optimization.
2021-11-19 13:43:12 +09:00
Hermet Park
e195ac8b30
sw_engine image: code refactoring
...
+++
2021-11-19 13:22:32 +09:00
Hermet Park
93da844d94
sw_engine raster: clarify the internal function name.
...
"Solid" in this raster context is "Opaque" actually.
So remove the solid from it.
2021-11-19 13:12:40 +09:00
Hermet Park
491ea0ac07
sw_engine raster: remove the condition which is out of the genearal case.
2021-11-19 13:08:02 +09:00
Hermet Park
fa17214633
sw_engine raster: updated tvglog messages
2021-11-18 20:50:03 +09:00
Hermet Park
e90f040208
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
2021-11-18 20:43:25 +09:00
Hermet Park
4f73719fac
sw_engine raster: optimize the image raster
...
these solid images shouldn't apply the alpha blending...
2021-11-17 23:35:33 +09:00
Michal Maciola
282b9288ab
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.
2021-11-17 20:55:26 +09:00
Hermet Park
92f57a149f
sw_engine raster: code refactoring
...
changed internal function names, keep the neat & clean thorvg style code.
2021-11-17 19:40:38 +09:00
Hermet Park
f9bc684699
sw_engine raster: code refactoring
...
clarfy & regroup the internal functions which have been messed up by rendering options.
no logical changes
2021-11-16 20:27:11 +09:00
Hermet Park
e581ae4353
sw_engine neon: code refactoring.
...
keep the internal function name consistency.
2021-11-16 20:14:45 +09:00
Mira Grudzinska
3f82522f60
sw_engine: ialpha function pointer used instead of 255 - alpha
2021-11-16 20:14:31 +09:00
Hermet Park
c9377708a9
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
2021-11-15 17:38:57 +09:00
Hermet Park
0fcdba8a4b
common math: code refactoring
...
introduced mathZero(), mathEqual() for floating variables.
2021-11-15 17:10:54 +09:00
Hermet Park
ee60a04f20
sw_engine image: code refactoring
...
revert d520da2db8
After considered the scneario seriously,
this doesn't helpful for the performance at all...
just increased code complexity. earlier bad decision... revert it.
2021-11-15 11:27:29 +09:00
Mira Grudzinska
8362ddda74
sw_engine: avxRasterTranslucentRle implemented
2021-11-15 11:16:17 +09:00
Hermet Park
1592443c3e
common paint: improve rotation condition precision
...
cover the four cases: 0, 90, 180, 270 degrees...
2021-11-12 19:45:01 +09:00
Hermet Park
cfe5d80099
common paint: improve rotation condition precision
2021-11-12 17:24:02 +09:00
Hermet Park
b1604e2ec7
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....
2021-11-12 16:42:30 +09:00
Hermet Park
d520da2db8
sw_engine image: optimized image rendering.
...
Applied the fast-track routine for axis-aligned images.
This helps to remove outline generation if no clips.
2021-11-12 16:28:15 +09:00
Hermet Park
ae3dae8c55
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.
2021-11-12 10:49:36 +09:00
Hermet Park
44ccfc46d8
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
2021-11-12 10:49:24 +09:00
Hermet Park
91668143e1
sw_engine raster: code refactoring
...
remove duplicated logic.
2021-11-12 10:49:15 +09:00
Hermet Park
1527f70221
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.
2021-11-12 10:47:30 +09:00
Hermet Park
6c4896b911
sw_engine raster: code refactoring.
...
keep the code clean & neat.
2021-11-11 14:39:02 +09:00
Hermet Park
98e542e2f6
common render: code refactoring.
...
correct wrong coding convention.
2021-11-11 14:13:00 +09:00
Hermet Park
2f334f3300
common paint: code refactoring
...
renamed internal variable. no logical changes.
2021-11-11 13:07:13 +09:00
Mira Grudzinska
10e0d18d6e
sw_engine: missing implementations added
...
Rastering functions for masked images that are not rectangular
(clipped) were implemented.
2021-11-11 12:25:13 +09:00
Hermet Park
d8262dd1f8
sw_engine raster: code refactoring
...
--remove parameter
2021-11-10 19:39:21 +09:00
Hermet Park
f9a7df7a10
sw_engine raster: code refactoring
...
unify several function paramters with one structure.
2021-11-10 19:29:09 +09:00
Hermet Park
205e463160
sw_engine raster: code refactoring
...
keep it neat & clean code with descriptions.
2021-11-10 18:26:31 +09:00
Hermet Park
d73ecc5524
sw_engine raster: code refactoring
...
renamed internal variables, no logical changes.
2021-11-10 17:34:27 +09:00
Hermet Park
cffc87e7b1
sw_engine raster: code refactoring.
...
keep the code thorvg convention.
2021-11-10 17:03:07 +09:00