aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Fix gpu blurring on platforms that "useDrawInsteadOfClear"Gravatar Robert Phillips2016-11-25
| | | | | | | | | | | | | | | | 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>
* External image generator API: return an SkPixmap instead of SkImageGravatar Florin Malita2016-11-25
| | | | | | | | | | | | 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>
* Revert "Revert "make it illegal to include SkXfermode.h""Gravatar Mike Reed2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit e9d1b299ccbf8017ba57040986ded638f954684a. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "make it illegal to include SkXfermode.h" > > This reverts commit 07764cefbb18041a77897df3453903b0a2016583. > > 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>
* A few bug fixes for SkOverdrawCanvasGravatar Matt Sarett2016-11-23
| | | | | | | | | | | | | | | | (1) Use SkNWayCanvas to pass through non-draw canvas calls. (2) Do not count overdraw on the initial canvas clear. (3) Avoid counting overdraw for transparent lattice regions. (4) Respect some properties of input paint. BUG:32370375 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5150 Change-Id: I8fe6b9df7247d637c710628aefdfee82a61048c2 Reviewed-on: https://skia-review.googlesource.com/5150 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "make it illegal to include SkXfermode.h"Gravatar Greg Daniel2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 07764cefbb18041a77897df3453903b0a2016583. 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>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | (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>
* Added GrSurfaceContext and GrTextureContextGravatar Brian Osman2016-11-23
| | | | | | | | | | | | | | | | | 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>
* make it illegal to include SkXfermode.hGravatar Mike Reed2016-11-23
| | | | | | | | | | | 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>
* Revert "Initial OpenGL Image support."Gravatar Brian Salomon2016-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit be34882042048db096baca32ddf4a8b472529804. 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>
* Initial OpenGL Image support.Gravatar Brian Salomon2016-11-22
| | | | | | | | | | | | 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>
* Add SkOverdrawColorFilterGravatar Matt Sarett2016-11-22
| | | | | | | | | | | | | | | | | | | Uses the value in the src alpha channel to choose how to set the dst pixel. This is a part of a multi-part change to detect and display gpu overdraw on Android. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Debug-NoGPU-Trybot BUG:32370375 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5113 Change-Id: I07040929d8a46bbadd499dccec75eebef0e11d11 Reviewed-on: https://skia-review.googlesource.com/5113 Commit-Queue: Matt Sarett <msarett@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert 248ff023 & 2cb6cb72Gravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | Revert "SkImageEncoder: simplify API" This reverts commit 248ff02331d7f73ee4b6c5a7eabeae1080c16cd4. Revert "Fix bug: can't convert nullptr -> bool" This reverts commit 2cb6cb7218171b357bb5c934f032ba69c7b78401. 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>
* 4444 and gray 8Gravatar Mike Klein2016-11-22
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5147 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Id08804803b2bbeab4fa88538491e99e53d5c2efe Reviewed-on: https://skia-review.googlesource.com/5147 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Move GrShaderVar to an appending model for layout qualifiersGravatar Brian Salomon2016-11-22
| | | | | | | | | | 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>
* Support sRGB 565.Gravatar Mike Klein2016-11-22
| | | | | | | | | | | | | | | It looks like I'm not going to be able to avoid supporting sRGB G8, I8, 565, 4444, 8888. (A8 and F16 will always be linear.) This fixes 565, and lays out the rest of the accum_*. I did a little reorganization to keep things in ascending bit depth, just for sanity. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5145 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Ib0508e5a4ee1bab2044a76bcabc367841d634cd2 Reviewed-on: https://skia-review.googlesource.com/5145 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix bug: can't convert nullptr -> boolGravatar Hal Canary2016-11-22
| | | | | | | 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>
* Handle nullptr from asTextureRefGravatar brianosman2016-11-22
| | | | | | | | | | This can fail, if the special image dimensions are larger than the maximum allowable render target dimensions. BUG=chromium:666519 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2520043003 Review-Url: https://codereview.chromium.org/2520043003
* remove SkPixelRef::refEncodedData()Gravatar Hal Canary2016-11-22
| | | | | | | | | | | | 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>
* accum_565 and accum_f16Gravatar Mike Klein2016-11-22
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5125 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I2e338ae14db0068d9a09e16a0678dd2ee9f97efd Reviewed-on: https://skia-review.googlesource.com/5125 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Fixed fuzzer issue with lut16Type A2B ICC profilesGravatar raftias2016-11-22
| | | | | | | | | | | | | | There was no check for if a profile had gamma table with 0 elements. Now it verifies that the table has 2-4096 entries as the ICC specs say. BUG=667695 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5124 Change-Id: I36de202e398654ce8dd88e765455b4c4577724d2 Reviewed-on: https://skia-review.googlesource.com/5124 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Robert Aftias <raftias@google.com>
* Add SkOverdrawCanvas to detect overdrawGravatar Matt Sarett2016-11-22
| | | | | | | | | | | | | | | 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>
* SkImageEncoder: simplify APIGravatar Hal Canary2016-11-22
| | | | | | | | | | | | | | | | | | | | | | - 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>
* bilerpGravatar Mike Klein2016-11-22
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5107 Change-Id: I5c30105501cbdb57896d9ec35737494eabd5998b Reviewed-on: https://skia-review.googlesource.com/5107 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* added support for push_constant layoutGravatar ethannicholas2016-11-22
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187433003 Committed: https://skia.googlesource.com/skia/+/fa5f65ac61fd525029aa9dab161ffe4896c10f6d Review-Url: https://codereview.chromium.org/2187433003
* Add support for input attachments in SkSL spirvGravatar Greg Daniel2016-11-22
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5115 Change-Id: I3e03a465a10c9aff62491d0f6e71105d1b650dab Reviewed-on: https://skia-review.googlesource.com/5115 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* removed appendPrecisionModifierGravatar Ethan Nicholas2016-11-22
| | | | | | | | | | | | | | | skslc always provides support for precision modifiers (ignoring them if unsupported on the target platform), so the Skia appendPrecisionModifier function was redundant. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5117 Change-Id: I4bcbd47ef8d1f4f1b055086d4c9050254584b48c Reviewed-on: https://skia-review.googlesource.com/5117 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* sksl programs can now directly query GLSL capsGravatar Ethan Nicholas2016-11-22
| | | | | | | | | | | | | | | | This adds support for querying "sk_Caps.<cap>" directly from within an SkSL program. Combined with the existing support for collapsing 'if' statements with constant tests, this means we can query caps using ordinary 'if' statements and the tests will collapse out at compile time. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4795 Change-Id: I24d716a7fe6abf1489760bf08189164264269076 Reviewed-on: https://skia-review.googlesource.com/4795 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
* Avoid runtime initialization of FLT_EPSILON_SQRTGravatar Bruce Dawson2016-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FLT_EPSILON_SQRT is initialized with a call to sqrt which, in release builds on Windows, results in an initializer call (on official release builds this is optimized away). On Windows release (all flavors) builds this also triggers duplicate instantiations of the variable (always a risk with non-integral const variables defined in header files) with 32 copies ending up in both chrome.dll and chrome_child.dll. This change avoids the run-time initializer and as a side effect it also avoids most or all of the duplication. Section size savings in a Windows 32-bit release official build are: chrome.dll .text: -64 bytes change .rdata: -16 bytes change .data: -256 bytes change .reloc: -116 bytes change Total change: -452 bytes chrome_child.dll .text: 160 bytes change .rdata: -144 bytes change .data: -256 bytes change .reloc: -60 bytes change Total change: -300 bytes A more complete fix would include using extern const to declare these constants in the header file but define them once in a .cc file, but it's not clear that this is necessary. The size savings on non-official builds are greater. The increase in the .text segment is odd, but harmless since those bytes are shared. BUG=630755 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5061 Change-Id: I53d0cdc38e022039646df491d824a1aaf11def80 Reviewed-on: https://skia-review.googlesource.com/5061 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Bruce Dawson <brucedawson@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Add shadowrrect geometry processorGravatar Jim Van Verth2016-11-21
| | | | | | | | | 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>
* Implemented parsing of lut8/lut16Type A2B ICC tagsGravatar raftias2016-11-21
| | | | | | | | | | | | | | | | | SkColorSpace::NewICC() can now successfully parse lut8Type/lut16Type A2B0 tags instead of just A2B0Type ones. It will store the resulting information in a SkColorSpace_A2B which allows color-correct decoding of some images which previously were not supported. BUG=138556 BUG=574209 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4770 Change-Id: I83b565af3f39f12a4bc37e0e7968f7d41e553291 Reviewed-on: https://skia-review.googlesource.com/4770 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Robert Aftias <raftias@google.com>
* Rearrange NN sampling to more naturally support bilerp.Gravatar Mike Klein2016-11-21
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5105 Change-Id: Ic692b5faf2d33fee31b119ff8d3653118b25b7c2 Reviewed-on: https://skia-review.googlesource.com/5105 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix include of GrGLSLCaps in SkGradientShaderGravatar Greg Daniel2016-11-21
| | | | | | | | | | | | | NOTRY=True BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5103 Change-Id: Iff3cfa3f5e4266d85f5113de3113fdcd858ed054 Reviewed-on: https://skia-review.googlesource.com/5103 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* Revive geometry shadersGravatar csmartdalton2016-11-21
| | | | | | | | | | | | | | | | Fixes the bit rot that has set in for geometry shaders. They're to a point now that we can use them again for GL experiments. Since SkSL does not support geometry shaders yet, we pass the shader string directly to the GL compiler for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5080 Change-Id: Ie3864e5559c810c682cf5f1709bdab87f033c43b Reviewed-on: https://skia-review.googlesource.com/5080 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Chris Dalton <csmartdalton@google.com>
* Merge GrGLSLShaderVar and GrShaderVarGravatar Brian Salomon2016-11-21
| | | | | | | | | 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>
* Defer more renderTargetContexts in the GPU image filter paths - take 2Gravatar robertphillips2016-11-21
| | | | | | | | | | | 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
* Simplify shader paint alpha modulation.Gravatar Mike Klein2016-11-21
| | | | | | | | | | | | | | | | | | We don't need to do any of this funky swap, load, srcin nonsense. We've got a perfectly good scale_constant_float stage just perfect to be used instead. While we're at it, we only need to modulate by paint alpha if the paint's not opaque. x*1== x... This puts the (x,y) inputs to shaders in (r,g) where they expect them. It also frees (dr,dg,db,da) for use by the shader. Might be handy for bilerp. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5100 Change-Id: Ief60c469ecac8300798b67cc68817cc1d127cf17 Reviewed-on: https://skia-review.googlesource.com/5100 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fixed issue with some A2B0 images being too darkGravatar raftias2016-11-21
| | | | | | | | | | | | | | The issue was with the A2B0 matrix not being scaled by its encoding factor when it needed to be (for A2B0 matrices only). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5003 Change-Id: I3f202323e137e1b014e564bd96d87c601c4748ab Reviewed-on: https://skia-review.googlesource.com/5003 Commit-Queue: Robert Aftias <raftias@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Remove testing code for not fitting in the Footer.Gravatar Herb Derby2016-11-21
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5098 Change-Id: I48df20600de302656869c4b5bd53c1105222b897 Reviewed-on: https://skia-review.googlesource.com/5098 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* Remove GrGLSLSampler type and subclassesGravatar Brian Salomon2016-11-21
| | | | | | | | | | | | | GrGLSLUniformManager and GrGLSLProgramDataManager subclasses handle sampler variation across GPU backends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5002 Change-Id: I968b006bab978c2fa209d1f7eda710c298d1212f Reviewed-on: https://skia-review.googlesource.com/5002 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Use ptr diff to encode function and padding.Gravatar Herb Derby2016-11-21
| | | | | | | | | | | | | | | This drops allocation overhead from 16 bytes down to 4 bytes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5066 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Debug-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-GN-Trybot Change-Id: Id4665fd914dfb679996cefaf36fce6ef225fafb5 Reviewed-on: https://skia-review.googlesource.com/5066 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com>
* re-land of switched skslc from std::string to SkStringGravatar Ethan Nicholas2016-11-21
| | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5084 Change-Id: Ib21c30afc0d8483392b417e660b7fecfcc30e617 Reviewed-on: https://skia-review.googlesource.com/5084 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Add an extra pixel to the distance field path renderer bounds.Gravatar Brian Salomon2016-11-21
| | | | | | | | | | | | BUG=chromium:663701 BUG=skia:5989 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5086 Change-Id: Ie97f46b108f54c711c5928b11a9921be38356f8d Reviewed-on: https://skia-review.googlesource.com/5086 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add missing virtual functions for SkRectClipCheckBlitterGravatar Yuqian Li2016-11-21
| | | | | | | | | | | | | | | | | | | This CL is related to the issue that we tried to fix in https://skia-review.googlesource.com/c/5078/ Specifically, SkARGB32_Blitter overrides blitAntiH2 and blitAntiV2 and they're different from blitAntiRuns. Therefore, if SkRectClipCheckBlitter does not override those two functions, we're going to get different results in debug and release build. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5082 Change-Id: I7f9565d494f0a6c45ab5a06fbedb73ef233b9a1f Reviewed-on: https://skia-review.googlesource.com/5082 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Support decoding images to multiple formats, depending on usageGravatar Brian Osman2016-11-21
| | | | | | | | | | | | | | | | | | | | | | | | Our codec generator will now preserve any asked-for color space, and convert the encoded data to that representation. Cacherator now allows decoding an image to both legacy (nullptr color space), and color-correct formats. In color-correct mode, we choose the best decoded format, based on the original properties, and our backend's capabilities. Preference is given to the native format, when it's already texturable (sRGB 8888 or F16 linear). Otherwise, we prefer linear F16, and fall back to sRGB when that's not an option. Re-land (and fix) of: https://skia-review.googlesource.com/c/4438/ https://skia-review.googlesource.com/c/4796/ BUG=skia:5907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4838 Change-Id: I20ff972ffe1c7e6535ddc501e2a8ab8c246e4061 Reviewed-on: https://skia-review.googlesource.com/4838 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Disable RectClipCheckBlitter for cc_unittestsGravatar Yuqian Li2016-11-20
| | | | | | | | | | | | | | | | | | | | With RectClipCheckBlitter, the cc_unittests in Chromium will have different results for rel and dbg buidls. As far as I know, the scan converter blits the same alpha but they are somehow translated into different RGBs. I'll look into it on Monday. (RectClipCheckBlitter is added in https://skia-review.googlesource.com/c/4629/) BUG=skia: TBR=fmalita@chromium.org GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5078 Change-Id: I537d4380a44d0194103a4fcfb2bd2e2bcef41fcb Reviewed-on: https://skia-review.googlesource.com/5078 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Yuqian Li <liyuqian@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "switched skslc from std::string to SkString"Gravatar Greg Daniel2016-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d8df21a1e08b5b3380261f4b90acfbdc538ef93c. Reason for revert: Breaking Roll Original change's description: > switched skslc from std::string to SkString > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4977 > > Change-Id: I15e24963b09b719a2c07da67745114f5ac66cee8 > Reviewed-on: https://skia-review.googlesource.com/4977 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I84d5311beb9d5e607b7a4a3c138332f0c8f19648 Reviewed-on: https://skia-review.googlesource.com/5077 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Avoid unnecessary cast on a garbage data.Gravatar Ivan Krasin2016-11-19
| | | | | | | | | | | | | It's dangerous and rightfully makes Control Flow Integrity check unhappy. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5074 Change-Id: Ie59490a5c671240128a9fcb353108f67f32d2f9e Reviewed-on: https://skia-review.googlesource.com/5074 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Fix typo in GrGLCapsGravatar elemental2016-11-18
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5040 Change-Id: I23a9066de8c96378a1bd8596227e487cdd93669f Reviewed-on: https://skia-review.googlesource.com/5040 Commit-Queue: Ravi Mistry <rmistry@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* mirror tilingGravatar Mike Klein2016-11-18
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5064 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I9d48ba73e145701245e5ec4f32c8c360da6baddd Reviewed-on: https://skia-review.googlesource.com/5064 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrSwizzle::GrSwizzle() constexprGravatar Brian Salomon2016-11-18
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5060 Change-Id: I862b895fd92b9b6938627af7b21022564b535e9b Reviewed-on: https://skia-review.googlesource.com/5060 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com>