Commit Graph

6643 Commits

Author SHA1 Message Date
Robert Phillips
398487a850 Add a deferred copy surface (take 2)
This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext).

There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added.

This is a reland of https://skia-review.googlesource.com/c/5773/ (Add a deferred copy surface)

Change-Id: Ide560f569aede5e622420dc2f30eef76357d69f4
Reviewed-on: https://skia-review.googlesource.com/5939
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-12-13 22:01:58 +00:00
Brian Salomon
24f19780d1 Make GrRenderTargetContext::addDrawOp use sk_sp
Change-Id: Iff7f63635cdbc5cc51e5968a565f2fde2be3acb0
Reviewed-on: https://skia-review.googlesource.com/5932
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-13 20:48:50 +00:00
Robert Phillips
293d696fcf Revert "Add a deferred copy surface"
This reverts commit 4431de6af9.

Reason for revert: ANGLE errors (at the very least)

Original change's description:
> Add a deferred copy surface
> 
> This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext).
> 
> There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added.
> 
> Change-Id: Iab1867668d8146a766201158a251b9174438ee2b
> Reviewed-on: https://skia-review.googlesource.com/5773
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I61408d9e306b9b1ab32f93ab086e95184e12857f
Reviewed-on: https://skia-review.googlesource.com/5938
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-12-13 18:48:20 +00:00
Mike Klein
db402cab8b add move semantics to SkTHash*
The more I look at std::unordered_map and co., the less I like them.
I think we might want to bet on SkTHash*.

As a simple first improvement, add move support.
Next comes shrinking, and then I'll start moving over SkTDynamicHash users.

BUG=skia:6053

Change-Id: Ifdb5d713aab66434ca271c7f18a0cbbb0720099c
Reviewed-on: https://skia-review.googlesource.com/5943
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2016-12-13 18:18:47 +00:00
Brian Salomon
0abc8b43fd Add helper for idenitfying hw GrAATypes.
Change-Id: I7f4e5d87706df24ffb94e41902e0746bd149d733
Reviewed-on: https://skia-review.googlesource.com/5922
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-12-13 18:10:31 +00:00
Robert Phillips
4431de6af9 Add a deferred copy surface
This CL forces all GrSurface copies to go through a GrSurfaceContext (rather than GrContext).

There is a bit of goofiness going on here until read/writePixels is also consolidated in GrSurfaceContext and a proxy-backed SkImage/SkSurface is added.

Change-Id: Iab1867668d8146a766201158a251b9174438ee2b
Reviewed-on: https://skia-review.googlesource.com/5773
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-12-13 17:57:13 +00:00
Mike Reed
4ec2b7179e don't use deprecated api
BUG=skia:

Change-Id: I25886b9cc8df9235b925582f15bea14fffe855db
NOTRY=True
Reviewed-on: https://skia-review.googlesource.com/5940
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-13 14:22:30 +00:00
Stan Iliev
5f1bb0a7c5 Add a method in SkCanvas to set "hard" clip bounds.
Add SkCanvas::setBoundRect, which sets the max clip rectangle,
which can be replaced by clipRect, clipRRect and clipPath.

BUG=skia:

Change-Id: Ie39eb1715214971576e7a1dda760c6997a7e0208
Reviewed-on: https://skia-review.googlesource.com/5359
Commit-Queue: Stan Iliev <stani@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2016-12-12 23:24:31 +00:00
Matt Sarett
966bb348a5 Decode to sRGB on Android
I want to land this so we can start testing color space aware
decoding on Android.  In particular, it will be interesting to
see how linear premultiplication will affect existing content.

This will only modify BitmapRegionDecoder behavior.  I'll
follow up with a similar change to BitmapFactory.cpp in Android.

This will cause image diffs on Gold.

BUG=skia:

Change-Id: Iffda5f035447f2608ce26945570b503f8971b735
Reviewed-on: https://skia-review.googlesource.com/5698
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2016-12-12 22:19:05 +00:00
Mike Reed
689169dcad Hide exotic clipops, with a private rename for internal use
BUG=skia:

Change-Id: I6c320a8c7fa501771d93c191c4657452cc9f2e03
Reviewed-on: https://skia-review.googlesource.com/5844
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2016-12-12 20:58:16 +00:00
Hal Canary
1b3387b5cf SkBitmap::setPixelRef(): less reference churn
BUG=skia:

Change-Id: I9657e4af5fcc808f9175ff336155374ccc77999d
Reviewed-on: https://skia-review.googlesource.com/5461
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-12-12 20:18:50 +00:00
raftias
d737bee147 Updated the get_images_from_skps tool to check for ICC profile support
Tool will now check for and output all unsuccessfully parsed ICC
profiles in input sksp images if --testColorCorrectionSupported is set
as a flag. All ICC-aware codecs had to be slightly modified in order to
expose this information, as the logic for accessing the ICC profiles is
all within the codecs. If --writeFailedImages is set, it will also
output all images whoses ICC profiles were not supported.

TBR=reed@google.com

BUG=skia:

Change-Id: Ic310d82bdebf92f8d3bc0ad3dcc688136b6de377
Reviewed-on: https://skia-review.googlesource.com/5355
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Robert Aftias <raftias@google.com>
2016-12-12 17:06:41 +00:00
Mike Reed
ebfce6d9b4 change SkClipOp to a class enum
BUG=skia:

Change-Id: I25dbe6d6b8666a2a0a7be7bdd2ae0b067868d14e
Reviewed-on: https://skia-review.googlesource.com/5718
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-12-12 15:38:31 +00:00
Brian Osman
c87f99ef06 Make subset param to texture generation API non-optional
We were always already supplying this, makes it simpler

BUG=skia:

Change-Id: I36ac35205df5ab2a0fb7ec26e83ddb1547154816
Reviewed-on: https://skia-review.googlesource.com/5778
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-12-12 15:15:15 +00:00
Brian Salomon
9950408c5f Fix comment formatting for GrRenderTargetContext::drawArc
Change-Id: I23c946ff42964613a925b98c4ce5cf674b3b61a8
Reviewed-on: https://skia-review.googlesource.com/5705
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-12-09 21:27:24 +00:00
Brian Salomon
0e8fc8b9e6 Relandx2 "Remove antialiasing control from GrPaint."
Fixes a bad merge.

This reverts commit 073285c059.

Change-Id: I5e92339d9b33d3a6dc58b9fcd2a1b3a5684e8f8a
Reviewed-on: https://skia-review.googlesource.com/5774
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-12-09 20:43:41 +00:00
Brian Osman
61624f0c71 Plumb dst color space in many places, rather than "mode"
This is less to type in most cases, and gives us more information
(for things like picture-backed images, where we need to know all
about the destination surface).

Additionally, strip out the plumbing entirely for bitmap sources,
where we don't need to know anything.

BUG=skia:

Change-Id: I4deff6c7c345fcf62eb08b2aff0560adae4313da
Reviewed-on: https://skia-review.googlesource.com/5748
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-12-09 20:31:23 +00:00
Brian Salomon
073285c059 Revert "Reland "Remove antialiasing control from GrPaint.""
This reverts commit 3944484020.

Reason for revert: Merges badly with a recent change. Will rebase and reland.

Original change's description:
> Reland "Remove antialiasing control from GrPaint."
> 
> This contains fixes for GLPrograms test and mixed samples rendering.
> 
> This reverts commit 419d81eed4.
> 
> BUG=skia:
> 
> Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87
> Reviewed-on: https://skia-review.googlesource.com/5763
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iff9657041e28604a845bc5a9acec7c9b248c53bd
Reviewed-on: https://skia-review.googlesource.com/5772
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-12-09 20:02:22 +00:00
Brian Salomon
3944484020 Reland "Remove antialiasing control from GrPaint."
This contains fixes for GLPrograms test and mixed samples rendering.

This reverts commit 419d81eed4.

BUG=skia:

Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87
Reviewed-on: https://skia-review.googlesource.com/5763
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-12-09 19:56:24 +00:00
Brian Osman
d263413a2a Remove SkImage::makeTextureImage
No one (other than test code) was using this API, and it lacks the context
to do the right thing. Specifically, if this forces a decode of an encoded
image, we don't know the intended use (re: color spaces) to determine how
we should decode.

BUG=skia:

Change-Id: I6ff700b3a5adce8257f35c5e3dd5ba557b2a3219
Reviewed-on: https://skia-review.googlesource.com/5614
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-12-09 19:34:47 +00:00
Robert Phillips
784b7bf493 Different approach to fixing gpu blurs on platforms that "useDrawInsteadOfClear"
This CL reverts https://skia-review.googlesource.com/c/5148/ (Fix gpu blurring on platforms that "useDrawInsteadOfClear") (all the worstCaseWidth/Height stuff) and adds a new GrRenderTargetContext entry point (absClear) to specify clears that can't be discarded or altered.

BUG=skia:

Change-Id: I18b1373ecf4a153ca8c0f290ab8b1d00770426da
Reviewed-on: https://skia-review.googlesource.com/5484
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-12-09 19:29:38 +00:00
Herb Derby
252b72410b Revert "SkImageEncoder::* going away"
Breaks 5 compiles on google3.

This reverts commit 3489b2b727.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> SkImageEncoder::* going away
> 
> Approval from https://review.skia.org/5006
> TBR=reed@google.com
> 
> Change-Id: Ib5fb1b624594598e2316f9247069ecd207d7a974
> Reviewed-on: https://skia-review.googlesource.com/5751
> Reviewed-by: Hal Canary <halcanary@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
> 

TBR=halcanary@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0c0b863056c90435374769e85fb08c1b2f5113a2
Reviewed-on: https://skia-review.googlesource.com/5760
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2016-12-09 17:07:18 +00:00
Hal Canary
3489b2b727 SkImageEncoder::* going away
Approval from https://review.skia.org/5006
TBR=reed@google.com

Change-Id: Ib5fb1b624594598e2316f9247069ecd207d7a974
Reviewed-on: https://skia-review.googlesource.com/5751
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-12-09 16:13:42 +00:00
Mike Reed
c1f7774e8d Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"
This reverts commit a129dfef2a.

BUG=skia:

Change-Id: I717de6e5fcd4516aa684b014b1414b0f82ac2b91
Reviewed-on: https://skia-review.googlesource.com/5722
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2016-12-09 14:33:41 +00:00
Mike Reed
a129dfef2a Revert "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"
This reverts commit 8e7432b7f9.

Reason for revert: <INSERT REASONING HERE>

external/skia/bench/../tools/android/SkAndroidSDKCanvas.h:103:36: error: C++ requires a type specifier for all declarations
    void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override;

Original change's description:
> remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS
> 
> 
> switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone
> 
> BUG=skia:
> 
> Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
> Reviewed-on: https://skia-review.googlesource.com/5714
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
> 

TBR=reed@google.com,reviews@skia.org
BUG=skia:
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: If26ea91d7464615e43c1d3d2f726e337ff56b55c
Reviewed-on: https://skia-review.googlesource.com/5721
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-09 13:14:41 +00:00
Mike Reed
8e7432b7f9 remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS
switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone

BUG=skia:

Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d
Reviewed-on: https://skia-review.googlesource.com/5714
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-08 21:45:27 +00:00
Mike Reed
df8599ac24 remove SK_SUPPORT_LEGACY_REFENCODEDDATA_NOCTX flag
BUG=skia:

Change-Id: I51b7778db8b596b2633b6be9488af984cee2af70
Reviewed-on: https://skia-review.googlesource.com/5713
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2016-12-08 19:25:49 +00:00
Brian Salomon
419d81eed4 Revert "Remove antialiasing control from GrPaint."
This reverts commit 9f549358b3.

Reason for revert: hitting asserts

Change-Id: I542d34edc05ecf72b7646263f25736a0950c78e7
Reviewed-on: https://skia-review.googlesource.com/5707
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-12-08 17:11:46 +00:00
Brian Salomon
9f549358b3 Remove antialiasing control from GrPaint.
This adds an additional param (of new enum type GrAA) to draws that can antialias and a new enum GrAAType to indicate the AA technique (none, fragment shader computed coverage, msaa).

Some GMs change due to this:
1) In some places we weren't disabling MSAA when the draw was supposed to be unantialiased.
2) Some bounding rect draws that use GrFragmentProcessors were unnecessarily turning on antialiasing, by disabling it a very small number of pixel LSBs change.

Change-Id: I7d8d8793dda70bcd373d09055beb9949c1a8a4d0
Reviewed-on: https://skia-review.googlesource.com/5608
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-12-08 16:27:44 +00:00
Brian Salomon
42521e8910 Rename GrRTC::drawBatch to addDrawOp and local vars in GrRTC.cpp
Change-Id: Ic8b896d7779844de5f82f9f0e630508578a8f61d
Reviewed-on: https://skia-review.googlesource.com/5647
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-07 22:38:42 +00:00
Mike Reed
02b7349af7 no need for SK_SUPPORT_LEGACY_CANVAS_IS_REFCNT anymore
BUG=skia:

Change-Id: If0aa01beb8be9bd7d9a3a5b23c795223b02f02d3
Reviewed-on: https://skia-review.googlesource.com/5690
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-07 22:28:04 +00:00
Hal Canary
58a769490a SkBitmap::ComputeIsOpaque -> SkPixmap::computeIsOpaque
Motivation:  Twice internal Skia clients have to do something awkward like this:

    bool ComputeIsOpaque(const SkPixmap& pixmap) {
      SkBitmap bm;
      return bm.installPixels(pixmap) && SkBitmap::ComputeIsOpaque(bm);
    }

Change-Id: I7263c06f754c1305ecb07c4c005d9cfb9d1f523d
Reviewed-on: https://skia-review.googlesource.com/5684
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-12-07 21:44:39 +00:00
Hal Canary
4cba3fe576 SkBitmap::ComputeIsOpaque and SkBitmap::eraseColor support F16
Also add a unit test.

Change-Id: I9b6635ce9dd504788ca36b3246eaac2b37c2f3a6
Reviewed-on: https://skia-review.googlesource.com/5443
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-07 20:43:26 +00:00
Mike Reed
fd87be8ffa hide emboss from everyone (except android for now)
BUG=skia:

Change-Id: Ibd453b0a63948e3e4950f02459d7bc01a6ed26c5
Reviewed-on: https://skia-review.googlesource.com/5671
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2016-12-07 19:13:32 +00:00
Hal Canary
b88ca7eca4 Revert "SkImageEncoder::* going away"
This reverts commit d7e16661bb.
Reason for revert: breaking g3
NOTRY=true
Change-Id: I56d53adca64a94b4f66dd0539634804a96e92ddf
Reviewed-on: https://skia-review.googlesource.com/5672
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2016-12-07 16:50:32 +00:00
Hal Canary
d7e16661bb SkImageEncoder::* going away
Approval from https://review.skia.org/5006
TBR=reed@google.com

Change-Id: I43d1a24fa3e924b3c24b224f2451ab990b440dc8
Reviewed-on: https://skia-review.googlesource.com/5413
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-12-07 16:02:33 +00:00
Brian Osman
11970e56c1 Add destination color space to shader ContextRec
BUG=skia:

Change-Id: Ib1920fffd5735ad54a5b785bbc2676ea240bdbfa
Reviewed-on: https://skia-review.googlesource.com/5611
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
2016-12-05 21:48:59 +00:00
Brian Salomon
fe647b2d9a Make flag values in GrResourceProvider and GrTextureProvider consistent
BUG=chromium:665673

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

Change-Id: I41522aa24cd4b4a7e085132dd9bcbfdd66bd9617
Reviewed-on: https://skia-review.googlesource.com/5602
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-12-05 19:06:43 +00:00
Florin Malita
d8c278af51 Add no-op draw overrides to SkNoDrawCanvas
SkNoDrawCanvas is not backed by pixels, but for draw ops not intercepted
by clients we abort rasterization failry late (SkNullBlitter).

BUG=chromium:668925
R=reed@google.com

Change-Id: I4cd80dbbc262936d33410275051ea0b9c04fbc6c
Reviewed-on: https://skia-review.googlesource.com/5543
Commit-Queue: Florin Malita <fmalita@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-05 15:24:58 +00:00
Florin Malita
439ace939b Rebase non-drawing SkCanvas subclasses to SkNoDrawCanvas
R=reed@google.com,mtklein@google.com

Change-Id: I7df84587821db561e262a915afa23108a4a78834
Reviewed-on: https://skia-review.googlesource.com/5508
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-12-02 18:25:49 +00:00
Leon Scroggins III
0dd698737e Be explicit about the vector<FrameInfo> type
This fixes a compile error in Chromium.

BUG=skia:6026

Change-Id: Idd5ad22cb52a084836de6e1427f1f047d1feab08
Reviewed-on: https://skia-review.googlesource.com/5500
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2016-12-02 15:14:28 +00:00
brianosman
20471894ea Two (related) changes here:
1) Our older iOS devices failed our sRGB tests, due to precision issues
with alpha. At this point, we only test on iPadMini 4, and that appears
not to have any problems.

2) iOS devices still don't have the sRGB texture decode extension. But,
some clients have no interest in mixing legacy/color-correct rendering,
and would like to use sRGB on these devices. This GrContextOptions flag
enables sRGB support in those cases.

Adjust the test code to produce sRGB capable contexts on these devices,
but only for configs that have a color space. (See comment).

BUG=skia:4148

Committed: https://skia.googlesource.com/skia/+/9db12d2341f3f8722c8b90b11dd4cce138a8a64e
Committed: https://skia.googlesource.com/skia/+/1aeb78c5d978b35b256525b711edd942bce01444
Review-Url: https://codereview.chromium.org/2539993002
2016-12-02 06:43:32 -08:00
Florin Malita
4b7b6f0229 Retire SkNoSaveLayerCanvas
No clients, superseded by SkNoDrawCanvas.

R=reed@google.com

Change-Id: I93352c6cfb24ec133ed8433c3b31a5fa5ab1ace8
Reviewed-on: https://skia-review.googlesource.com/5460
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-02 14:16:33 +00:00
Mike Reed
ac44d69a7d remove (empty) SkXfermode.h
BUG=skia:

Change-Id: Ic5ceb829a80252b35d4a953dc32417db9ddc8ec8
Reviewed-on: https://skia-review.googlesource.com/5481
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-12-02 01:39:08 +00:00
brianosman
a6abb57b99 Revert of Enable sRGB on iOS, make sRGB decode support optional (patchset #12 id:220001 of https://codereview.chromium.org/2539993002/ )
Reason for revert:
Command Buffer, too...

Original issue's description:
> Two (related) changes here:
>
> 1) Our older iOS devices failed our sRGB tests, due to precision issues
> with alpha. At this point, we only test on iPadMini 4, and that appears
> not to have any problems.
>
> 2) iOS devices still don't have the sRGB texture decode extension. But,
> some clients have no interest in mixing legacy/color-correct rendering,
> and would like to use sRGB on these devices. This GrContextOptions flag
> enables sRGB support in those cases.
>
> Adjust the test code to produce sRGB capable contexts on these devices,
> but only for configs that have a color space. (See comment).
>
> BUG=skia:4148
>
> Committed: https://skia.googlesource.com/skia/+/9db12d2341f3f8722c8b90b11dd4cce138a8a64e
> Committed: https://skia.googlesource.com/skia/+/1aeb78c5d978b35b256525b711edd942bce01444

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

Review-Url: https://codereview.chromium.org/2546783005
2016-12-01 13:59:31 -08:00
brianosman
1aeb78c5d9 Two (related) changes here:
1) Our older iOS devices failed our sRGB tests, due to precision issues
with alpha. At this point, we only test on iPadMini 4, and that appears
not to have any problems.

2) iOS devices still don't have the sRGB texture decode extension. But,
some clients have no interest in mixing legacy/color-correct rendering,
and would like to use sRGB on these devices. This GrContextOptions flag
enables sRGB support in those cases.

Adjust the test code to produce sRGB capable contexts on these devices,
but only for configs that have a color space. (See comment).

BUG=skia:4148

Committed: https://skia.googlesource.com/skia/+/9db12d2341f3f8722c8b90b11dd4cce138a8a64e
Review-Url: https://codereview.chromium.org/2539993002
2016-12-01 13:18:16 -08:00
brianosman
0a2782c98c Revert of Enable sRGB on iOS, make sRGB decode support optional (patchset #11 id:200001 of https://codereview.chromium.org/2539993002/ )
Reason for revert:
ANGLE tests are failing

Original issue's description:
> Two (related) changes here:
>
> 1) Our older iOS devices failed our sRGB tests, due to precision issues
> with alpha. At this point, we only test on iPadMini 4, and that appears
> not to have any problems.
>
> 2) iOS devices still don't have the sRGB texture decode extension. But,
> some clients have no interest in mixing legacy/color-correct rendering,
> and would like to use sRGB on these devices. This GrContextOptions flag
> enables sRGB support in those cases.
>
> Adjust the test code to produce sRGB capable contexts on these devices,
> but only for configs that have a color space. (See comment).
>
> BUG=skia:4148
>
> Committed: https://skia.googlesource.com/skia/+/9db12d2341f3f8722c8b90b11dd4cce138a8a64e

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

Review-Url: https://codereview.chromium.org/2547603002
2016-12-01 10:42:04 -08:00
Florin Malita
ee424acbb8 SkNoDrawCanvas - a public non-drawing canvas base class
TODO:

  - convert SkDeferredCanvas, SkLiteRecorder, etc. to the new base
  - remove unused SkNoSaveLayerCanvas

BUG=chromium:668925
R=reed@google.com,mtklein@google.com

Change-Id: Ie9af577477a6b9eaa5ef55523287ad1635dca116
Reviewed-on: https://skia-review.googlesource.com/5349
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-12-01 18:34:29 +00:00
Mike Reed
b2e29bbf22 Revert "Revert "Revert "remove (empty) SkXfermode.h"""
This reverts commit 1c038af278.

Reason for revert: <INSERT REASONING HERE>

More breaks in g3 (e.g. blink_headless)

Original change's description:
> Revert "Revert "remove (empty) SkXfermode.h""
> 
> This reverts commit c5d0147717.
> 
> g3 is updated to allow this to land
> 
> BUG=skia:
> 
> Change-Id: I5f4b06c2dc77dfa66d9b32348375151177511a65
> Reviewed-on: https://skia-review.googlesource.com/5406
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> 

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I77f69512f616120382c31d90243f7df13985d76c
Reviewed-on: https://skia-review.googlesource.com/5419
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-12-01 17:32:46 +00:00
brianosman
9db12d2341 Two (related) changes here:
1) Our older iOS devices failed our sRGB tests, due to precision issues
with alpha. At this point, we only test on iPadMini 4, and that appears
not to have any problems.

2) iOS devices still don't have the sRGB texture decode extension. But,
some clients have no interest in mixing legacy/color-correct rendering,
and would like to use sRGB on these devices. This GrContextOptions flag
enables sRGB support in those cases.

Adjust the test code to produce sRGB capable contexts on these devices,
but only for configs that have a color space. (See comment).

BUG=skia:4148

Review-Url: https://codereview.chromium.org/2539993002
2016-12-01 09:02:03 -08:00
Brian Salomon
9afd371a8a Rename GrDrawBatch->GrDrawOp
Change-Id: I18f520924b8a2548566fd61dbea4e3e12bd253dd
Reviewed-on: https://skia-review.googlesource.com/5411
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-01 16:45:27 +00:00
Brian Salomon
25a880960a Rename GrBatch to GrOp
Change-Id: I27b6324f8040899fafeda23ca524bc54a4dbf090
Reviewed-on: https://skia-review.googlesource.com/5392
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-12-01 15:12:53 +00:00
Mike Reed
1c038af278 Revert "Revert "remove (empty) SkXfermode.h""
This reverts commit c5d0147717.

g3 is updated to allow this to land

BUG=skia:

Change-Id: I5f4b06c2dc77dfa66d9b32348375151177511a65
Reviewed-on: https://skia-review.googlesource.com/5406
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-12-01 15:04:34 +00:00
Hal Canary
1fcc40474f SkEncodeImage: no more link-time registration
Also, no more SkImageEncoder class.

SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS now only guards some
old API shims.

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

Change-Id: I3797f584f3e8e12ade10d31e8733163453725f40
Reviewed-on: https://skia-review.googlesource.com/5006
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-30 22:48:56 +00:00
Brian Salomon
5c1c8d15f5 Remove batch bounds drawing debug option
Change-Id: I6b8ffc81a1255974f8acd1dfc47cfd406fd4b0bf
Reviewed-on: https://skia-review.googlesource.com/5335
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-30 20:57:04 +00:00
Brian Osman
c5d0147717 Revert "remove (empty) SkXfermode.h"
This reverts commit c5619cd170.

Reason for revert: Want to keep Google3 green & be able to detect other changes breaking it.

Change-Id: I3a651d0996838ed12bc0cfc6ed464a2cee37fba4
Reviewed-on: https://skia-review.googlesource.com/5381
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2016-11-30 20:09:12 +00:00
Mike Reed
c5619cd170 remove (empty) SkXfermode.h
BUG=skia:

Change-Id: Id45c378c8f6267c6cd9a187155e3934bb6d624bf
Reviewed-on: https://skia-review.googlesource.com/5339
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-30 15:40:28 +00:00
Mike Klein
7a14734d2c support a8
Most of this is plumbing through the full paint to shaders instead of just the filter quality.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I6afde07566afa3a4391c24dca7017a9a4f5ec700
Reviewed-on: https://skia-review.googlesource.com/5317
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-29 21:36:32 +00:00
Brian Salomon
f1dd677c3a Rename SkSL::GLSLCapsFactory to SkSL::ShaderCapsFactory
Change-Id: Ibc478f1a24d9d96e4d67a907c756389d184857de
Reviewed-on: https://skia-review.googlesource.com/5316
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 21:12:45 +00:00
Mike Klein
1a42791a58 Make SkNWayCanvas use conservative clipping.
Like most other canvas subclasses, its clips don't need to be perfect.

BUG=chromium:668925

Change-Id: I107f8ed6fa60654426fd52c066b1018d5801850d
Reviewed-on: https://skia-review.googlesource.com/5308
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-29 20:59:38 +00:00
Brian Salomon
94efbf51f5 Merge GrGLSLCaps into GrShaderCaps
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5121

Change-Id: If8d13638f80f42161cbc766a2666c5789e5772c8
Reviewed-on: https://skia-review.googlesource.com/5121
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 19:32:31 +00:00
Brian Salomon
f9f451213a Reland image storage with fixes.
Revert "Revert "Initial OpenGL Image support.""

This reverts commit 59dc41175d.

BUG=skia:

Change-Id: Ibe3c87ce7f746f065fdbcc5a518388cc291112f5
Reviewed-on: https://skia-review.googlesource.com/5131
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-29 17:42:53 +00:00
Lee Salzman
3c1072d027 use __BYTE_ORDER__ macro to detect endianness when available
BUG=skia:

Change-Id: Iff27097c248a643319e930a6212c5a7155bd0064
Reviewed-on: https://skia-review.googlesource.com/5280
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-28 21:07:47 +00:00
Brian Osman
1b51c5297e Narrow the SkImageGenerator interface
Remove some unused variants of bitmap generation and a helper that
serves no purpose.

BUG=skia:
TBR=reed@google.com

Change-Id: I16022e7f0242c4511eebdc06d890f6bfdf81d1f9
Reviewed-on: https://skia-review.googlesource.com/5229
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2016-11-28 19:50:22 +00:00
Mike Klein
e9f78b41c6 Guard against buggy ucrt\math.h.
BUG=666707

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

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Change-Id: I3bebfdf635d541d92fb84236f0f6fae2da39d691
Reviewed-on: https://skia-review.googlesource.com/5089
Reviewed-by: Bruce Dawson <brucedawson@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2016-11-28 15:40:23 +00:00
Robert Phillips
93f1633abc Fix gpu blurring on platforms that "useDrawInsteadOfClear"
Platforms that "useDrawInsteadOfClear" take a different path in
GrRenderTargetContext::internalClear. The different path involves
a lot of comparisons of the drawn rect with the bounds of the RenderTarget. Since the RenderTargets are now deferred (and the instantiated version might be larger than the proxied size) case must be taken in prematurely optimizing away clears and draws.

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

TBR=bsalomon@google.com

Change-Id: If63b6393fb66328175bc92de211e7242e903f25e
Reviewed-on: https://skia-review.googlesource.com/5148
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-11-25 21:36:00 +00:00
Florin Malita
58cda8fa49 External image generator API: return an SkPixmap instead of SkImage
R=reed@google.com
BUG=skia:5806

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

Change-Id: Ib0215f63b67f4d5b619ebe1f1b70c7d95e604871
Reviewed-on: https://skia-review.googlesource.com/5134
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2016-11-25 00:12:32 +00:00
Mike Reed
0e39f97cd7 Revert "Revert "make it illegal to include SkXfermode.h""
This reverts commit e9d1b299cc.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "make it illegal to include SkXfermode.h"
> 
> This reverts commit 07764cefbb.
> 
> Reason for revert: breaking google3
> 
> Original change's description:
> > make it illegal to include SkXfermode.h
> > 
> > BUG=skia:
> > 
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
> > 
> > Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> > Reviewed-on: https://skia-review.googlesource.com/5133
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> > 
> 
> TBR=reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
> Reviewed-on: https://skia-review.googlesource.com/5196
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> 

TBR=egdaniel@google.com,reviews@skia.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0b767ce778a4ade83c2f07d5ece486bb46d7712c
Reviewed-on: https://skia-review.googlesource.com/5223
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-23 22:17:17 +00:00
Greg Daniel
e9d1b299cc Revert "make it illegal to include SkXfermode.h"
This reverts commit 07764cefbb.

Reason for revert: breaking google3

Original change's description:
> make it illegal to include SkXfermode.h
> 
> BUG=skia:
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5133
> 
> Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
> Reviewed-on: https://skia-review.googlesource.com/5133
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> 

TBR=reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I136f9e533eb60633c49dffa19b5747d50b6d98a8
Reviewed-on: https://skia-review.googlesource.com/5196
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-11-23 16:47:49 +00:00
Hal Canary
db6830162e SkImageEncoder: simplify API
(re-land 248ff02 & 2cb6cb7, with changes)

  - Hide SkImageEncoder class in private header.
  - SkImageEncoder::Type becomes SkEncodedImageFormat
  - SkEncodedFormat becomes SkEncodedImageFormat
  - SkImageEncoder static functions replaced with
    single function EncodeImage()
  - utility wrappers for EncodeImage() are in
    sk_tool_utils.h

TODO: remove link-time registration mechanism.
TODO: clean up clients use of API and flip the flag.
TODO: implement EncodeImage() in chromeium/skia/ext

Change-Id: I47d451e50be4d5c6c130869c7fa7c2857243d9f0
Reviewed-on: https://skia-review.googlesource.com/4909
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-on: https://skia-review.googlesource.com/5186
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2016-11-23 16:40:32 +00:00
Brian Osman
45580d3e30 Added GrSurfaceContext and GrTextureContext
This lets copy-to-texture to be treated like copy-to-rt.
To match current behavior, though, copies to texture are
still executed immediately (forcing a flush).

Once MDB is enabled, copies to texture will be deferred.

BUG=skia:

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

Change-Id: Icc0ce5435507a5f0a237c22eedef879824952367
Reviewed-on: https://skia-review.googlesource.com/5093
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-23 15:52:27 +00:00
Mike Reed
07764cefbb make it illegal to include SkXfermode.h
BUG=skia:

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

Change-Id: I6e8596dcb17cd7e8efa67859bb682bf9bfcac4db
Reviewed-on: https://skia-review.googlesource.com/5133
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-23 15:35:45 +00:00
Brian Salomon
59dc41175d Revert "Initial OpenGL Image support."
This reverts commit be34882042.

Reason for revert: Test failures and shader compilation issues on Android.

Original change's description:
> Initial OpenGL Image support.
> 
> This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up.
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4182
> 
> Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce
> Reviewed-on: https://skia-review.googlesource.com/4182
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> 

TBR=egdaniel@google.com,bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I29a2502c296ae39ed9a999957800414ae46e6f0f
Reviewed-on: https://skia-review.googlesource.com/5129
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-11-23 01:02:57 +00:00
Brian Salomon
be34882042 Initial OpenGL Image support.
This change along with recently landed changes is enough to make the new unit test work and not much else. imageLoad is support but not stores or any other image functions (atomics). Barriers in the shading language or the GL API are not yet hooked up.

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

Change-Id: I5958b7c89e40ae5ee05f7bbaca3b3738162fe5ce
Reviewed-on: https://skia-review.googlesource.com/4182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-22 21:35:11 +00:00
Hal Canary
a2b4bdce8c Revert 248ff023 & 2cb6cb72
Revert "SkImageEncoder: simplify API"
This reverts commit 248ff02331.
Revert "Fix bug: can't convert nullptr -> bool"
This reverts commit 2cb6cb7218.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5151
NOTRY=true

Change-Id: I5f6414392d6545f74db0b5bb50608d04f053a8ec
Reviewed-on: https://skia-review.googlesource.com/5151
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2016-11-22 21:23:51 +00:00
Brian Salomon
6039768963 Move GrShaderVar to an appending model for layout qualifiers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5144

Change-Id: I05e88961e50bd679cfe5863f413f3ec65bc9fd95
Reviewed-on: https://skia-review.googlesource.com/5144
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-22 20:49:02 +00:00
Hal Canary
2cb6cb7218 Fix bug: can't convert nullptr -> bool
Change-Id: Ib37c46d00b6a3e768e6d8399f2a6afb332d36bff
Reviewed-on: https://skia-review.googlesource.com/5141
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-11-22 20:14:50 +00:00
Hal Canary
e8eed323ef remove SkPixelRef::refEncodedData()
BUG=skia:

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

Change-Id: I15dba4f44c762ab69a23eb8a77adff5f63763e30
Reviewed-on: https://skia-review.googlesource.com/5001
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-22 19:47:21 +00:00
Matt Sarett
22886c4935 Add SkOverdrawCanvas to detect overdraw
This is the first part of a multi-part change to detect and
display gpu overdraw on Android.

BUG:32370375

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

Change-Id: Ibba9d7343f2fd57397fa1168a5a5b1ef6ef91287
Reviewed-on: https://skia-review.googlesource.com/4907
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2016-11-22 18:27:47 +00:00
Hal Canary
248ff02331 SkImageEncoder: simplify API
- Hide SkImageEncoder class in private header.
  - SkImageEncoder::Type becomes SkEncodedImageFormat
  - SkEncodedFormat becomes SkEncodedImageFormat
  - SkImageEncoder static functions replaced with
    single function EncodeImage()
  - utility wrappers for EncodeImage() are in
    sk_tool_utils.h

TODO: remove link-time registration mechanism.
TODO: clean up clients use of API and flip the flag.
TODO: implement EncodeImage() in chromeium/skia/ext

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

Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70
Reviewed-on: https://skia-review.googlesource.com/4909
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2016-11-22 18:25:55 +00:00
Mike Reed
71fecc32b1 don't memtion SkXfermode in public
BUG=skia:

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

Change-Id: Ia9527bfd0f13146669df5e71098af903e14bae3a
Reviewed-on: https://skia-review.googlesource.com/5070
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-22 15:22:00 +00:00
Jim Van Verth
c590341458 Add shadowrrect geometry processor
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4233

Change-Id: I637099709cfe30f7d3c1883e23840a47a7a25c10
Reviewed-on: https://skia-review.googlesource.com/4233
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-21 21:44:20 +00:00
Brian Salomon
99938a8ef2 Merge GrGLSLShaderVar and GrShaderVar
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5087

Change-Id: Ib8943a1da1ea495554feaf5b0992b94fbb9539ab
Reviewed-on: https://skia-review.googlesource.com/5087
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2016-11-21 19:13:43 +00:00
robertphillips
d728f0c1a9 Defer more renderTargetContexts in the GPU image filter paths - take 2
This is a reland of https://skia-review.googlesource.com/c/4767/ (Defer more renderTargetContexts in the GPU image filter paths).
The addition of guards on instantiation && accessRenderTarget failure should prevent a reoccurence of this Nexus7 failures.

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

TBR=bsalomon@google.com

Review-Url: https://codereview.chromium.org/2514543002
2016-11-21 11:05:03 -08:00
Brian Salomon
f31ae49527 Remove unnecessary attribute and varying type modifiers
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5007

Change-Id: Ic9fefe09221d5e367b5aa5dd0084fc7d6631998c
Reviewed-on: https://skia-review.googlesource.com/5007
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2016-11-18 21:15:20 +00:00
Brian Salomon
b014cca49d Make GrBufferAccess a nested class of GrProcessor
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4978

Change-Id: I08c24e9183108f4dd6068216488fd3ac9b5f3ec2
Reviewed-on: https://skia-review.googlesource.com/4978
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-18 17:17:46 +00:00
Brian Salomon
514baff8be Rename GrTextureParams to GrSamplerParams
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4965

Change-Id: I7d52e81c670e92ca96117284f44b274ce3cc3671
Reviewed-on: https://skia-review.googlesource.com/4965
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-17 21:13:18 +00:00
Robert Phillips
b446088690 Fix computation of texture size for approximately-fit deferred proxies
For approximate-fit deferred proxies asserts were firing when the instantiated size was larger than the pre-computed exact-fit size.

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

Change-Id: I879e16b86ab4d9ef9834163c24ccd6507fe4b94a
Reviewed-on: https://skia-review.googlesource.com/4972
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2016-11-17 20:47:18 +00:00
Brian Salomon
db4183d227 In GrProcessor::TextureSampler drop the "get", it's cleaner
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4962

Change-Id: I55e7f8d1b6e1097fdbe411e9989dd42a03dd5f33
Reviewed-on: https://skia-review.googlesource.com/4962
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2016-11-17 19:35:53 +00:00
Robert Phillips
e60ad620fe Guard against instantiate & accessRenderTarget failures
Chrome's fuzzer have reminded me that, since we are deferring allocation, instantiate and accessRenderTarget can now fail further down the call stack.

This should probably be cherry picked back to M56.

BUG=665681,665500,665621

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

Change-Id: I44d81ff29586dfe75ddda30b5ed8ca76354542d6
Reviewed-on: https://skia-review.googlesource.com/4929
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2016-11-17 17:34:13 +00:00
Mike Klein
987de5b6b9 Plumb filter quality into SkShader::appendStages().
We of course need this to know whether or not to bilerp.

TBR=herb@google.com

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

Change-Id: I5fe6d93c1d36d0d53f566f722960fcafb0d8bc3c
Reviewed-on: https://skia-review.googlesource.com/4932
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2016-11-17 17:23:59 +00:00
hcm@google.com
f8e41d53d4 Update Skia milestone to 57
Milestone that we typically update, but note that change from 55->56 was missed, will cherry pick to branch.
This change gets current file caught up to show working milestone after branch.

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

Change-Id: If10e0db2d4acc908f5da7c4e9d30497deef6a2ff
Reviewed-on: https://skia-review.googlesource.com/4927
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2016-11-17 17:23:57 +00:00
Brian Salomon
0bbecb21ab Rename GrTextureAccess to GrProcessor::TextureSampler.
Renames vars and methods that used the work "access" to refer to this type.

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

Change-Id: Ibcf488fbd445c5119fc13d190544cd98981bdbee
Reviewed-on: https://skia-review.googlesource.com/4931
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2016-11-17 17:18:53 +00:00
Florin Malita
ca79535dcb External SkImageGenerator API
Introduce an SkImageGenerator API to support the implementation of
externally-managed image decode and scale caches.

BUG=skia:5806
R=reed@google.com

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

Change-Id: Ibfe37af5471f78f28f88f9d5e80938882be1a344
Reviewed-on: https://skia-review.googlesource.com/4720
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2016-11-16 20:24:48 +00:00
csmartdalton
2245803fcd Rename GrTextureBufferSampler to GrBufferSampler
Just a simple renaming to reinforce the Ganesh notion that a buffer
access is not related to a texture.

BUG=skia:

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

Change-Id: I3f12b6eccff744e246618be0a7abf41c4a1228a1
Reviewed-on: https://skia-review.googlesource.com/4879
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2016-11-16 19:34:48 +00:00
Brian Salomon
a8f0002f0c Rename kTexture2DISampler to kITexture2DSampler.
Also remove unused kGrSLTypeCount.

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

Change-Id: I7f934c56515424b2668886dec2f16296a1256e2c
Reviewed-on: https://skia-review.googlesource.com/4903
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2016-11-16 19:27:27 +00:00
Mike Reed
d5870c2a4d move SkBlendMode_Name into public (for chrome)
BUG=skia:

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

Change-Id: I4f6cbc7b4d2a9d41ba5da39d550961587f30a4ac
Reviewed-on: https://skia-review.googlesource.com/4905
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2016-11-16 19:17:21 +00:00
robertphillips
1125a030c7 Add IORef capability to GrSurfaceProxy objects - take 2
Re-landing of https://skia-review.googlesource.com/c/4734/ (Add IORef capability to GrSurfaceProxy objects) with fixes for:
 platforms that don't support discards.
 memory leak due to copying over of GrSurfaceProxy's creation ref to instantiated GrSurface in instantiate()

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

Change-Id: If0b695d5cafc5ef3fdd251c38262849d09e5d27f
Review-Url: https://codereview.chromium.org/2502923003
2016-11-16 11:17:17 -08:00
Mike Reed
d470673928 make SkXfermode.h go away
This is step one:
- make SkXfermode useless to public clients
- everything they should need is in SkBlendMode.h

Step two:
- remove SkXfermode.h entirely (since skia core will already be using SkXfermodePriv.h)

BUG=skia:

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

Change-Id: If2cea9f71df92430ed6644edb98dd306c5572cbc
Reviewed-on: https://skia-review.googlesource.com/4534
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2016-11-16 15:38:11 +00:00
Robert Phillips
4e344c8b93 Revert "Defer more renderTargetContexts in the GPU image filter paths"
This reverts commit fd01ce05ef.

Reason for revert: see if this is the cause of the Nexus7 assertion failure

Original change's description:
> Defer more renderTargetContexts in the GPU image filter paths
> 
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4767
> 
> Change-Id: I4c1f27247ef340a49d1ac96761810e77e6047ca2
> Reviewed-on: https://skia-review.googlesource.com/4767
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I158f96ec1252481345fc5dca15086ffd4b47cb95
Reviewed-on: https://skia-review.googlesource.com/4875
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2016-11-15 22:17:40 +00:00