Hermet Park
35803e9c2b
test: add stress test for performance profiling.
...
Change-Id: I4a1556c107ba59b7c972375ab8bfd22c777a5503
2020-06-24 13:38:13 +09:00
Hermet Park
9ffc1d40f6
sw_engine: optimize memory allocation.
...
there are a logical wrong that memory increase size,
it correct that also tune the number to reduce memory allocation time.
Now scene transform test works smoothly.
Change-Id: If0674e33426d794546801a96ad9de711b5de0dcd
2020-06-23 18:59:12 +09:00
Hermet Park
b212df1061
sw_engine stroke: initialize a missing variable.
...
Change-Id: I1c3d83d56045f592ff89a5462d4de494e50c9d34
2020-06-23 17:38:59 +09:00
Hermet Park
55e215e6ea
sw_engine: optimize span generation.
...
there are unnecessary partial spans generated in orthogonal rectangle.
we can merge those partial spans to others if they are on the same scanline...
Change-Id: I35a437a4f2eec106bd50f46f0390c652e617311d
2020-06-23 17:29:28 +09:00
Hermet Park
86300c5fc0
sw_engine: optimize raster.
...
memset() is more than 10x faster than manual loop.
Thus we replace it to manipulate buffer pixels.
Change-Id: If0f255578f7d49ff6704c4f15e2eefe435cc3c15
2020-06-23 16:55:06 +09:00
Hermet Park
4f48c856f6
sw_engie: fix wrong boundary check.
...
this bounding box max indicates absolute positions,
not width/height size.
because of this, shape couldn't rendered properly,
when it's clipped out.
Change-Id: I0afb0d6e63d1b511b83716c55f55e3fd5370fdb8
2020-06-23 14:15:47 +09:00
Hermet Park
a9d712e06e
Merge "common transform: support matrix transform interface." into tizen
2020-06-23 02:31:23 +00:00
Hermet Park
c6742e9590
common transform: support matrix transform interface.
...
this interface is designed for user-defined arbitrary affine-transform paints.
required by svg loader.
Change-Id: I7f08023605d224e36cef3770098d3757aee81848
2020-06-23 11:28:20 +09:00
Hermet Park
ab5c1bc441
common bezier: code refactoring.
...
Organize bezier functions for internal share.
this bezier can be used in svg loader.
Change-Id: I78acd3273c0528688ca46ff7c29d78607bd729bd
2020-06-22 17:07:53 +09:00
Hermet Park
f56a3b791c
comon render: split declaration and body.
...
Change-Id: I39eb1dfb929b7811fab82956aedbb15f001390e7
2020-06-22 16:44:36 +09:00
Hermet Park
538254a32d
common render: code refactoring.
...
just replace the filename.
Change-Id: I6b18520d33c7db3ac9d6c44b10dd693b204495e5
2020-06-22 16:30:18 +09:00
Hermet Park
01e52c7c7a
common loader: build up loader infrastructure.
...
Change-Id: I62aaed43015301ec39e414833f37d6c5485d8043
2020-06-19 15:46:02 +09:00
Hermet Park
0e25879d12
correct unmatched files permission.
...
Please keep file permission 664.
Change-Id: I90bdfa76b4f94a06d3b560df42509f30e59111a4
2020-06-18 18:44:52 +09:00
Hermet Park
9f82ea86a8
test: revise glShape sample.
...
turn on gl window for testing.
Change-Id: I8a965f820d4a09697bc4145147cb0940672933be
2020-06-18 18:41:10 +09:00
Pranay Kumar Samanta
968286df57
gl_engine: implement gl infrastructure interfaces & test Gl shape sample
...
Change-Id: Ie142616bf02f9bd50ac8e88e31ed9f782dd6324b
Signed-off-by: Pranay Kumar Samanta <pranay.ks@samsung.com>
2020-06-18 18:36:10 +09:00
Hermet Park
ec03afa83a
sw_engine renderer: accept stroke less 1 width size.
...
Change-Id: I5fe6a0993ab5c1abc79d89834ea04c25b059c320
2020-06-18 10:41:58 +09:00
Hermet Park
c235b7b81d
common scene: design load()/save() interfaces
...
these interfaces will perform for vector resources such as svg/tvg/etc ...
see testSvg examples
Change-Id: Icec0a4682301a13646868bd7c3bfc1771ae7db2c
2020-06-16 16:29:26 +09:00
Hermet Park
f627679882
common initializer: replace engine class with intializer
...
This initializer will take over the global environments of tvg engines.
Change-Id: I7b99973dafaea57ddd3134800bd442ef4dc319ae
2020-06-16 12:54:53 +09:00
Hermet Park
fb208defed
common engine: manage engine initializing context.
...
Change-Id: Ida3997fd7cc9ee0916d48290168cdb884e946833
2020-06-15 20:57:17 +09:00
Hermet Park
7435b5b414
sw_engine: support gradient transformation properly
...
added testGradientTransform
Change-Id: I29037d08ce951e5ceb2eef31cb414efc25296417
2020-06-15 20:14:37 +09:00
Hermet Park
81de016492
test: updated trivial comments.
...
Change-Id: If44643d51d9acd3e3042118e39ca3e8f07c148da
2020-06-15 18:10:24 +09:00
Hermet Park
7366e8949b
sw_engine: implement gradial gradient feature
...
also added testRadialGradient
Change-Id: If4a278cb4667c38c7842ad30edf5aa2fdd56fff7
2020-06-15 17:43:52 +09:00
Hermet Park
5c988d01a5
sw_engine: implement linear gradient feature
...
also added testLinearGradient
Change-Id: I9cce74b9fc40c4ebd978939ee50955e44e7f44f2
2020-06-13 12:09:39 +09:00
Hermet Park
f3afd2a636
common fill: added spread mode.
...
Change-Id: I95d47bc492d5a22326a745a591d243e56a26bae4
2020-06-11 14:27:20 +09:00
Hermet Park
c36f23e80d
common gradient: implement linear/radial gradient interfaces.
...
Change-Id: Ica9c54e662e73592d3fddcabed09b1605b3a5a4f
2020-06-10 17:03:25 +09:00
Hermet Park
c75cca5a13
common: code refacatoring.
...
shorter prefix for better neat code.
it's just a preference.
Change-Id: I30998476a92bc971193e9a5b4436687e48e4d19a
2020-06-09 20:45:27 +09:00
Hermet Park
498a024df8
common: ++optimization
...
replace dynamic_cast to static_cast,
This can be a controversial choice between optmization and clean code.
Obviously we know the converting types,
try avoiding a bit heavier casting some cases.
Change-Id: Id763e6d1db449a229a492ab5b1a901a195936152
2020-06-09 20:32:22 +09:00
Hermet Park
58de99aea3
common interface: replace arguements size_t to uint32_t
...
We prefer to build up a tiny compact engine at memory rather than compatibility,
this engine is not considerd for end-users but designed for middle-level framework
and some low-level users.
Thus, we won't consider 64bits data size,
use explicit 32 bits data until coming next upgrade...
Change-Id: I0704d5f1e0eb909cccc10922bc5972e115fbbcc0
2020-06-09 15:36:34 +09:00
Hermet Park
33e1d4b170
common interface: concrete return type.
...
Introduce Result type for notifying caller more detailed info.
We should implement the result values for each apis, with practical values.
Change-Id: Ia47abcb56a8efca7094ac3eed0178aeac8aa2910
2020-06-09 15:16:25 +09:00
Hermet Park
4e3f8284e8
sw_engine: grow cell memory buffer up to allow larger shapes
...
Change-Id: I7a8feaa11d3dad81dd1004782e07a8ac4a768d91
2020-06-09 11:03:18 +09:00
Hermet Park
9aa2566b45
sw_engine: support stroke dash feature
...
Change-Id: Ibed8bcb6a07952a059bb9a7355f7c43db97aa672
2020-06-06 12:21:30 +09:00
Hermet Park
dc5f9f7430
common: retyped the color value size_t -> uint8_t
...
since it's range is 0 - 255.
Change-Id: I16e0569341c4a94acab9488d076f235bf90ff4db
2020-06-04 17:49:10 +09:00
Hermet Park
98edb4112b
sw_engine shape: ++ comment for later optimization
...
Change-Id: Ie6cd622748b88e2bce0c9d9a79cc4528a95c9c5c
2020-06-03 19:17:42 +09:00
Hermet Park
f335779ce5
sw_engine stroke: stabilizing line drawing.
...
Also added StrokeLine test
Change-Id: I91143039823d744bf9287534227927556a2f51e1
2020-06-03 19:10:14 +09:00
Hermet Park
01b550497c
sw_engine: support stroke transformation properly.
...
also updated transform test cases.
Yet, this engine is not well optimized,
If they are too mch sluggish,
you can use ELM_FPS envrionment lowing down the fps
when you launch test cases...
ex) $ELM_FPS=30 ./testSceneTransform
Change-Id: I1871d5bedee010d5d6a3d877d95e257120796e8b
2020-06-03 12:08:48 +09:00
Hermet Park
ad6b74dd13
test scene: remove duplicated engine initialization.
...
Change-Id: I5a2f972544e47578552b0c49367749ce2d01c5f2
2020-06-03 11:41:40 +09:00
Hermet Park
2b53b8018a
test stroke: remove duplicated engine initialize call.
...
Change-Id: Ia592a45581eae4fd5c85e6ba4d9d0eef835b14c1
2020-06-03 11:35:03 +09:00
Hermet Park
3bb272877a
sw_engine: fix a missing of variable initializing.
...
Change-Id: I6451b07709fbc56441363e8f0ee0f4647404ae10
2020-06-03 11:27:34 +09:00
Hermet Park
7ee25cd783
sw_engine: fix mistached c style alloc/free
...
these are allocated by c style mem alloc.
Thus, they should be freed with free()
Change-Id: I320fff4d5a5bce2374ace6495a9f96c3e1034cfc
2020-06-03 11:15:40 +09:00
Hermet Park
ef9f31577e
common stroke: retype the stroke width from size_t to float
...
Change-Id: I812d06d2037d66408c41d50f7c1ff7ba605558bd
2020-06-02 20:58:50 +09:00
Hermet Park
8614a2efee
sw_engine: fix stroke join round result.
...
a trivial reversed value was returned that
brought the inverted arc drawing...
Change-Id: I928f05b3400772a367d1653496d385354032cbad
2020-06-02 20:25:54 +09:00
Hermet Park
bab258e004
test: revise stroke example
...
Change-Id: I92a40e905544fd8fb41df88810eabce7429b1b7f
2020-06-02 20:07:05 +09:00
Hermet Park
1686af7643
sw_engine: implement stroke rle part
...
Current stroke fails to merged shapes case...
you can test with testStroke example
Change-Id: I488af728949cba1d01b88723eb1dc4c49bac6c9b
2020-06-02 18:46:43 +09:00
Hermet Park
41dbd9774a
sw_engine: implement stroke cubicto, arcto, lineto
...
Change-Id: I59e95b1031ebfaf54e966cab334e045613ca3830
2020-06-01 19:20:29 +09:00
JunsuChoi
6744838453
sw_engine: Fix build error (no match type)
...
../src/lib/sw_engine/tvgSwStroke.cpp:282:72: error: no match for ‘operator<’ (operand types are ‘long int’ and ‘const SwPoint’)
if (border->ptsCnt > 0 && abs(diff.x) < EPSILON && abs(diff.y) < EPSILON) return;
Change-Id: I426f8980ba718e3dc908dc32a62fb897b5b5fbbf
2020-05-29 15:31:43 +09:00
Hermet Park
b4cf6660b7
test: recover sample build.
...
introduced by mistake.
Change-Id: I8fd88054da1e86cace02931791a646a182ab6721
2020-05-28 20:37:25 +09:00
Hermet Park
c51241f26b
sw_engine: implment basic stroke functions.
...
Change-Id: Ib9203b4d133ce7ffd80b40d7ad0cac3519b5273d
2020-05-28 20:32:55 +09:00
Hermet Park
6b54eb5c22
updated AUTHORS
...
Change-Id: Id756d25e475e8f8cb8379577032e5b41e772b88e
2020-05-27 11:03:07 +09:00
Hermet Park
e2c6f4523c
Merge "gl_engine: gl infrastructure interfaces" into tizen
2020-05-27 02:01:26 +00:00
Prudhvi Raj Vasireddi
48e47b272b
gl_engine: gl infrastructure interfaces
...
Change-Id: Ie1a9d1b6632433413098282c1cfaf4cf8e1cf9b9
Signed-off-by: Prudhvi Raj Vasireddi <prudhvi.raj@samsung.com>
2020-05-26 13:56:35 -04:00