Commit Graph

23114 Commits

Author SHA1 Message Date
mtklein
e5fb9c8079 centralize VECTORCALL as SK_VECTORCALL
Gonna start using this, might as well define it once centrally.

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

No public API changes.
TBR=reed@google.com

Review-Url: https://codereview.chromium.org/2126253002
2016-07-07 08:12:09 -07:00
egdaniel
75d2bfceae Correctly handle mat2x2 in Vulkan
BUG=skia:5497
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129953002

Review-Url: https://codereview.chromium.org/2129953002
2016-07-07 08:04:08 -07:00
bsalomon
11bf8b2eae Better encapsulate oval/rrect batchs.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2104423003

Committed: https://skia.googlesource.com/skia/+/5fd209e8ee477c703bc5c11b008f247d515fc0fc
Committed: https://skia.googlesource.com/skia/+/7f06c6947a3bef78dc57b9252779567c33604c90
Review-Url: https://codereview.chromium.org/2104423003
2016-07-07 07:55:24 -07:00
robertphillips
3950f0d723 Remove fColor from PathRenderer DrawPathArgs struct
This was getting in the way of other refactorings.

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

Review-Url: https://codereview.chromium.org/2126083002
2016-07-07 07:33:13 -07:00
jvanverth
82356cc41f Pull out freelist allocation from GrVkSubHeap
BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2128673002

Review-Url: https://codereview.chromium.org/2128673002
2016-07-07 07:16:42 -07:00
ethannicholas
552882f768 fix for SkSL producing invalid branch after an OpKill
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129913002

Review-Url: https://codereview.chromium.org/2129913002
2016-07-07 06:30:48 -07:00
dvonbeck
3f58cd0eb8 Abstracted diffuse color map out of SkLightingShaderImpl into a generic SkShader
Will not run until after landing https://codereview.chromium.org/2106893003/

This CL's base is the CL for the addition of NormalSource to the API: https://codereview.chromium.org/2063793002/

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

Review-Url: https://codereview.chromium.org/2062703003
2016-07-06 20:03:46 -07:00
bsalomon
28ef39624a Hide NonAAStrokeRectBatch Geometry class and cleanup class.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126893002

Review-Url: https://codereview.chromium.org/2126893002
2016-07-06 18:56:04 -07:00
egdaniel
7e8cc21d57 Fix bounds computation for non-aa hairlines when snapping to pixel centers
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2126913002

Review-Url: https://codereview.chromium.org/2126913002
2016-07-06 14:38:34 -07:00
jvanverth
47e3dbaab5 Deleting void pointers is bad, mmmkay?
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129483003

Review-Url: https://codereview.chromium.org/2129483003
2016-07-06 14:26:53 -07:00
liyuqian
2edb0f4a02 More accurate render time and continuous fresh
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129613002

Review-Url: https://codereview.chromium.org/2129613002
2016-07-06 14:11:32 -07:00
dvonbeck
5b794fad18 API change to allow for NormalSource selection at the user level.
This CL's base is the CL for CPU handling: https://codereview.chromium.org/2050773002/

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

Review-Url: https://codereview.chromium.org/2063793002
2016-07-06 13:58:36 -07:00
bsalomon
8b7a9e1e5a Hide geometry class in AAStrokeRectBatch and remove unused Append function.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2119813004

Review-Url: https://codereview.chromium.org/2119813004
2016-07-06 13:06:23 -07:00
jvanverth
069c464a6b Vulkan fixes for TesselatingPathRenderer test
- Be sure to release all secondard command buffers on shutdown
- Allow mapping of static buffers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2123323002

Review-Url: https://codereview.chromium.org/2123323002
2016-07-06 12:56:11 -07:00
lsalzman
a4b8704e76 check for zero scale in SkDraw::ComputeResScaleForStroking
If the transform used to compute the res scale has both 0 scale and skew,
then it will currently compute a 0 res scale. This causes getFillPath
to trigger an assertion while using SkStroke since that can't handle
a 0 res scale.

Downstream Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=1284356

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

Review-Url: https://codereview.chromium.org/2125933003
2016-07-06 12:19:56 -07:00
egdaniel
5c4a381b31 Grow descriptor pools by 1.5
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2121243002

Review-Url: https://codereview.chromium.org/2121243002
2016-07-06 12:00:12 -07:00
dvonbeck
ca9eeab0ea Fixed crash when RunInSeriesFP's color input is nil
SeriesFragmentProcessor would call emitChild with "" input color as opposed to nil input color when ginven a nil input color.

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

Review-Url: https://codereview.chromium.org/2106893003
2016-07-06 12:00:06 -07:00
bungeman
61457a6b80 Add gm for various font rendering combinations.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2080453002

Review-Url: https://codereview.chromium.org/2080453002
2016-07-06 11:55:05 -07:00
bsalomon
a7d85ba138 Add gm that tests shaded stroked rectangles.
Fix GPU handling of previously untested cases.

Move rect->path fallback from SkGpuDevice to GrDrawContext.

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

Review-Url: https://codereview.chromium.org/2125663003
2016-07-06 11:54:59 -07:00
bungeman
52fa668dc5 Update rebaseline instructions.
BUG=skia:2805

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2127953002

Review-Url: https://codereview.chromium.org/2127953002
2016-07-06 10:19:54 -07:00
csmartdalton
0d28e574ac 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
Review-Url: https://codereview.chromium.org/2111423002
2016-07-06 09:59:43 -07:00
robertphillips
01a19504c4 Move GrNonAAFillRectPerspectiveBatch to its own file
Get this out of the way of the upcoming changes (and add a test for it)

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

Review-Url: https://codereview.chromium.org/2108403005
2016-07-06 09:58:57 -07:00
csmartdalton
afd6340d56 Check fIgnoresCoverage in GrPipeline::AreEqual
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120153002

Review-Url: https://codereview.chromium.org/2120153002
2016-07-06 09:47:38 -07:00
reed
41c27e15ec Experiment: add flag for finish-recording to return null
BUG=skia:5495
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2106843004

Review-Url: https://codereview.chromium.org/2106843004
2016-07-06 09:29:17 -07:00
jvanverth
7ec9241330 Add resource tracking output and command buffer recycling
BUG=skia:5042
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2115993002

Review-Url: https://codereview.chromium.org/2115993002
2016-07-06 09:24:57 -07:00
djsollen
d5fd2ff490 Compile Vulkan when building for the Android framework.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2129523002

Review-Url: https://codereview.chromium.org/2129523002
2016-07-06 09:17:36 -07:00
egdaniel
2f5792a06c Fix vulkan image sampling
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118733005

Review-Url: https://codereview.chromium.org/2118733005
2016-07-06 08:51:23 -07:00
liyuqian
97a0918715 Try fix the mac build bot after removing Android SampleApp
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2117793002

Review-Url: https://codereview.chromium.org/2117793002
2016-07-06 07:52:08 -07:00
bsalomon
4be9a30aed 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
Review-Url: https://codereview.chromium.org/2116823002
2016-07-06 07:03:26 -07:00
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