Commit Graph

22885 Commits

Author SHA1 Message Date
ethannicholas
8e5a588ab3 fix for Clang 3.8 warning in SkSL
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118033002

Review-Url: https://codereview.chromium.org/2118033002
2016-07-06 06:55:44 -07:00
benjaminwagner
c3ea34b1ae Blacklist fontscalerdistortable on Win8.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2109583003

Review-Url: https://codereview.chromium.org/2109583003
2016-07-06 06:55:04 -07:00
bsalomon
9c67381dbc Enlarge strokerect GM size to reveal hidden content
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126723002

Review-Url: https://codereview.chromium.org/2126723002
2016-07-06 06:30:36 -07:00
fmalita
03912f141f Document SkSurface::MakeRaster's memory initialization
So clients don't go clearing w/ SK_ColorTRANSPARENT unnecessarily.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066903003

Review-Url: https://codereview.chromium.org/2066903003
2016-07-06 06:22:06 -07:00
pdr
1e2a702c19 Update dev docs to reference the new skia debugger (skiaserve)
This patch adds a new markdown file describing the new debugger along
with instructions on running it locally and a sweet screenshot. The
screenshot has been sized to not be clipped when viewed in production.

The old documentation for the qt-based debugger has been marked as
deprecated and all docs referencing the old debugger have been updated.

BUG=skia:5493
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2121673002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2121673002

Review-Url: https://codereview.chromium.org/2121673002
2016-07-06 06:10:25 -07:00
reed
2dcb615c6f make setScaleTranslate public
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122093002

TBR=

Review-Url: https://codereview.chromium.org/2122093002
2016-07-05 20:10:42 -07:00
ksakamoto
ec7f2ac728 Revert of Begin instanced rendering for simple shapes (patchset #20 id:380001 of https://codereview.chromium.org/2066993003/ )
Reason for revert:
This caused static initializer regressions in Chromium (crbug.com/625728).

Relevant build logs here:
Linux:
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/21849

Mac:
https://build.chromium.org/p/chromium/builders/Mac/builds/17350

Relevant lines from the error log:
Linux:
# InstanceProcessor.cpp GrUniqueKey::GenerateDomain()
# InstanceProcessor.cpp gr_instanced::kShapeBufferDomain
FAILED linux-release-64/sizes/nacl_helper-si/initializers: actual 8, expected 7, better lower
FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower

Mac:
FAILED mac-release/sizes/chrome-si/initializers: actual 2, expected 0, better lower

Original issue's description:
> Begin instanced rendering for simple shapes
>
> Adds a module that performs instanced rendering and starts using it
> for a select subset of draws on Mac GL platforms. The instance
> processor can currently handle rects, ovals, round rects, and double
> round rects. It can generalize shapes as round rects in order to
> improve batching. The instance processor also employs new drawing
> algorithms, irrespective of instanced rendering, that improve GPU-side
> performance (e.g. sample mask, different triangle layouts, etc.).
>
> This change only scratches the surface of instanced rendering. The
> majority of draws still only have one instance. Future work may
> include:
>
>  * Passing coord transforms through the texel buffer.
>  * Sending FP uniforms through instanced vertex attribs.
>  * Using instanced rendering for more draws (stencil writes,
>    drawAtlas, etc.).
>  * Adding more shapes to the instance processor’s repertoire.
>  * Batching draws that have mismatched scissors (analyzing draw
>    bounds, inserting clip planes, etc.).
>  * Bindless textures.
>  * Uber shaders.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003
>
> Committed: https://skia.googlesource.com/skia/+/42eafa4bc00354b132ad114d22ed6b95d8849891

NOTREECHECKS=true
TBR=bsalomon@google.com,egdaniel@google.com,robertphillips@google.com,csmartdalton@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review-Url: https://codereview.chromium.org/2123693002
2016-07-05 03:54:53 -07:00
rmistry
42e6798696 Revert of Fix caching of sample locations (patchset #3 id:40001 of https://codereview.chromium.org/2111423002/ )
Reason for revert:
Seems to be causing Chromium roll failures:
* https://codereview.chromium.org/2120373003
* https://codereview.chromium.org/2117193002
* https://codereview.chromium.org/2124653002

Original issue's description:
> Fix caching of sample locations
>
> The original caching logic for sample locations wishfully assumed that
> the GPU would always use the same sample pattern for render targets
> that had the same number of samples. It turns out we can't rely on
> that. This change improves the caching logic to handle mismatched
> simple patterns with the same count, and adds a unit test that
> emulates different sample patterns observed on real hardware.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002
>
> Committed: https://skia.googlesource.com/skia/+/09d49a3bfe2d1e652a648ce1ea0962b38d10d166

TBR=bsalomon@google.com,csmartdalton@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/2120403002
2016-07-04 17:45:06 -07:00
csmartdalton
09d49a3bfe Fix caching of sample locations
The original caching logic for sample locations wishfully assumed that
the GPU would always use the same sample pattern for render targets
that had the same number of samples. It turns out we can't rely on
that. This change improves the caching logic to handle mismatched
simple patterns with the same count, and adds a unit test that
emulates different sample patterns observed on real hardware.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111423002

Review-Url: https://codereview.chromium.org/2111423002
2016-07-04 15:55:17 -07:00
reed
2b2810b4eb all dumpcanvas to be built in release
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123633002

TBR=

Review-Url: https://codereview.chromium.org/2123633002
2016-07-04 14:28:32 -07:00
update-skps
47f8556e3f Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119053002

Review-Url: https://codereview.chromium.org/2119053002
2016-07-04 13:38:56 -07:00
benjaminwagner
d87a6b2356 Revert of Increase batching for AA fill rects. (patchset #4 id:60001 of https://codereview.chromium.org/2116823002/ )
Reason for revert:
I believe this is causing the Chromium DEPS roll to fail due to linux_blink_rel. Reverting for now to get the roll going again.

Original issue's description:
> Increase batching for AA fill rects.
>
> This allows batching of rects provided without a local matrix when local coords are required and when the view matrix changes.
>
> It also allows batching of rects with a local matrix with rects without a local matrix.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116823002
>
> Committed: https://skia.googlesource.com/skia/+/e525ecaf63f225f1da6e9834f7a291c06ad44d23

TBR=robertphillips@google.com,bsalomon@google.com
NOTREECHECKS=true
# Not skipping CQ checks because original CL landed more than 1 days ago.

Review-Url: https://codereview.chromium.org/2124603002
2016-07-04 11:30:02 -07:00
benjaminwagner
2214de4ade Exclude SkSL in public.bzl.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122463002
TBR=ethannicholas
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2122463002
2016-07-02 05:12:46 -07:00
ethannicholas
69a7e7c310 fixed SkSL memory leak
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119903002
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2119903002
2016-07-01 19:09:27 -07:00
ethannicholas
b442f6834c fixed non-GPU build
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120543003
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2120543003
2016-07-01 19:09:15 -07:00
skia.buildbots
d6e8e64530 Update Win toolchain
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116173002
NOTREECHECKS=true
NOTRY=true
TBR=rmistry@google.com

Review-Url: https://codereview.chromium.org/2116173002
2016-07-01 17:29:18 -07:00
benjaminwagner
ab2b52e286 Specify new Windows Toolchain isolated hash.
NOTREECHECKS=true
NOTRY=true
TBR=rmistry@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2121443002

Review-Url: https://codereview.chromium.org/2121443002
2016-07-01 15:51:41 -07:00
bsalomon
e525ecaf63 Increase batching for AA fill rects.
This allows batching of rects provided without a local matrix when local coords are required and when the view matrix changes.

It also allows batching of rects with a local matrix with rects without a local matrix.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116823002

Review-Url: https://codereview.chromium.org/2116823002
2016-07-01 11:02:39 -07:00
robertphillips
6abd1d192e Split apart the GP construction for the NonAAFillRect Batches
This sets up for adding yet another batch type that specializes for rectStaysRect

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106063005

Review-Url: https://codereview.chromium.org/2106063005
2016-07-01 09:06:56 -07:00
halcanary
627ad6db4c using_skia_and_harfbuzz: use default typeface
Also: add little script to generate utf-8 test text.

BUG=skia:5434
TBR=bungeman@google.com

Review-Url: https://codereview.chromium.org/2118833002
2016-07-01 08:48:12 -07:00
ethannicholas
b3058bdb10 initial checkin of SkSL compiler
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984363002
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/1984363002
2016-07-01 08:22:01 -07:00
egdaniel
e7d1b24ff0 Use bounds of batches for render pass bounds
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2113303002

Review-Url: https://codereview.chromium.org/2113303002
2016-07-01 08:06:45 -07:00
egdaniel
e7f2fe4dc9 Fix vulkan ImageView swizzling to match spec
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115903002

Review-Url: https://codereview.chromium.org/2115903002
2016-07-01 08:03:02 -07:00
bsalomon
9d7f1849a8 Cleanup non-AA fill rect batch construction.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119853002

Review-Url: https://codereview.chromium.org/2119853002
2016-07-01 08:01:36 -07:00
bsalomon
0fdec8a047 Simplify AA fill rect batch construction and rename Geometry->RectInfo
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116723003

Review-Url: https://codereview.chromium.org/2116723003
2016-07-01 06:31:25 -07:00
bsalomon
bc9b6a4239 Remove unneeded helpers in AA and non-AA rect GrBatch subclasses.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115673002

Review-Url: https://codereview.chromium.org/2115673002
2016-07-01 05:35:51 -07:00
bsalomon
065c8cff8f Cleanup PLSPathBatch
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116543002

Review-Url: https://codereview.chromium.org/2116543002
2016-06-30 20:45:38 -07:00
bsalomon
9ba1f2565c Disable GPU dithering in Android framework builds
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115683002

Review-Url: https://codereview.chromium.org/2115683002
2016-06-30 14:40:01 -07:00
bsalomon
b8cbd20982 Remove unused batch rect append functions
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106283003

Review-Url: https://codereview.chromium.org/2106283003
2016-06-30 13:09:48 -07:00
bsalomon
08d141534c Remove GrTInstanceBatch
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114663003

Review-Url: https://codereview.chromium.org/2114663003
2016-06-30 12:45:18 -07:00
vjiaoblack
977996dd0e Fix bug where ovals' AA exceed bounds by .5 pixel
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106953009

Review-Url: https://codereview.chromium.org/2106953009
2016-06-30 12:20:54 -07:00
csmartdalton
42eafa4bc0 Begin instanced rendering for simple shapes
Adds a module that performs instanced rendering and starts using it
for a select subset of draws on Mac GL platforms. The instance
processor can currently handle rects, ovals, round rects, and double
round rects. It can generalize shapes as round rects in order to
improve batching. The instance processor also employs new drawing
algorithms, irrespective of instanced rendering, that improve GPU-side
performance (e.g. sample mask, different triangle layouts, etc.).

This change only scratches the surface of instanced rendering. The
majority of draws still only have one instance. Future work may
include:

 * Passing coord transforms through the texel buffer.
 * Sending FP uniforms through instanced vertex attribs.
 * Using instanced rendering for more draws (stencil writes,
   drawAtlas, etc.).
 * Adding more shapes to the instance processor’s repertoire.
 * Batching draws that have mismatched scissors (analyzing draw
   bounds, inserting clip planes, etc.).
 * Bindless textures.
 * Uber shaders.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2066993003

Review-Url: https://codereview.chromium.org/2066993003
2016-06-30 12:15:49 -07:00
bsalomon
a71b89866d Hide GrNonAANinePatchBatch::Geometry and rename to Patch
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111943002

Review-Url: https://codereview.chromium.org/2111943002
2016-06-30 12:13:52 -07:00
bsalomon
50c56a39db Hide MSAAPathBatch::Geometry and rename to PathInfo
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116533002

Review-Url: https://codereview.chromium.org/2116533002
2016-06-30 12:05:32 -07:00
halcanary
3c35fb3310 SkPDF: Glyph Useage Map improvements
Instead of having a fFontGlyphUsage on each device and one on each
document, just have the one on the document, and never merge.

Make fGlyphUsage accesible on SkPDFDocument.

Remove SkPDFGlyphSetMap::merge, ::reset, and SkPDFGlyphSet::merge.

SkPDFGlyphSetMap has an TArray of SkPDFGlyphSet, not TDArray of
SkPDFGlyphSet pointers.  SkPDFGlyphSet and SkPDFBitset get move
constructors.

All tests produce exactly identical output PDFs.

BUG=skia:5434
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112943002

Review-Url: https://codereview.chromium.org/2112943002
2016-06-30 11:55:07 -07:00
egdaniel
d46cdc4c99 Remove support for GL discards
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112693003

Review-Url: https://codereview.chromium.org/2112693003
2016-06-30 11:43:10 -07:00
msarett
a5cf4f45bb Fix png encoding in skia debugger
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119513002

Review-Url: https://codereview.chromium.org/2119513002
2016-06-30 10:06:51 -07:00
hstern
e2463ed91e Add cubic example and draw original path
- Add cubic example
- Draw original path
- Also added dumpHex to stderr option on 'D'

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106063004

Review-Url: https://codereview.chromium.org/2106063004
2016-06-30 10:04:21 -07:00
jcgregorio
ee0c555797 skiaserve: Use snakeCase for JSON identifiers.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2108823006

Review-Url: https://codereview.chromium.org/2108823006
2016-06-30 09:18:27 -07:00
jvanverth
a584de966a Add static buffer support
Put resource tracking check in the right place

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2112653002

Review-Url: https://codereview.chromium.org/2112653002
2016-06-30 09:10:52 -07:00
egdaniel
37535c9ece Add discard support to Vulkan
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104353002

Review-Url: https://codereview.chromium.org/2104353002
2016-06-30 08:23:30 -07:00
halcanary
9f4b332f59 SkPDF: allow overriding Producer metadata
I recommend not using this functionality.

Also, some documentation.

BUG=skia:5436

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2074583003

Review-Url: https://codereview.chromium.org/2074583003
2016-06-30 08:22:04 -07:00
reed
744671639d use mapRectScaleTranslate for common case in clipRect
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119473002

Review-Url: https://codereview.chromium.org/2119473002
2016-06-30 08:15:35 -07:00
bsalomon
d92b4198ae Hide GrDrawVerticesBatch::Geometry and rename to Mesh
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104383003

Review-Url: https://codereview.chromium.org/2104383003
2016-06-30 07:59:24 -07:00
jcgregorio
9a7acdc213 debugger: Allow for larger images.
Also differentiate between max dimensions and default dimensions.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2113693002

Review-Url: https://codereview.chromium.org/2113693002
2016-06-30 07:54:14 -07:00
reed
d922c33a8e inline very common intersect+rect_rgn
Extracted from previous compound CL (with other changes).

This is the very common case for clips, and inlining this eliminates a series of function calls.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2116513002

TBR=mtklein

Review-Url: https://codereview.chromium.org/2116513002
2016-06-30 07:47:34 -07:00
hcm
40e25b2e34 Update skia milestone to next
No API changes, just moving version fwd.

TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115573002

Review-Url: https://codereview.chromium.org/2115573002
2016-06-30 07:31:09 -07:00
bsalomon
0432dd6ee6 Even more hiding of Geometry structs in GrBatch subclasses.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2110853004

Review-Url: https://codereview.chromium.org/2110853004
2016-06-30 07:19:27 -07:00
reed
47df89ebfd speed up maprect for scale+trans case
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2111703002

Review-Url: https://codereview.chromium.org/2111703002
2016-06-30 06:38:54 -07:00
borenet
501ca7f538 Add Android SDK asset
This will allow us to use CIPD to install the Android SDK on bots.

BUG=skia:5427
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2086003002

Review-Url: https://codereview.chromium.org/2086003002
2016-06-30 05:20:03 -07:00