Port to Tizen
Don't use -g for Release builds
Add jsoncpp
Add jsoncpp-chromium
Port __sync atomics to pthread atomics

__sync atomics are not well supported on the Tizen ARM toolchain.
packaging: Add install target built for Release, and manifest
README: Fix broken url and indicate where build info can be found
packaging: Set up our own snapshot version number

Includes some other packaging tweaks as well.

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Patch skia.spec to work with new source root Makefile

The Makefile in the root of the source directory now only builds for
ninja. This change modifies the skia.spec file to force a Makefile build
and to ignore the root Makefile.
cmake: Include header files in the rpm

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
packaging: Also install the atomics header from src

Required by SkThread.h; programs will fail compilation if they include
SkThread.h due to the atomics headers being missing.

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Revert "Port __sync atomics to pthread atomics"

This reverts commit 197995e18ba04543078556972afbca5daf228cd5.

This fixes runtime failures on PC seen when using the image backend or
writing images to disk.  The bug exhibits itself with errors about
invalid SkBitmaps and 0x0 bitmap allocations.

Note that this was added to fix problems on Tizen, so a followup patch
will be needed to restore working behavior on Tizen.
Link against gcc's intrinsic atomic functions.

This fixes crashes on Tizen M0 devices that are triggered
when running the caskbench testsuite.  The bug can be seen when running
caskbench's skia-mask test case, among others.

Patch from Suyambulingam Rathinasamy Muthupandi
gyp: sp. fix staticlly

Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
add GR_GL_MAX_SAMPLES_EXT for mali driver
Fixes two aspects in SkPath to provide a fast path for drawing full ovals

1. When startAngle and SweepAngle vectors are coincident, existing
implementation returns a single point.  However, it should draw a
full circle if (sweepAngle - startAngle) % 360 == 0

2. when SkPath::arcTo(rect, 0, 360, true/false), the rendering path
should go to the fast path SkPath::addOval.
Always use GrOvalRenderer instead of GrDefaultPathRenderer for oval and rrect

BUG=https://codereview.chromium.org/271663002/

When drawing ovals with OpenGL device, skia uses GrOvalRenderer if multisampling
is disabled (fSampleCnt = 0) and use edge effect for antialiasing. If
multisampling is enabled, skia uses the default GrDefaultPathRenderer instead.

However, GrOvalRenderer is much faster (at least 300%) for drawing ovals and
circles even ignoring the multisampling and using edge effect for antialiasing.
For round rectangles it is also faster but almost negligibly.

This patch forces ovals and round rects to be drawn with GrOvalRenderer
regardless of the multisampling value.

Two new benchmarks are included: aaovals and aarrects.

Credits to Henry Song <henry.song@samsung.com> for spotting this.
Batches SkGpuDevice::drawPath() if the path is a rect