aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* added support for push_constant layoutGravatar ethannicholas2016-11-15
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2187433003 Review-Url: https://codereview.chromium.org/2187433003
* Add kRenderTarget_GrSurfaceFlag to GrVkGpu::onWrapBackendRenderTargetGravatar Robert Phillips2016-11-15
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4868 Change-Id: I7f169d050c47c074cf63ef9b63fb7df8efdaed62 Reviewed-on: https://skia-review.googlesource.com/4868 Commit-Queue: Robert Phillips <robertphillips@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Add detection of image load/store to capsGravatar Brian Salomon2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4861 Change-Id: Ibf70cce9f61553e830b62339551c1541dc054e8b Reviewed-on: https://skia-review.googlesource.com/4861 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add image functions to GrGLInterfaceGravatar Brian Salomon2016-11-15
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4840 Change-Id: I250cc4e637765c321c90e33c9b3f25c4ad12fe04 Reviewed-on: https://skia-review.googlesource.com/4840 Reviewed-by: Chris Dalton <csmartdalton@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Add 4.20 as a GLSL output version.Gravatar Brian Salomon2016-11-15
| | | | | | | | | | | GLSL 4.20 adds support for image functions which will be used in forthcoming changes. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4833 Change-Id: I8cab511d95f04b45faaf916628148117b8be2128 Reviewed-on: https://skia-review.googlesource.com/4833 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* fuzz hang fix and pathops client debuggingGravatar Cary Clark2016-11-15
| | | | | | | | | | | | | | | | | The ASAN fuzzer on chrome caught a hanging state. To capture the data, allow the pathops client debugging to run in a release build. TBR=reed@google.com BUG=665295 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4834 Change-Id: I6b2c2baabd63994f63aa730d2ee7828986b5ab89 Reviewed-on: https://skia-review.googlesource.com/4834 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* More shader preliminaries / refactoringGravatar Mike Klein2016-11-15
| | | | | | | | | | | | | | | | - thread through ctm - make blitter handle paint modulation instead of each shader TBR=herb@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4830 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I8161e6b3864c4e48e4d47d5ad40a56a13c02fee8 Reviewed-on: https://skia-review.googlesource.com/4830 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Support decoding images to multiple formats, depending on usage"Gravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c73a1ecbed64652b3d7aa8dc6face9a2205ce830. Reason for revert: ANGLE and CommandBuffer failures Original change's description: > Support decoding images to multiple formats, depending on usage > > 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. > > BUG=skia:5907 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438 > > Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0 > Reviewed-on: https://skia-review.googlesource.com/4438 > Reviewed-by: Matt Sarett <msarett@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > TBR=mtklein@google.com,bsalomon@google.com,msarett@google.com,brianosman@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I1818f937464573d601f64e5a1f1eb43f5a778f4e Reviewed-on: https://skia-review.googlesource.com/4832 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "Fix NoGPU compilation"Gravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d5a78805c5133bc55e07c5da21f8d72b91a3df4f. Reason for revert: This was a patch for an earlier change that's going to be reverted as well. Original change's description: > Fix NoGPU compilation > > All of these functions were written to work without GPU support, just > forgot to compile them in that situation. > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796 > > Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479 > Reviewed-on: https://skia-review.googlesource.com/4796 > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Stan Iliev <stani@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > Commit-Queue: Stan Iliev <stani@google.com> > TBR=egdaniel@google.com,brianosman@google.com,stani@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Id0b9db355f416c118c0ef95501a6cfdeb083b54e Reviewed-on: https://skia-review.googlesource.com/4831 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Revert "While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD."Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1ee70359a199f161ce38451989a706d727954cc1. Reason for revert: breaking my various rolls. Original change's description: > While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD. > > This trims the overhead down to a uniform 4 bytes. > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4786 > > Change-Id: I92127a0c2d6c23a4a372eca39842e22195d2dc99 > Reviewed-on: https://skia-review.googlesource.com/4786 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Iae9ef553422352a1abf95b709fccd014d468da86 Reviewed-on: https://skia-review.googlesource.com/4829 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "fix google3?"Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccb8e8bf38f51e35e0a456c6a724bab96d1b657a. Reason for revert: rolling back a CL this attempted to fix. Original change's description: > fix google3? > > TBR=brianosman@google.com > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4822 > > Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03 > Reviewed-on: https://skia-review.googlesource.com/4822 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Brian Osman <brianosman@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,brianosman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I127165f065be45af98528c8ae825e2f0fe5c8b0d Reviewed-on: https://skia-review.googlesource.com/4828 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Fix up arguments passed to pipeline.Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | | | | - Add half to (x,y) to get pixel centers. - The x updates were just totally wrong... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4794 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I314489a74b54e2b88f12dd35896452ac0b9718f3 Reviewed-on: https://skia-review.googlesource.com/4794 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix google3?Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | TBR=brianosman@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4822 Change-Id: I991232e90c6851938151daa59cdeb4a3e22a7f03 Reviewed-on: https://skia-review.googlesource.com/4822 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* change SkCanvasStack to take ownership of its subcanvasesGravatar Mike Reed2016-11-15
| | | | | | | | | | | Inspired by https://bugs.chromium.org/p/chromium/issues/detail?id=663959 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4799 Change-Id: I69f7ac73386bb7ca96778e2fec4cb2757b982a52 Reviewed-on: https://skia-review.googlesource.com/4799 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix NoGPU compilationGravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | All of these functions were written to work without GPU support, just forgot to compile them in that situation. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4796 Change-Id: Ia23d304f07eb16714390b459dd448bc08402f479 Reviewed-on: https://skia-review.googlesource.com/4796 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Stan Iliev <stani@google.com> Commit-Queue: Brian Osman <brianosman@google.com> Commit-Queue: Stan Iliev <stani@google.com>
* While we can, restrict SkFixedAlloc/SkFallbackAlloc to POD.Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | | This trims the overhead down to a uniform 4 bytes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4786 Change-Id: I92127a0c2d6c23a4a372eca39842e22195d2dc99 Reviewed-on: https://skia-review.googlesource.com/4786 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Support decoding images to multiple formats, depending on usageGravatar Brian Osman2016-11-15
| | | | | | | | | | | | | | | | | | | | 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. BUG=skia:5907 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4438 Change-Id: I847c243dcfb72d8c0f1f6fc73c09547adea933f0 Reviewed-on: https://skia-review.googlesource.com/4438 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Defer more renderTargetContexts in the GPU image filter pathsGravatar Robert Phillips2016-11-15
| | | | | | | | | 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>
* Start each pipeline with (x,y) in (dr,dg) registers for the shader.Gravatar Mike Klein2016-11-15
| | | | | | | | | | | | | | | | | | | | | Image shaders need to do some geometry work before sampling the image colors: 1) determine dst coordinates 2) map back to src coordinates 3) tiling Feeding (x,y) through as (dr,dg) registers makes step 1) easy, perhaps trivial, while leaving (r,g,b,a) with their usual meanings, "the color", starting with the paint color. This is easy to tweak into something like (x+0.5, y+0.5, 1) in (dr,dg,db) once this lands. Mostly I just want to get all the uninteresting boilerplate out of the way first. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4791 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Ia07815d942ded6672dc1df785caf80a508fc8f37 Reviewed-on: https://skia-review.googlesource.com/4791 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make SkSmallAllocator obey the RAII invariants and move to heap structures ↵Gravatar herb2016-11-15
| | | | | | | | | | | | | | | when needed. The biggest change is to the API which allowed code to bypass the destruction invariants. This destruction bypass feature was needed in only one use, and is totally encapsulated using createWithIniterT. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003 Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449 Committed: https://skia.googlesource.com/skia/+/c18b5f8f57a4efc5d5d1e399ed8bd3bd02c592ab Review-Url: https://codereview.chromium.org/2488523003
* Catch width overflow in ASAN using int64Gravatar Yuqian Li2016-11-14
| | | | | | | | | | | | | | | This is related with our previous CL: https://skia-review.googlesource.com/c/4628/ That previous CL fix won't pass the ASAN test (../../../include/core/SkRect.h:72:39: runtime error: signed integer overflow: 1 - -2147483648 cannot be represented in type 'int') so we use int64 in this CL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4785 Change-Id: I39f7329c427d49f4be07588f37120722ac9892c2 Reviewed-on: https://skia-review.googlesource.com/4785 Reviewed-by: Mike Reed <reed@google.com>
* Fill in gamut-transformation TODOs for software pipeline.Gravatar Mike Klein2016-11-14
| | | | | | | | | | | | This adds support for paint colors, color shaders, and mode color filters (everything that the software pipeline supports today). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4781 Change-Id: I6e5da6d0dba03fbc82ecaa233ce8c727e7ce17b3 Reviewed-on: https://skia-review.googlesource.com/4781 Reviewed-by: Brian Osman <brianosman@google.com>
* Fix Sk4fLinearGradient initial interval pinningGravatar Florin Malita2016-11-14
| | | | | | | | | | | | | | | | | For repeat/mirror mode, fx tiling needs to ensure the value doesn't collapse to the open interval value due to float arithmetic. Clamp to the next lower representable value. BUG=skia:5955 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4784 Change-Id: I635394d15a80276e88c18a499f93f3047464f190 Reviewed-on: https://skia-review.googlesource.com/4784 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Compute the correct dst->src rect for bitmap tiles in SkGpuDeviceGravatar Brian Salomon2016-11-14
| | | | | | | | | | | | | Use anisotropic scale to show bug in verylargebitmap test. BUG=chromium:664615 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4774 Change-Id: If92eab6d26b9fb506670412a80df259f99db2a21 Reviewed-on: https://skia-review.googlesource.com/4774 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "Add IORef capability to GrSurfaceProxy objects"Gravatar Robert Phillips2016-11-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 286b96f876953c94c178e3abbeb4eab186ad1fef. Reason for revert: Failure on Mac Mini: FAILURE: ../../../tests/ProxyRefTest.cpp:59 proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites ../../../tests/ProxyRefTest.cpp:64: fatal error: "assert(proxy->getPendingWriteCnt_TestOnly() == expectedNumWrites)" Original change's description: > Add IORef capability to GrSurfaceProxy objects > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4734 > > Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78 > Reviewed-on: https://skia-review.googlesource.com/4734 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I5e1c201e027d4e9687b01f28a418b1884d3f9ece Reviewed-on: https://skia-review.googlesource.com/4776 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Set analytic AA as default.Gravatar liyuqian2016-11-14
| | | | | | | | | | | We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using analytic AA until we fix all the Chrome tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 Review-Url: https://codereview.chromium.org/2471133002
* Add IORef capability to GrSurfaceProxy objectsGravatar Robert Phillips2016-11-14
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4734 Change-Id: If10fbe555e9fa3331bfa01065028e1afe82adb78 Reviewed-on: https://skia-review.googlesource.com/4734 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove accumulative snapping errorGravatar Yuqian Li2016-11-14
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4769 Change-Id: Ie70bdc280c680c82f3b8a186466bf3a0835a9107 Reviewed-on: https://skia-review.googlesource.com/4769 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Remove SkOSFile.cpp.Gravatar Ben Wagner2016-11-14
| | | | | | | | | | This file has been renamed SkOSPath.cpp and users no longer refer to the old name. Remove this now empty file and its build rule. Change-Id: I5041b61e749cc86f491b6c99b6744d7a0d4f9d1c Reviewed-on: https://skia-review.googlesource.com/4766 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com>
* Remove static asserts for GrSLType and GrVertexAttribType enum values.Gravatar Brian Salomon2016-11-14
| | | | | | | | | | | | | Replaces with switch statements that will produce a compiler warning if a type is added and helper functions are not updated. This also removes several unused helper functions for these enum types. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4486 Change-Id: Iee6d8e5095dc4ba2488a8928bf60f8e903cd3320 Reviewed-on: https://skia-review.googlesource.com/4486 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Start hooking shaders into SkRasterPipelineBlitter.Gravatar Mike Klein2016-11-14
| | | | | | | | | | | | | Here first just the simplest, constant-color shaders. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4743 Change-Id: I92c6523660e21a1e2aa353524570230282ba5dfe Reviewed-on: https://skia-review.googlesource.com/4743 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Start plumbing deferral of GPU resources in the image filtersGravatar Robert Phillips2016-11-14
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4688 Change-Id: I904d999ea87a55bee73765aa96a2f8aef7a0d61c Reviewed-on: https://skia-review.googlesource.com/4688 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* Revert[2] "Change SkCanvas to *not* inherit from SkRefCnt"Gravatar Mike Reed2016-11-13
| | | | | | | | | | | | | | | | | Changes over original: - conditionalize ownership in SkPictureRecorder - conditionalize ownership in SkCanvasStateUtils This reverts commit b613c266df48cf45296ecc23d1bd7098c84bb7ba. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4742 Change-Id: Ib25514d6f546c69b6650b5c957403b04f7380dc2 Reviewed-on: https://skia-review.googlesource.com/4742 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert of Make SkSmallAllocator obey the RAII invariants and be expandable ↵Gravatar mtklein2016-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #15 id:280001 of https://codereview.chromium.org/2488523003/ ) Reason for revert: bots crashing / asserting Original issue's description: > Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed. > > The biggest change is to the API which allowed code to bypass the > destruction invariants. This destruction bypass feature was needed in > only one use, and is totally encapsulated using createWithIniterT. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003 > > Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449 > Committed: https://skia.googlesource.com/skia/+/c18b5f8f57a4efc5d5d1e399ed8bd3bd02c592ab TBR=bungeman@google.com,herb@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2494353002
* Make SkSmallAllocator obey the RAII invariants and move to heap structures ↵Gravatar herb2016-11-13
| | | | | | | | | | | | | | when needed. The biggest change is to the API which allowed code to bypass the destruction invariants. This destruction bypass feature was needed in only one use, and is totally encapsulated using createWithIniterT. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003 Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449 Review-Url: https://codereview.chromium.org/2488523003
* Fix SkModeColorFilter in 565Gravatar Mike Klein2016-11-12
| | | | | | | | | | | | | | | | | It has been incorrectly interpreting its SkColor as sRGB all the time. Now, we plumb through the destintation color space and some scratch space, letting it decide how to interpret its SkColor later when it knows about the dst color space. The scratch space is blitter scoped, which lets this be thread safe (this is much like SkShader::Context). This only corrects the gamma transformation for now. I've kept my previous TODO about gamut transformation. Everything assumes sRGB gamut for now. Shaders will get the same treatement in this pipeline. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4725 Change-Id: I55b0c7d5db9ad8d7dcdd6295c9dac61d10aeaed4 Reviewed-on: https://skia-review.googlesource.com/4725 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Annotate benign race on SkPath::fConvexity."Gravatar Mike Klein2016-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c51a3a4e3c81a1d4100d5d29d31bf3a02eda2a7c. Reason for revert: had to revert this in the copy constructor. Might as well revert here too for consistency. Original change's description: > Annotate benign race on SkPath::fConvexity. > > We're tired of this making our TSAN bot flaky, and equally tired of trying to fix it. > > BUG=skia:5776 > > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4691 > > Change-Id: Ib6005282c514a6d785fd4fffe5387cbb1caccbe1 > Reviewed-on: https://skia-review.googlesource.com/4691 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Reviewed-by: Ben Wagner <bungeman@google.com> > TBR=mtklein@chromium.org,bungeman@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I906b1e017471d9e00fc58402136497459d881f72 Reviewed-on: https://skia-review.googlesource.com/4740 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Revert "Annotate SkPath::fCovexity benign race in the other constructor too."Gravatar Mike Klein2016-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f978f12af553f899cfed7078ab63d3a71c6fbcb1. Reason for revert: slowing the TSAN bot down to the point of timeouts. Original change's description: > Annotate SkPath::fCovexity benign race in the other constructor too. > > I overlooked the copy constructor last time. > > BUG=skia:5776 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4730 > > Change-Id: I30bc89e1472dd48badf57664cfae8899f44bca9e > Reviewed-on: https://skia-review.googlesource.com/4730 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I6e34b1fc80fd98387d79521ce24f4545b990eb25 Reviewed-on: https://skia-review.googlesource.com/4739 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Initial implementation of a SkColorSpace_A2B xformGravatar raftias2016-11-11
| | | | | | | | | | | | | | | | There is support for all features of SkColorSpace_A2B. Tests for these functionality were adapted from the XYZ xform, plus a CLUT-specific test was added. Shared functions used by both SkColorSpaceXform_XYZ and SkColorSpaceXform_A2B have been moved into a shared header. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2449243003 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2449243003
* Clean up glyph id handling.Gravatar Ben Wagner2016-11-11
| | | | | | | | | | | | | | | | | Extract SkPackedID and its strongly typed subclasses SkPackedGlyphID and SkPackedUnicharID out of SkGlyph. This simplifies the code handling these types, as well as making it clearer that we wouuld eventually like to get away from this scheme. Changes SkScalerContext::getPath to take SkPackedGlyphID. Changes SkScalerContext::generatePath to take SkGlyphID. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4722 Change-Id: I365c0c618b7ae0d348272155fac7761a69faa920 Reviewed-on: https://skia-review.googlesource.com/4722 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Revert "Add integer texture support.""Gravatar Brian Salomon2016-11-11
| | | | | | | | | | | | | This reverts commit 9c7edb8311409a141b0dc1d5e480c68c629f1997. Fixes ASAN errors GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4736 Change-Id: I1b1dae754d357b01da7169c8e7c59d7d8d8a10f6 Reviewed-on: https://skia-review.googlesource.com/4736 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert of Set analytic AA as default. (patchset #8 id:140001 of ↵Gravatar liyuqian2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2471133002/ ) Reason for revert: SkASSERT triggered in some perf tests. Roll back. Original issue's description: > Set analytic AA as default. > > We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using > analytic AA until we fix all the Chrome tests. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 > > Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8 TBR=fmalita@chromium.org,msarett@google.com,mtklein@google.com,reed@google.com,mtklein@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2499723002
* re-re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4732 Change-Id: I144110bf66f67a28da7ad333173db43bddf9e8d0 Reviewed-on: https://skia-review.googlesource.com/4732 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Set analytic AA as default.Gravatar liyuqian2016-11-11
| | | | | | | | | | We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using analytic AA until we fix all the Chrome tests. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002 Review-Url: https://codereview.chromium.org/2471133002
* Annotate SkPath::fCovexity benign race in the other constructor too.Gravatar Mike Klein2016-11-11
| | | | | | | | | | | | | I overlooked the copy constructor last time. BUG=skia:5776 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4730 Change-Id: I30bc89e1472dd48badf57664cfae8899f44bca9e Reviewed-on: https://skia-review.googlesource.com/4730 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Clean up validation layersGravatar Jim Van Verth2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4727 Change-Id: I92cef6fd23cd629a7a68e6ecb9e048674556517b Reviewed-on: https://skia-review.googlesource.com/4727 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Snap y when updating cubicGravatar Yuqian Li2016-11-11
| | | | | | | | | | | | | | | | If we don't snap, we could have end up with many tiny line segments wihtin a single row of pixels. That combined with our partial alpha rounding code (https://codereview.chromium.org/2483523002/) could accumlate so much error that violates our alpha <= 256 assert. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4724 Change-Id: I58b02cffc8a4dc9f541e194d61a2f6fef7b85c97 Reviewed-on: https://skia-review.googlesource.com/4724 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
* Revert "re-land of skslc now uses standard Skia caps"Gravatar Leon Scroggins2016-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 498d403f7703cb2157bf3c877b84906db5a06cd4. Reason for revert: Breaking compile bot: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-NoGPU/builds/10116/steps/compile_skia%20on%20Ubuntu/logs/stdio undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&) Original change's description: > re-land of skslc now uses standard Skia caps > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 > > Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 > Reviewed-on: https://skia-review.googlesource.com/4726 > Reviewed-by: Ethan Nicholas <ethannicholas@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=bsalomon@google.com,benjaminwagner@google.com,kjlubick@google.com,ethannicholas@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7ee96d6c658be6b7b79027c147b8950c78c79a70 Reviewed-on: https://skia-review.googlesource.com/4729 Commit-Queue: Leon Scroggins <scroggo@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com>
* Add explicit UniqueID classes for GrGpuResource & GrSurfaceProxyGravatar Robert Phillips2016-11-11
| | | | | | | | | | | This sets the stage for using the Proxy's/RenderTargetContext's ID above the flush and the RenderTarget's/GrGpuResource's below the flush. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4650 Change-Id: I9f1e6b00c02a0691d90b58c49e1d8c60684884c1 Reviewed-on: https://skia-review.googlesource.com/4650 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* re-land of skslc now uses standard Skia capsGravatar Ethan Nicholas2016-11-11
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726 Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8 Reviewed-on: https://skia-review.googlesource.com/4726 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>