Commit Graph

28629 Commits

Author SHA1 Message Date
Yuqian Li
70898afe07 Add TiledDrawScheduler so we can concurrently draw and enque
(instead of finishing enque before draw). The highlight is that we can now
achieve 9x speedup compared to 5x in all our previous approaches
(including multi-picture draw).

The schedulers here are experimental. I'd like to move on to try initializing
once for each draw before further polishing and optimizing the schedule
mechanism.

Bug: skia:
Change-Id: Idc3d030d475af9645c24c5372ff62b9a402206cc
Reviewed-on: https://skia-review.googlesource.com/17826
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-06-05 19:29:57 +00:00
Mike Klein
9653d3aa84 more lowp blend modes
Change-Id: Id62e989d4278f273c040b159ed4d2fd6a2f209e0
Reviewed-on: https://skia-review.googlesource.com/18627
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 19:25:51 +00:00
Hal Canary
d12a67626d SkPDF: Draw paths with mask filters; color filter.
Also:
  - drawPaint, drawPath w/ perspective shaders
  - text with mask filters, stroking, path effect.
  - SkPDFUtils::GetShaderLocalMatrix

BUG=skia:237
BUG=skia:238
BUG=skia:5607
Change-Id: Iffeaf2d7abbde13fd2577ce9feaa178657f48364
Reviewed-on: https://skia-review.googlesource.com/18200
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-06-05 19:22:46 +00:00
Mike Klein
f36031b68a lowp: add some big easy stages
srcover_rgba_8888, lerp_u8, lerp_1_float, scale_u8, scale_1_float...
this is enough for _lots_ of drawing.

Change-Id: Ibe42adb8b1da6c66db3085851561dc9070556ee3
Reviewed-on: https://skia-review.googlesource.com/18622
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 19:20:48 +00:00
Leon Scroggins III
12a4dc985b Defend against ICOs with large BMPs embedded
If the ICO reports that it has a large BMP file embedded, do not
crash if we attempt to allocate too much memory.

Bug: b/38116746
Change-Id: I70eb66f5e4ffc15587007b398bbe843665eae500
Reviewed-on: https://skia-review.googlesource.com/18447
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-05 18:28:19 +00:00
Ben Wagner
094dcc51c1 Update link to testing infrastructure.
No-Try: true
Docs-Preview: https://skia.org/?cl=18596
Change-Id: I0d3cae67ccb7db06f3a85a0b1360873a77bbe78f
Reviewed-on: https://skia-review.googlesource.com/18596
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-06-05 18:20:55 +00:00
Brian Osman
ad5a64604f In shapes_as_paths, draw zoom from pixmaps, not images
Trying to track down why the Galaxy S6 sometimes claims that every pixel
is different, even though the zoomed images look identical. It's helpful
to draw what's actually being diffed.

Bug: skia:6653
Change-Id: Ia577aa70ed11d806fa204eaffdef41e6a65a60f2
Reviewed-on: https://skia-review.googlesource.com/18623
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-05 18:10:47 +00:00
Robert Phillips
67d52cf0d8 sk_sp-ify GrResourceProvider some more
I believe this addresses the concerns of this particular bug (although more remains to be done)

Bug: skia:5327
Change-Id: Ie82f08f87b3cf3d7986fe4eeb16a5d2553173913
Reviewed-on: https://skia-review.googlesource.com/18599
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-05 18:07:05 +00:00
Robert Phillips
bab680d891 Revert "Destroy ANGLE displays in destroyGLContext"
This reverts commit c1359888c0.

Reason for revert: failing botbots

Original change's description:
> Destroy ANGLE displays in destroyGLContext
> 
> Bug: skia:6711
> Change-Id: I770bb390d7b4e156116411bc6ce796375a6ddf21
> Reviewed-on: https://skia-review.googlesource.com/18588
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6711

Change-Id: I2087153f1601dfade8442f0918ffd71e0cacff08
Reviewed-on: https://skia-review.googlesource.com/18621
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-05 17:39:32 +00:00
Mike Klein
727b09c898 lowp: add constant_color, swap, move_dst_src
This is enough for us to do some really simple draws.
Also add some debug tools to help prioritize porting.

Change-Id: I334f8fd2133be1aeec3f3406371a81aa6c184776
Reviewed-on: https://skia-review.googlesource.com/18597
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-06-05 17:23:05 +00:00
Mike Klein
0e022297fe add color
Change-Id: Ie85ed7a807603ba627cb7f17de5a423ca9678251
Reviewed-on: https://skia-review.googlesource.com/18594
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 16:49:45 +00:00
Brian Salomon
28207df02b Make GrSimpleMeshDrawOpHelper record whether coverage can be implemented as alpha
This also makes the blend table entry for opaque src over indicate a blend of (1, ISA) rather than (1, 0) to match the actual implementation of the global src-over XP.
Change-Id: I1b1f64d2546e4f0cf03c0239ce674d1baad655f6
Reviewed-on: https://skia-review.googlesource.com/18521
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-05 16:47:45 +00:00
Robert Phillips
c1359888c0 Destroy ANGLE displays in destroyGLContext
Bug: skia:6711
Change-Id: I770bb390d7b4e156116411bc6ce796375a6ddf21
Reviewed-on: https://skia-review.googlesource.com/18588
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-05 16:39:05 +00:00
Mike Klein
5adb01bf0d lowp: add move_src_dst and srcover
This is enough to run the bench SkRasterPipeline_compile.

    $ ninja -C out monobench; and out/monobench SkRasterPipeline_compile 300

    Before: 300  SkRasterPipeline_compile 48.4858ns
    After:  300  SkRasterPipeline_compile 37.5801ns

Change-Id: Icb80348908dfb016826700a44566222c9f7a853c
Reviewed-on: https://skia-review.googlesource.com/18595
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 16:32:54 +00:00
Mike Klein
1f29bf093f slight streamlining for lowp load_8888 with pshufb
We can use 2 pshufb to replace 4 unpacks when deinterlacing the colors.

Change-Id: I713fbbc94f5cb9eaf14f85323b0ec76dc2246e98
Reviewed-on: https://skia-review.googlesource.com/18531
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-06-05 16:01:16 +00:00
Greg Daniel
a86385d2ff Remove blacklist of unit tests on Adreno Vulkan
Bug: skia:5777
Change-Id: I3cee2ffaf1b2858e660ca5d550d25f4a312395e6
Reviewed-on: https://skia-review.googlesource.com/18589
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-06-05 15:59:46 +00:00
Mike Klein
330e93bac1 Exclude SkJumper_stages_lowp.cpp from G3 build.
It's not meant to be built as part of Skia,
only by build_stages.py into SkJumper_generated.S.

Change-Id: Id028c42355f99415fe2bc0710c2292ea949f6eec
Reviewed-on: https://skia-review.googlesource.com/18593
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 15:40:38 +00:00
Mike Klein
eeccbf735d Real fix for stage perf regression.
When we made start_pipeline() return void, the call into the tail!=0 run
of the pipeline became eligble to be a tail-call, and Clang made that
choice.  This had the side effect of not going through vzeroupper on
those tails.

We now mark start_pipeline() as inelligible for tail calls when
targeting AVX+.  All paths go through the vzeroupper at the end.

BUG=chromium:729237

Change-Id: I2099931284214f24c67b38979b3ad4b4d10e8bba
Reviewed-on: https://skia-review.googlesource.com/18591
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 15:29:11 +00:00
Brian Osman
42bb6acf56 Simplify some Viewer code, and fix a few bugs
The content rect was always identical to the window rect,
so most of the related code did nothing. The translation
limit code is always useful (to avoid dragging the slide
way off-screen with the mouse), so always include it.
The auto-scaling to fit the screen is also still useful,
but just base it on the window rect.

The zoom code has four state variables, only used two of
them, and one was a trivially derived computation. Fold
most of that work into computeMatrix. (The translation
was always zero -- we never changed the zoom center.)

Include fDefaultMatrix in the matrix from computeMatrix,
rather than needing to apply it specially to the canvas.

Don't apply the inverse default matrix to touch or mouse
points. The absolute positions of those touch points is
not important, but because that matrix includes scale
(and sometimes very large or very small scale), it just
had the effect of greatly amplifying or damping the drag
speed. Without it, the slide always pans at the speed of
the touch/mouse drag -- which seems more desirable.

The use of the inverse default matrix was a clever trick,
but it caused the translation (applied to the global mtx)
to be scaled, so the slide was always pinned incorrectly.
Instead, supply the unmodified window rect and the default
matrix, so the trans limit code can do the obvious correct
thing: xform the slide bounds completely, then limit the
translation that will be applied after that. Slides are
now correctly pinned to screen edge regardless of how
much zoom is present in the default matrix.

Note: There are still several bugs related to all of this
code, but given the web of xform state, it's hard to
unravel. The touch gesture still doesn't know about
viewer's zoom, so that's ignored when doing the pinning.
Beyond that, it doesn't even know about window resize -
it only configures the translation limit when setting up
a slide. I had a fix for all of this (doing the
translation limiting in computeMatrix), but then the touch
gesture doesn't know about it, and can accumulate drag
motion that needs to be un-dragged to get back on-screen,
even though the slide is never really translated that far.

SkTouchGesture is in include. No one uses it except viewer:
TBR=bsalomon@google.com

Bug: skia:
Change-Id: I460cc07c3de6d36e63826f57d359faf1facf5ab3
Reviewed-on: https://skia-review.googlesource.com/18524
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-05 15:21:43 +00:00
Matt Sarett
d3df9ec874 SkImage::makeColorSpace(): Fix nullptr->sRGB bug with picture images
Bug: 729352
Change-Id: I5ad5e2121ce87dc154528bfd9ec0f3e9253ed792
Reviewed-on: https://skia-review.googlesource.com/18590
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-06-05 15:13:40 +00:00
Leon Scroggins III
d81fed9ce2 Replace BMP calls to new with calls to malloc
A BMP can have an arbitrarily large width. We typically read a row
into a block of memory before swizzling it to the output. Rather
than calling new to create that block of memory, which may crash
when we run out of memory, call malloc, and return null if malloc
fails.

Add a common base class for Mask and Standard BMP codecs. This class
handles allocating and freeing the buffer.

Bug: b/37623797
Change-Id: I0510b76d688d030865faa481bb2fb1351dac2c97
Reviewed-on: https://skia-review.googlesource.com/18400
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-05 15:09:40 +00:00
Greg Daniel
98fae7001d Remove hardstop blacklist for nexus player vulkan
Local testing says this has been fixed by some series of SKSL changes over
the past month or so

Bug: skia:6037
Change-Id: Iffc8b63e495016ac9565459ddaf44db4049a33c0
Reviewed-on: https://skia-review.googlesource.com/14530
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2017-06-05 15:08:19 +00:00
Yuqian Li
3e2df5a2b8 A little help message for Android viewer's build dir
I think that I've mis-used out/Debug multiple times to build Android
viewer. Maybe this message would help me and others in the future.

No-Try: true
Docs-Preview: https://skia.org/?cl=18587
Bug: skia:
Change-Id: I810920a0ca4aa8a46dd58b35966e08513520953c
Reviewed-on: https://skia-review.googlesource.com/18587
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-06-05 15:02:36 +00:00
cjbao
96cc36124d Handle different types of streams in different jpeg source managers
For streams that are memory backed (stream->getMemoryBase() returns
a non-null ptr and hasLength() returns true), handle the stream
with skjpeg_mem_source_mgr, which directly assigns memory base to
the source manager.  For other non memory backed streams, handle the
stream with skjpeg_buffered_source_mgr, which is renamed from
the old skjpeg_source_mgr with no implementation change.

Signed-off-by: cjbao <cathy.bao@intel.com>
Bug: skia:
Change-Id: I748de0bdba726bbb318922c08497135e73e37329
Reviewed-on: https://skia-review.googlesource.com/17296
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-06-05 14:57:46 +00:00
Leon Scroggins III
4b0b00e0c3 Support passing single SKP to get_images_from_skps
In addition to allowing the user to supply a directory, allow them
to supply a file. Simplifies my typical use case of testing a single
file.

Change-Id: I4f268cfb33fc70ff3121135941693023b6840cd3
Reviewed-on: https://skia-review.googlesource.com/18586
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-05 14:51:33 +00:00
Mike Reed
c928fe2056 add testing flag to force rasterpipeline
Bug: skia:
Change-Id: I8e195e90dc00b9be9072858086f7541e993428da
Reviewed-on: https://skia-review.googlesource.com/18585
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-05 14:45:11 +00:00
Robert Phillips
eee4d6e4e8 Make instantiate return a Boolean
From an off-line conversation:
The longer term idea will be to create a helper class isolates the
ability to instantiate proxies until flush time. The peek* methods
could then be moved to GrSurfaceProxy.

Change-Id: I8e8c02c098475b77d515791c0d6b81f7e4a327dd
Reviewed-on: https://skia-review.googlesource.com/18076
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-05 14:03:10 +00:00
Mike Klein
9beafc41af have start_pipeline() return limit again
This is spooky.
I don't quite yet understand why, but this makes things much faster.

Performance regressed across the board when we no longer needed the
value and changed it to return void:

    https://perf.skia.org/e/?begin=1496176469&keys=6994&xbaroffset=28513

You can see similar regressions following this Chromium bug link.
BUG=chromium:729237

Change-Id: I68371b0456014f909acf819aca52aa4f4f187460
Reviewed-on: https://skia-review.googlesource.com/18580
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-05 13:46:40 +00:00
Mike Klein
34d10d734c implement SkRasterPipelineBlitter::blitAntiH2()
The default blitAntiH2() calls blitAntiH() with two length-1 runs, but
for this blitter creating a small mask is better.  We can stamp both
pixels out with a single pipeline invocation.

Change-Id: If356975e85310a4545e54f2231a142d6e537944d
Reviewed-on: https://skia-review.googlesource.com/18581
Reviewed-by: Mike Reed <reed@google.com>
2017-06-05 13:31:31 +00:00
Robert Phillips
e18474e864 Re-enable single channel renderability for ANGLE ES2
Since the ANGLE-side fix has landed & been rolled into Skia we no longer need this workaround.

Change-Id: I9e6296976d53fc1c87232f918a5c0257201744bf
Reviewed-on: https://skia-review.googlesource.com/18583
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-05 13:16:13 +00:00
Robert Phillips
c8167f167d Roll ANGLE DEPS
This will pick up the ANGLE fix: https://chromium-review.googlesource.com/523023 (Fix format info for unsized RG texture formats)

Change-Id: I9cb8a6777689071a248509fb38cedeceefa35e21
Reviewed-on: https://skia-review.googlesource.com/18582
Reviewed-by: Brian Osman <brianosman@google.com>
2017-06-05 12:52:31 +00:00
Vaclav Brozek
d0e0a8ff41 Don't move raw pointers in SkCanvas
Moving raw pointers does the same job as copying, but is more verbose and also
more confusing: e.g., is the supposed pointer meant to be a smart one?

This instance was flagged by the tool from
https://codereview.chromium.org/2919243002/.

BUG=chromium:729393

Change-Id: I4c89e9d80fab9f6d14ab7db53e8b9b6e7cf966dc
Reviewed-on: https://skia-review.googlesource.com/18540
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-05 01:17:51 +00:00
Mike Klein
cb218b30aa don't try lowp in msan builds
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Debug-MSAN

Change-Id: I50bcb3a3d8138ce94e3741cac8ceacc9e7e28a20
Reviewed-on: https://skia-review.googlesource.com/18532
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-04 23:23:15 +00:00
Mike Klein
bba02c2031 start on SkJumper lowp mode
Just 3 stages implemented so far:

  load_8888
  swap_rb
  store_8888

That's enough to make the shortest non-trivial pipeline
that you see in the new unit test.

Change-Id: Iabf90866ab452f7183d8c8dec1405ece2db695dc
Reviewed-on: https://skia-review.googlesource.com/18458
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
2017-06-04 22:50:14 +00:00
UpdateSKPs
f4e4986017 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I95441583200a3ffc7a2dfe1b6671b5416278f902
Reviewed-on: https://skia-review.googlesource.com/18517
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-06-04 07:56:13 +00:00
Mike Reed
3f511889e8 experiment: force composeshade to always be rasterpipeline
Bug: skia:
Change-Id: I7dd3f652f3ce05c48cc41b0bbbb54b96d17d721a
Reviewed-on: https://skia-review.googlesource.com/18529
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-04 00:22:35 +00:00
Mike Reed
b5d9e85c02 remove unused blitters
Bug: skia:
Change-Id: Iaa2ead32a4025071c3592f83d47f174ffeb63a49
Reviewed-on: https://skia-review.googlesource.com/18530
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-03 11:56:55 +00:00
recipe-roller
4833950b75 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/2a622f20ee62c279073e59cf0b283de2aa5534ce [win_toolchain] Allow toolchain dir override. (dnj@chromium.org)
  https://crrev.com/84f6f76c72a9d253faabc147c778d8edce974193 [vpython] Bump to newer version. (dnj@chromium.org)
  https://crrev.com/6f79679ab8e9869552adfd9ef1f29f6574743976 gclient validate: allow "recursion" setting (phajdan.jr@chromium.org)
  https://crrev.com/c485d5a5d990416796c1d0099ebe12a92ca7f40d gclient: use new exec logic when validation is enabled (phajdan.jr@chromium.org)
  https://crrev.com/6d0d04458d9c345bc7d77681996d89d6e5fc742c git-cl-upload: Fix reviewers notification with --no-squash. (wiktorg@google.com)
  https://crrev.com/2fa1203a22622a151df86f34704068b93ba84ee3 Fix regression of gclient-new-workdir.py (wychen@chromium.org)
recipe_engine:
  https://crrev.com/a64a4d4ad8e4844cb81868a2b24df4d836d5caca [file] No error in remove if file does not exist (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I7c45c7278cc50d4e653a31911f3de9ec108b257e
Reviewed-on: https://skia-review.googlesource.com/18525
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-02 21:47:37 +00:00
Brian Salomon
e23bffd65b Remove support in GPU backend for distance vector field.
Also, remvoes SkNormalBevelSource as this was the last use case for the distance vector field.

Change-Id: Ib0176c78e500e6b5130310934253a75860245812
Reviewed-on: https://skia-review.googlesource.com/18482
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-02 19:44:18 +00:00
Cary Clark
219b4e81db add nonsquare scale to pathops sorter tool
Change-Id: I1b45992cc6eb18d0f79edcbd97d00d73c66c349a
Reviewed-on: https://skia-review.googlesource.com/18035
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
2017-06-02 19:30:07 +00:00
Mike Reed
65efe9c0eb remove unused auto class
Bug: skia:
Change-Id: I7178876c0d95dc83d64d39a2cb6d90a47bc4b00e
Reviewed-on: https://skia-review.googlesource.com/18520
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-02 19:25:47 +00:00
Robert Phillips
e4d45bf5ba Remove accessRenderTarget call from Clear tests
In the split-opList world the full screen clear optimization no longer relies on the rendertarget ID.

Change-Id: Ifc7bf10753355a18507998e30f9de7e8c1eb57c1
Reviewed-on: https://skia-review.googlesource.com/18497
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-02 19:21:37 +00:00
Mike Reed
0271c5b7db simplify verts in certain modes
Bug: skia:
Change-Id: I7cc54c940b61332f06b8d21eeba1def8bd9cb3dc
Reviewed-on: https://skia-review.googlesource.com/18495
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-02 19:17:07 +00:00
Robert Phillips
56f6e8355a Roll ANGLE
Change-Id: I7383e63a619772a0274a0e687eafd19a8f068bc7
Reviewed-on: https://skia-review.googlesource.com/18487
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-02 18:36:15 +00:00
Mike Reed
6867eee44d default impl of appendStages now calls shaderContext
this is approximately a revert of https://skia-review.googlesource.com/c/17768/

I propose if/when we want to experiment with a fast-path for coherent shaders
(e.g. 2-color linear gradients, up-scaling images) that we just create a new
mechanism for shaders to opt into that, knowing that it will be driven by
the rasterpipeline (and never by the old context convention).

This CL now makes it legal/clear that a new shader subclass can *just* implement
stages for raster, and never needs to make a context.

Bug: skia:
Change-Id: I525a8b1cece100f0993f75e28128e0927a4ea35c
Reviewed-on: https://skia-review.googlesource.com/18481
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-02 17:51:24 +00:00
Robert Phillips
3ea1798829 Remove ImmediateFlush mode
Change-Id: I7db113e66d81516b2beb5eefeddf488d9bfed2e5
Reviewed-on: https://skia-review.googlesource.com/18488
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-02 17:35:18 +00:00
Robert Phillips
bc712740bd Disable single channel renderability for ANGLE ES2
Bug: 720325

Change-Id: Ib55c7a0c59a23b8dc012e04b626010de7da2921b
Reviewed-on: https://skia-review.googlesource.com/18485
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-02 16:51:49 +00:00
Florin Malita
67af673d7a Remove deprecated SkRWBuffer snapshot methods
Change-Id: I98fc6059fe74458fb359eaf00ccfcae50996a9e1
Reviewed-on: https://skia-review.googlesource.com/18480
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-02 15:44:57 +00:00
Mike Klein
0d93010c98 move load_and_inc() and LazyCtx into SkJumper_misc.h
This is a no-op refator that'll help keep the interesting diff more
focused in the lowp CL.  The lowp stages will use these unaltered, so
SkJumper_misc.h is a good place for them.

Change-Id: I7fb6327ade29ac884194517d94ac4303ed1079e0
Reviewed-on: https://skia-review.googlesource.com/18484
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-02 15:40:16 +00:00
Ethan Nicholas
b4dc419f0b Re-land "Fixed an issue with sksl variable declarations"
This reverts commit affa6a3da8.

Bug: skia:
Change-Id: I5864830e31acbf786f3ea7ae91f42f10aae6d855
Reviewed-on: https://skia-review.googlesource.com/18459
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-02 15:11:19 +00:00