Commit Graph

22125 Commits

Author SHA1 Message Date
bsalomon
c885dacfe4 Add initial implementation of GrShape and GrStyle classes and tests
The initial intent is to use GrShape to simplify the mask blur code paths. However, I also want to use this to explore a more unified drawing code flow for different geometry types. The goal is to have a single representation for geometries+styling that attempts to always keep the geometry in the simplest form (e.g. preferring rrects to paths). It also allows for converting styling information into modified geometry and for computing consistent keys.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1822723003

Review URL: https://codereview.chromium.org/1822723003
2016-04-25 13:37:22 -07:00
halcanary
21736bd8b5 bin/sync
Review URL: https://codereview.chromium.org/1915223002
2016-04-25 13:34:06 -07:00
liyuqian
8528912215 Improve Android Quick Start Guide
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1919973002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1919973002

Review URL: https://codereview.chromium.org/1919973002
2016-04-25 13:15:37 -07:00
halcanary
5c4685e0b0 bin/sync-and-gyp: more dirs to search
Review URL: https://codereview.chromium.org/1914993003
2016-04-25 12:39:39 -07:00
robertphillips
c91fd3447e Add another dollop of sk_sp to SkSpecialImage and SkSpecialSurface
This is split out of https://codereview.chromium.org/1914883002/ (Refactor drawContext/RenderTarget creation)

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1913743002

Review URL: https://codereview.chromium.org/1913743002
2016-04-25 12:32:55 -07:00
reed
1eca11659e share code with drawSpriteWithFilter
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1920733003

Review URL: https://codereview.chromium.org/1920733003
2016-04-25 12:29:38 -07:00
djsollen
460f40507e Make clang the default Android compiler.
BUG=skia:5215
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1919873003

Review URL: https://codereview.chromium.org/1919873003
2016-04-25 11:45:35 -07:00
msarett
68758aed88 Remove SkEncodedInfo kPreSwizzled_Color from public API
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918943002

Review URL: https://codereview.chromium.org/1918943002
2016-04-25 11:41:15 -07:00
borenet
7bedaf5606 build_command_buffer: Don't 'git checkout' when --no-sync
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915063002

Review URL: https://codereview.chromium.org/1915063002
2016-04-25 11:22:41 -07:00
rmistry
8d965a612e Test decoding and output failures to JSON in get_images_from_skps.
Testing for decoding was copy pasted from msarett's CL https://codereview.chromium.org/1828323002/

BUG=skia:4981
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1844713003

Review URL: https://codereview.chromium.org/1844713003
2016-04-25 10:35:03 -07:00
halcanary
484b3d0b83 SkDefaultColorProfile: Hide gDefaultProfileIsSRGB
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1917443002

Review URL: https://codereview.chromium.org/1917443002
2016-04-25 10:32:23 -07:00
halcanary
1e9030472e SkMD5: .update() -> .write()
Review URL: https://codereview.chromium.org/1913173003
2016-04-25 10:29:36 -07:00
msarett
ac6c75056f Remove SkEncodedInfo kUnknown_Color and kUnknown_Alpha from public API
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918873002

Review URL: https://codereview.chromium.org/1918873002
2016-04-25 09:30:24 -07:00
halcanary
d51bdae4e1 SkStringPrintf and SkString::printf now are no longer limted by a static buffer
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1403803002

Committed: https://skia.googlesource.com/skia/+/606cadd5aac62299ef2e277709b3684cae2bf96c

Review URL: https://codereview.chromium.org/1403803002
2016-04-25 09:25:35 -07:00
reed
96a04f3299 simplify handle-affine: subclass overrides just describe their leaf behavior
added new test case (that would have failed before) of blur with a colorfilter input

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915943002

Review URL: https://codereview.chromium.org/1915943002
2016-04-25 09:25:15 -07:00
herb
9f666a14a9 Whitespace change.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915073002

Review URL: https://codereview.chromium.org/1915073002
2016-04-25 09:05:14 -07:00
stephana
27c565adbe Whitespace change
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1920893002

TBR=borenet
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1920893002
2016-04-25 08:35:04 -07:00
benjaminwagner
98ab04012d Revert of Call SkGraphics::Init() automatically for Google3 processes. (patchset #1 id:1 of https://codereview.chromium.org/1906813002/ )
Reason for revert:
Fixed in a different way in internal cl/120632580.

Original issue's description:
> Call SkGraphics::Init() automatically for Google3 processes.
>
> This is logically a partial revert of https://codereview.chromium.org/1903503002.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1906813002
>
> Committed: https://skia.googlesource.com/skia/+/868060602975834c33eb33a937545c6af8ac8395

TBR=mtklein@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1916793002
2016-04-25 07:33:19 -07:00
msarett
c7eb4905c4 Fix kSubset_Mode tests on non-native swizzles
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918813002

Review URL: https://codereview.chromium.org/1918813002
2016-04-25 07:04:58 -07:00
stephana
1dc172165b Revert of Batch multiple single NVPR draw paths to instanced draws (patchset #5 id:80001 of https://codereview.chromium.org/1908433002/ )
Reason for revert:
This causes what looks like significantly wrong results. Here is an example:

https://gold.skia.org/diff?test=stroke-fill&left=cb47dc2cabbad7d146aedaac199ebace&top=2c6e65d597c574e3bb170a19ca9634c6

Original issue's description:
> Batch multiple single NVPR draw paths to instanced draws
>
> Batch multiple single NVPR draw paths to instanced draws.
> A draw path batch can be combined to other batch if the
> batches do not overlap and have same draw characteristics.
>
> Join the batches in linked list and flatten the list to a
> path list during draw time.
>
> Replace GrPathRendering::drawPath with GrPathRendering::drawPaths.
>
> Perf changes ARM, Shield TV device, Tegra X1 GPU:
>                 desk_chalkboard.skp_1	21.5ms -> 17.8ms	0.83x
>                     desk_mapsvg.skp_1	7.49ms -> 6.18ms	0.82x
> Others results are more volatile.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908433002
>
> Committed: https://skia.googlesource.com/skia/+/3c33c389e9f8d14d86756ea1ddeba2097f31ad22

TBR=joshualitt@chromium.org,bsalomon@google.com,kkinnunen@nvidia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1919843002
2016-04-25 07:01:23 -07:00
msarett
edf7fcd8b9 Make SkDrawable an SkFlattenable
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1911403004

Review URL: https://codereview.chromium.org/1911403004
2016-04-25 06:40:26 -07:00
rmistry
5d36360c47 Use BUILD_TYPE in cmake_build.
Build files were directly written to the out directory. This change makes them go to the expected out/{Release, Debug} directory.

BUG=skia:5160

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916773002
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

Review URL: https://codereview.chromium.org/1916773002
2016-04-25 06:29:21 -07:00
borenet
6c3c0c69e8 "Using Skia" tutorial: googlecode -> googlesource
BUG=skia:5212
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915013002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1915013002

Review URL: https://codereview.chromium.org/1915013002
2016-04-25 06:01:51 -07:00
kkinnunen
3c33c389e9 Batch multiple single NVPR draw paths to instanced draws
Batch multiple single NVPR draw paths to instanced draws.
A draw path batch can be combined to other batch if the
batches do not overlap and have same draw characteristics.

Join the batches in linked list and flatten the list to a
path list during draw time.

Replace GrPathRendering::drawPath with GrPathRendering::drawPaths.

Perf changes ARM, Shield TV device, Tegra X1 GPU:
                desk_chalkboard.skp_1	21.5ms -> 17.8ms	0.83x
                    desk_mapsvg.skp_1	7.49ms -> 6.18ms	0.82x
Others results are more volatile.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908433002

Review URL: https://codereview.chromium.org/1908433002
2016-04-25 02:16:09 -07:00
kkinnunen
c4ce72fc15 Compute bounds union while combining path range draw path batches
Compute bounds union while combining batches generated by NVPR device
independent text code-path. Otherwise the overlap test of the
GrDrawTarget::recordBatch violate painter's algorithm order.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1894973008

Review URL: https://codereview.chromium.org/1894973008
2016-04-24 23:35:35 -07:00
yujieqin
97920b4092 Update DNG SDK version
* Add PATENTS file

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897773003

Review URL: https://codereview.chromium.org/1897773003
2016-04-24 08:14:57 -07:00
update-skps
8a7d6f9df4 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918653002

Review URL: https://codereview.chromium.org/1918653002
2016-04-24 00:32:19 -07:00
reed
bb34a8ac59 allow imagefilter to manage CTM decomposition
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908173006

Review URL: https://codereview.chromium.org/1908173006
2016-04-23 15:19:07 -07:00
robertphillips
36736a2dae Remove SkCanvas::LayerIter guard
The LayerIter is no longer required by the Bazel build.

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1917693002

Review URL: https://codereview.chromium.org/1917693002
2016-04-23 08:26:44 -07:00
msarett
34e0ec40b1 Support the non-native (RGBA/BGRA) swizzle
BUG=skia:4456
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1907593004

Review URL: https://codereview.chromium.org/1907593004
2016-04-22 16:27:24 -07:00
msarett
a45a668fa5 Use SkEncodedInfo in place of SkSwizzler::SrcConfig
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1911613002

Review URL: https://codereview.chromium.org/1911613002
2016-04-22 13:18:37 -07:00
msarett
a3b3b238f5 Enable flattening/unflattening with custom unflatten procs
Now flattenables are serialized using a string name, so that
flattenables do not necessarily need to be registered before
serialization.  They just need to override getTypeName().

Allows custom unflatten procs to be set on the SkReadBuffer.
This is optional if the flattenable is registered, but otherwise
must be called.

This was split off from:
https://codereview.chromium.org/1837913003/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1858323002

Review URL: https://codereview.chromium.org/1858323002
2016-04-22 12:43:07 -07:00
jcgregorio
4ff7c74236 docs: fix fiddle image links.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1915493004
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1915493004
TBR=hal

Review URL: https://codereview.chromium.org/1915493004
2016-04-22 11:43:42 -07:00
robertphillips
99e20891a0 Optionally enable SkValidatingReadBuffer in SkPictureImageFilter
The task here is to get the type of ReadBuffer being used in SkPicture::MakeFromBuffer mirrored in the down-stack SkPicturePlayback::draw call.

BUG=skia:5208

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918433002

Review URL: https://codereview.chromium.org/1918433002
2016-04-22 11:40:42 -07:00
jcgregorio
1c2a2fe3c8 skia.org: Update all fiddles for fiddle 2.0.
The images won't show up in the preview, which won't happen until I switch over to fiddle 2.0 in production later today.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1910593005
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1910593005

Review URL: https://codereview.chromium.org/1910593005
2016-04-22 11:25:43 -07:00
robertphillips
7715e06b68 Retract SkDevice a bit more
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905383002

Review URL: https://codereview.chromium.org/1905383002
2016-04-22 10:57:16 -07:00
halcanary
272aa12c63 SkMD5: cleanup header and minor refactor
Also: I now define a non-virtual function in terms of a final virtual
function.  This reduces the number of actual functions while adding
no overhead.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1911363002

Review URL: https://codereview.chromium.org/1911363002
2016-04-22 10:40:49 -07:00
halcanary
3361e6248b Revert of SkStringPrintf and SkString::printf now are no longer limted by a static buffer (patchset #5 id:80001 of https://codereview.chromium.org/1403803002/ )
Reason for revert:
breaking something

Original issue's description:
> SkStringPrintf and SkString::printf now are no longer limted by a static buffer
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1403803002
>
> Committed: https://skia.googlesource.com/skia/+/606cadd5aac62299ef2e277709b3684cae2bf96c

TBR=tomhudson@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1908423002
2016-04-22 08:19:04 -07:00
halcanary
606cadd5aa SkStringPrintf and SkString::printf now are no longer limted by a static buffer
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1403803002

Review URL: https://codereview.chromium.org/1403803002
2016-04-22 08:03:03 -07:00
halcanary
ada338ab4e utils.gypi: remove empty file SkMD5.cpp
Review URL: https://codereview.chromium.org/1905363002
2016-04-22 07:45:38 -07:00
senorblanco
f5575463f4 Remove some unnecessary #includes of SkImageFilter.h
R=robertphillips@google.com
TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1907283002

Review URL: https://codereview.chromium.org/1907283002
2016-04-22 07:36:12 -07:00
scroggo
6351640285 Fixes for SkRWBuffer
Do not call SkBufferHead::validate in SkROBuffer's destructor, which
may be called in a separate thread from SkRWBuffer::append. validate()
reads SkBufferBlock::fUsed, and append() writes to it, resulting in
a data race.

Update some comments to be more clear about how it is safe to use
these classes across threads.

Test the readers in separate threads.

In addition, make sure it is safe to create a reader even when no
data has been appended. Add tests for this case.

Mark a parameter to SkBufferHead::validate() as const, reflecting
its use.

BUG=chromium:601578
BUG=chromium:605479

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1871953002

Review URL: https://codereview.chromium.org/1871953002
2016-04-22 06:59:01 -07:00
halcanary
488165e689 SkPDF: PDF/A runtime switch
TODO: remove gyp variable and modify API  in SkDocument.h

SkMD5 now moved into core as pdf depends on it now.

BUG=skia:3110
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1891873002

Committed: https://skia.googlesource.com/skia/+/570f18b43417d73c3fbd113cc0b4258e08b14c82

Review URL: https://codereview.chromium.org/1891873002
2016-04-22 06:10:21 -07:00
kkinnunen
2e6055b3ea Refactor to separate backend object lifecycle and GpuResource budget decision
Refactor GrGpuResource to contain two different pieces of state:
 a) instance is budgeted or not budgeted
 b) instance references wrapped backend objects or not

The "object lifecycle" was also attached to backend object
handles (ids), which made the code a bit unclear. Backend objects
would be associated with GrGpuResource::LifeCycle, even though
GrGpuResource::LifeCycle refers to the GpuResource, and individual
backend objects in one GpuResource might be governed with different
"lifecycle".

Mark the budgeted/not budgeted with SkBudgeted::kYes, SkBudgeted::kNo.
This was previously GrGpuResource::kCached_LifeCycle,
GrGpuResource::kUncached_LifeCycle.

Mark the "references wrapped object" with boolean. This was previously
GrGpuResource::kBorrowed_LifeCycle,
GrGpuResource::kAdopted_LifeCycle for GrGpuResource.

Associate the backend object ownership status with
GrBackendObjectOwnership for the backend object handles.

The resource type leaf constuctors, such has GrGLTexture or
GrGLTextureRenderTarget take "budgeted" parameter. This parameter
is passed to GrGpuResource::registerWithCache().

The resource type intermediary constructors, such as GrGLTexture
constructors for class GrGLTextureRenderTarget do not take "budgeted"
parameters, intermediary construtors do not call registerWithCache.

Removes the need for tagging GrGpuResource -derived subclass
constructors with "Derived" parameter.

Makes instances that wrap backend objects be registered with
a new function GrGpuResource::registerWithCacheWrapped().

Removes "budgeted" parameter from classes such as StencilAttahment, as
they are always cached and never wrap any external backend objects.

Removes the use of concept "external" from the member function names.
The API refers to the objects as "wrapped", so make all related
functions use the term consistently.

No change in functionality. Resources referencing wrapped objects are
always inserted to the cache with budget decision kNo.

BUG=594928
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862043002

Review URL: https://codereview.chromium.org/1862043002
2016-04-22 01:48:29 -07:00
robertphillips
cb61a6452f Add compile guard for SkCanvas::LayerIter
TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1911893002

Review URL: https://codereview.chromium.org/1911893002
2016-04-21 15:22:14 -07:00
jvanverth
b0d4352ca6 Revise WSI setup.
- Set up present queue creation correctly.
- Move WSI functions to VulkanTestContext.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1899213002

Review URL: https://codereview.chromium.org/1899213002
2016-04-21 11:46:23 -07:00
robertphillips
fa7ff470a8 Guard against FramebufferStatus checks in GrGLRenderTarget
BUG=skia:5200

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905063002

Review URL: https://codereview.chromium.org/1905063002
2016-04-21 11:27:43 -07:00
robertphillips
da2cd8b1d9 Hide SkCanvas::LayerIter
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1897863008

Committed: https://skia.googlesource.com/skia/+/a814000cbb0e90624a410b4359fff7f3ec66f0e0

Review URL: https://codereview.chromium.org/1897863008
2016-04-21 11:05:33 -07:00
halcanary
177f2f69a1 SkPathEffect.h: add SK_API where needed
motivation: .so fiddle

TBR=reed@google.com
no api chages, only visibility

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1908893004

Review URL: https://codereview.chromium.org/1908893004
2016-04-21 10:54:11 -07:00
bungeman
6a6f3c58b4 Fix indentation and casts in SkTArray.
Review URL: https://codereview.chromium.org/1902423007
2016-04-21 10:52:03 -07:00