aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Revert "replace SkXfermode obj with SkBlendMode enum in paints"Gravatar Mike Reed2016-10-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit I4fb489ba6b3f77b458f7e4a99f79c7ad10859135. Reason for revert: <INSERT REASONING HERE> Original change's description: > replace SkXfermode obj with SkBlendMode enum in paints > > BUG=skia:5814 > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714 > > Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135 > Reviewed-on: https://skia-review.googlesource.com/2714 > Reviewed-by: Florin Malita <fmalita@chromium.org> > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Mike Reed <reed@google.com> > TBR=bsalomon@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I3e43f79ef5c1709929663fe63cc1f67cd78270b7 Reviewed-on: https://skia-review.googlesource.com/2871 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add color space xform to GrAlphaThresholdFragmentProcessorGravatar Brian Osman2016-10-03
| | | | | | | | | | | | | Fix imagealphathreshold_surface GM to test gamut conversion. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2867 Change-Id: Id9aaebe72d1dadc613ef1a8d17d066b51049300f Reviewed-on: https://skia-review.googlesource.com/2867 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove exec bit from source file.Gravatar Ben Wagner2016-10-03
| | | | | | | | | | | | | Exec bit added in https://skia.googlesource.com/skia/+/40ff5fe59b77b0b3e34467cc2f8666e4e88356f9 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2869 Change-Id: I238f75fe2a865923568ac8f63ee1978df6c89f6c Reviewed-on: https://skia-review.googlesource.com/2869 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* remove quickreject for drawablesGravatar reed2016-10-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2388873002 Review-Url: https://codereview.chromium.org/2388873002
* replace SkXfermode obj with SkBlendMode enum in paintsGravatar Mike Reed2016-10-03
| | | | | | | | | | | | BUG=skia:5814 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2714 Change-Id: I4fb489ba6b3f77b458f7e4a99f79c7ad10859135 Reviewed-on: https://skia-review.googlesource.com/2714 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Avoid unnecessary GrShape->SkPath conversion in GrStencilAndCoverPathRendererGravatar bsalomon2016-10-03
| | | | | | | Also remove redundant param to the path batch constructor. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348543002 Review-Url: https://codereview.chromium.org/2348543002
* Fix alpha threshold GM to test with and without crop rectGravatar Brian Osman2016-10-03
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2864 Change-Id: I09f24303b2a693a384fb7399c2287ab476f16319 Reviewed-on: https://skia-review.googlesource.com/2864 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix precision issues in SkRRectsGaussianEdgeShader.cppGravatar robertphillips2016-10-03
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383863002 Review-Url: https://codereview.chromium.org/2383863002
* Roll recipe DEPSGravatar borenet2016-10-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2386153002 Review-Url: https://codereview.chromium.org/2386153002
* There are no more cmake bots, so clean up their old scripts.Gravatar Mike Klein2016-09-30
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2854 Change-Id: Ieb94788182b35d8fd3197ce090d5f28a65903204 Reviewed-on: https://skia-review.googlesource.com/2854 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Delete unused avx2_sources.Gravatar Mike Klein2016-09-30
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2853 Change-Id: If546af6bea8c51b857860be6d266347cdf064d33 Reviewed-on: https://skia-review.googlesource.com/2853 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add a SkRWBuffer reserve mechanismGravatar fmalita2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | Currently, Chromium stores segmented data in a SharedBuffer and appends to SkRWBuffer one segment at a time: const char* segment = 0; for (size_t length = data->getSomeData(segment, m_rwBuffer->size()); length; length = data->getSomeData(segment, m_rwBuffer->size())) { m_rwBuffer->append(segment, length, remaining); } This can yield a bunch of just-above-4k allocations => wasted RAM due to internal fragmentation. Ideally, we'd want a SkRWBuffer::reserve(size_t bytes) API, but the current internals don't support that trivially. Alternatively, the caller can pass a reserve hint at append() time. BUG=chromium:651698 R=scroggo@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2385803002 Review-Url: https://codereview.chromium.org/2385803002
* Fix nanobench crashesGravatar msarett2016-09-30
| | | | | | | | | TBR=egdaniel@google.com NOTRY=true BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383223003 Review-Url: https://codereview.chromium.org/2383223003
* [task scheduler] Add gen_tasks.goGravatar borenet2016-09-30
| | | | | | | | | | | This mimics the flow of infra/bots/recipes/swarm_trigger.py but it builds the tasks.json file instead of triggering the actual tasks. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2386663002 Review-Url: https://codereview.chromium.org/2386663002
* fix mac buildGravatar Mike Reed2016-09-30
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2852 Change-Id: I58ba4c8be14b5a40ae94a1f8e69a3c1aa08060d5 Reviewed-on: https://skia-review.googlesource.com/2852 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Add a src rect to drawImageLattice() APIGravatar msarett2016-09-30
| | | | | | | | | | This will allow us to draw ninepatches directly from an asset texture without having to upload them individually. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2382893002 Review-Url: https://codereview.chromium.org/2382893002
* Stop uploading nanobench results on Valgrind botGravatar borenet2016-09-30
| | | | | | | | | It's not needed, and it's probably making the bot a lot slower. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2382313003 Review-Url: https://codereview.chromium.org/2382313003
* upload_dm_results: Remove JSON validation stepGravatar borenet2016-09-30
| | | | | | | | | | | This is infra-failing frequently for some reason, possibly due to large file size? TBR=stephana BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383163002 Review-Url: https://codereview.chromium.org/2383163002
* SkPDF: de-duplicate text-as-pathsGravatar Hal Canary2016-09-30
| | | | | | | | | | | TBR= GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2851 Change-Id: I0accbca13945587cd5ef903cbd4127f1f6a3fb13 Reviewed-on: https://skia-review.googlesource.com/2851 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Unomit SkSL in public.bzl.Gravatar benjaminwagner2016-09-30
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2380563006 Review-Url: https://codereview.chromium.org/2380563006
* Add gn option to set the location of the Vulkan SDKGravatar Brian Salomon2016-09-30
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2848 Change-Id: I0b60ae03d7b155d4f9a581cab6b551e152b03a86 Reviewed-on: https://skia-review.googlesource.com/2848 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkRWBuffer: preallocate 'initialCapacity'Gravatar fmalita2016-09-30
| | | | | | | | | | | We're currently ignoring the hint, resulting in multiple unneeded allocations later. BUG=chromium:651698 R=scroggo@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2384763002 Review-Url: https://codereview.chromium.org/2384763002
* Clean up public.bzl after G3-side CL.Gravatar Mike Klein2016-09-30
| | | | | | | | | | | | | | One more tiny G3 CL after this... BUG=skia: NOTRY=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2847 Change-Id: Id237ca3853614c2b9b68eb0a679f6e64b3e95983 Reviewed-on: https://skia-review.googlesource.com/2847 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Helper functions to do SkColor -> GrColor4fGravatar Brian Osman2016-09-30
| | | | | | | | | | | | | | | | | | I started fixing more effects and realized I needed something like this. Wanted to land it separately. After this, I'll add the DC's cached xform from sRGB to AsFPArgs, so that we can easily leverage this code in more places (mostly GrConstColorProcessor, or any effect that falls back to that based on invariants, etc...) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2844 Change-Id: I335546f02a6c49620494d736140a72c14441b35d Reviewed-on: https://skia-review.googlesource.com/2844 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Propagate validation errors from inner readbuffer when deserializing ↵Gravatar reed2016-09-30
| | | | | | | | | picture. Also allow null paints. BUG=skia:5812 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2379383002 Review-Url: https://codereview.chromium.org/2379383002
* Add fence support for TransferBuffersGravatar jvanverth2016-09-30
| | | | | | | BUG=skia:4604 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2384463003 Review-Url: https://codereview.chromium.org/2384463003
* Fix G3 excludes lists for AVX2 -> HSW.Gravatar Mike Klein2016-09-30
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2843 Change-Id: I8dfd4133808dd768217a7978d7ae3f6d518cd744 Reviewed-on: https://skia-review.googlesource.com/2843 Reviewed-by: Mike Klein <mtklein@chromium.org>
* SkPDF: subset drawImageRect while still dedupingGravatar Hal Canary2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | - Replace SkImageBitmap with SkImageSubset - SkBitmapKey becomes trivial for simplicity. - SkPDFCanvas::onDraw(Bitmap|Image)Rect now clip and call SkCanvas::onDraw(Bitmap|Image)Rect. - SkPDFDevice::draw(Bitmap|BitmapRect|Sprite) now convert bitmap into SkImageSubset via make_image_subset function. - SkPDFDevice::draw(Image|Bitmap)Rect now implemented again. - SkPDFDevice::internalDrawImage now performs image subsetting as needed, while still deduping properly. BUG=633528 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2785 Change-Id: I063346d12b0e9c6b6c0c4943ee25400c88aa1a44 Reviewed-on: https://skia-review.googlesource.com/2785 Reviewed-by: Ben Wagner <bungeman@google.com>
* Add an SkOpts target for Haswell+ Intel chips.Gravatar Mike Klein2016-09-30
| | | | | | | | | | | | | | | | Haswell brought a whole slew of handy new instructions for us (AVX2, FMA, BMI1+BMI2) and also feature F16C, which came one generation earlier on Ivybridge. We work with integers often enough that we really want to target AVX2 instead of AVX, and this means it's pretty practical to ask for all those other goodies along with it. Chrome's GN files and Google3's BUILD file will need an update, before or after this CL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2840 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I826daf77b5104664c5d31ddaabee347e287b87a2 Reviewed-on: https://skia-review.googlesource.com/2840 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com>
* Revert of Turned on SkSL->GLSL compiler (patchset #41 id:880001 of ↵Gravatar fmalita2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2288033003/ ) Reason for revert: 1) Chromium roll failures: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/307297/steps/screenshot_sync_tests%20on%20NVIDIA%20GPU%20on%20Linux%20%28with%20patch%29%20on%20Linux/logs/stdio 2) G3 roll failures 3) iOS failures: https://uberchromegw.corp.google.com/i/client.skia/builders/Perf-iOS-Clang-iPad4-GPU-SGX554-Arm7-Release/builds/7177/steps/perf_skia%20on%20iOS-9.2/logs/stdio Original issue's description: > Turned on SkSL->GLSL compiler > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003 > > Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3 > Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310 > Committed: https://skia.googlesource.com/skia/+/f008b0a59f45c0d4bea3e66faf3b01805009ec89 TBR=benjaminwagner@google.com,bsalomon@google.com,egdaniel@google.com,ethannicholas@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2387643003
* Implement 'action' in gn_to_cmake.py.Gravatar Ben Wagner2016-09-30
| | | | | | | | | | | With this change it is possible to build all Skia targets. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2784 Change-Id: I5c53a6ba5746d210e0ae8f7a29b409d40c7b9bff Reviewed-on: https://skia-review.googlesource.com/2784 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Turned on SkSL->GLSL compilerGravatar ethannicholas2016-09-30
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003 Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3 Committed: https://skia.googlesource.com/skia/+/b12b3c6908c62c908b3680be01e3b5bfd30de310 Review-Url: https://codereview.chromium.org/2288033003
* Revert of Fix gamut GM to work w/serialization configs. Remove it from ↵Gravatar fmalita2016-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | blacklist. (patchset #2 id:20001 of https://codereview.chromium.org/2383513002/ ) Reason for revert: Valgrind errors: ==2603== Invalid read of size 8 ==2603== at 0xA284E0: SkSurface::getCanvas() (SkSurface_Base.h:108) ==2603== by 0x4F0B0F: gamut_GM(SkCanvas*) (gamut.cpp:163) ==2603== by 0x483B77: DM::GMSrc::draw(SkCanvas*) const (DMSrcSink.cpp:69) ==2603== by 0x485F04: DM::GPUSink::draw(DM::Src const&, SkBitmap*, SkWStream*, SkString*) const (DMSrcSink.cpp:1226) ==2603== by 0x47E974: dm_main() (DM.cpp:1035) ==2603== by 0x6652EC4: (below main) (libc-start.c:287) ==2603== Address 0x20 is not stack'd, malloc'd or (recently) free'd ==2603== https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind/builds/1410/steps/test_skia%20on%20Ubuntu/logs/stdio Original issue's description: > Fix gamut GM to work w/serialization configs. Remove it from blacklist. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2383513002 > > Committed: https://skia.googlesource.com/skia/+/e4a17372a188f1dffc3f9c9bcdfbb9860728630b TBR=reed@google.com,borenet@google.com,brianosman@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/2380313002
* Support monitor profile in SampleApp (on Windows)Gravatar brianosman2016-09-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381913003 Review-Url: https://codereview.chromium.org/2381913003
* Remove soft clip bool from SkCanvasGravatar bsalomon2016-09-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2380163002 Review-Url: https://codereview.chromium.org/2380163002
* Remove caching from the draw-atlas GMs. Fixes bugs cycling backends.Gravatar brianosman2016-09-29
| | | | | | | | | | When we would change backend or color type in SampleApp, we'd be rendering from a no-longer-valid image, leading to missing output, etc... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381893004 Review-Url: https://codereview.chromium.org/2381893004
* Add skstd version of std::exchangeGravatar csmartdalton2016-09-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381793004 Review-Url: https://codereview.chromium.org/2381793004
* simplify composing raster surface into windowGravatar Mike Reed2016-09-29
| | | | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2820 Change-Id: Ifce7bce8b764d2dea02733d823396576a7da609f Reviewed-on: https://skia-review.googlesource.com/2820 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Reenable GM:arithmodeGravatar fmalita2016-09-29
| | | | | | | | | Convert to SkXfermodeImageFilter and reenable. R=reed@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2379873003 Review-Url: https://codereview.chromium.org/2379873003
* Fixed invalid memory access issue in SkColorSpaceXform::apply()Gravatar raftias2016-09-29
| | | | | | | | | | | | | | | | | Passing in a large buffer along with a source colour space that used a CLUT would cause apply() to read freed heap memory, or for smaller buffers read possibly re-used stack memory. The code previously likely lucked out due to optimizations removing most or all of the subsequent stack allocations. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2759 Change-Id: I39f357bce080c4d737a83dd019f0d1ccbc56f995 Reviewed-on: https://skia-review.googlesource.com/2759 Commit-Queue: Robert Aftias <raftias@google.com> Reviewed-by: Matt Sarett <msarett@google.com>
* Add an enum layer of indirection for stock raster pipeline stages.Gravatar Mike Klein2016-09-29
| | | | | | | | | | | | | | | | | | This is handy now, and becomes necessary with fancier backends: - most code can't speak the type of AVX pipeline stages, so indirection's definitely needed there; - if the pipleine is entirely composed of stock stages, these enum values become an abstract recipe that can be JITted. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2782 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: Iedd62e99ce39e94cf3e6ffc78c428f0ccc182342 Reviewed-on: https://skia-review.googlesource.com/2782 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Use SkOnce to squelch command buffer spamGravatar brianosman2016-09-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2382793002 Review-Url: https://codereview.chromium.org/2382793002
* Recent image filter work now allows this check to be enabled.Gravatar brianosman2016-09-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2379053002 Review-Url: https://codereview.chromium.org/2379053002
* Revert of Explicit control in tools of ANGLE frontend and backend (patchset ↵Gravatar bsalomon2016-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #6 id:90001 of https://codereview.chromium.org/2381033002/ ) Reason for revert: Broke bots Original issue's description: > Explicit control in tools of ANGLE frontend and backend > > Update the ANGLE test GL context, GrContextFactory, and config parsing to allow explicit control of ANGLE front/backend. > > This will allow us to explicitly test ES2 vs ES3 interfaces to ANGLE as well as D3D9, D3D11, and OpenGL backends. > > Also makes the angle api types valid in all builds (but will just fail when SK_ANGLE=1 or not on windows for the d3d backends). > > BUG=skia:5804 > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381033002 > > Committed: https://skia.googlesource.com/skia/+/50094fb489543655df026be4e4f99e09e57a1f49 TBR=brianosman@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5804 Review-Url: https://codereview.chromium.org/2384483003
* Explicit control in tools of ANGLE frontend and backendGravatar bsalomon2016-09-29
| | | | | | | | | | | | | | | | Update the ANGLE test GL context, GrContextFactory, and config parsing to allow explicit control of ANGLE front/backend. This will allow us to explicitly test ES2 vs ES3 interfaces to ANGLE as well as D3D9, D3D11, and OpenGL backends. Also makes the angle api types valid in all builds (but will just fail when SK_ANGLE=1 or not on windows for the d3d backends). BUG=skia:5804 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2381033002 NOTREECHECKS=true NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2381033002
* Revert of Add SK_SUPPORT_LEGACY_HAIRLINE_END_CAP to work around dependent ↵Gravatar benjaminwagner2016-09-29
| | | | | | | | | | | | | | | | | | | | | | | | test failure. (patchset #1 id:1 of https://codereview.chromium.org/2379843002/ ) Reason for revert: Dependent test has been fixed. Original issue's description: > Add SK_SUPPORT_LEGACY_HAIRLINE_END_CAP to work around dependent test failure. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2379843002 > > Committed: https://skia.googlesource.com/skia/+/aa6ef3ebc60e0f70db0e599f4cd34d5be06486c9 TBR=caryclark@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/2379993004
* Start moving SkRasterPipeline stages to SkOpts.Gravatar Mike Klein2016-09-29
| | | | | | | | | | | | | | | | | | | | This lets them pick up runtime CPU specializations. Here I've plugged in SSE4.1. This is still one of the N prelude CLs to full 8-at-a-time AVX. I've moved the union of the stages used by SkRasterPipelineBench and SkRasterPipelineBlitter to SkOpts... they'll all be used by the blitter eventually. Picking up SSE4.1 specialization here (even still just 4 pixels at a time) is a significant speedup, especially to store_srgb(), so much that it's no longer really interesting to compare against the fused-but-default-instruction-set version in the bench. So that's gone now. That left the SkRasterPipeline unit test as the only other user of the EasyFn simplified interface to SkRasterPipeline. So I converted that back down to the bare-metal interface, and EasyFn and its friends became SkRasterPipeline_opts.h exclusive abbreviations (now called Kernel_Sk4f). This isn't really unexpected: SkXfermode also wanted to build up its own little abstractions, and once you build your own abstraction, the value of an additional EasyFn-like layer plummets to negative. For simplicity I've left the SkXfermode stages alone, except srcover() which was always part of the blitter. No particular reason except keeping the churn down while I hack. These _can_ be in SkOpts, but don't have to be until we go 8-at-a-time. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2752 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Change-Id: I3b476b18232a1598d8977e425be2150059ab71dc Reviewed-on: https://skia-review.googlesource.com/2752 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Disable FP contraction on -Fast bot.Gravatar Mike Klein2016-09-29
| | | | | | | | | | | | | | | It's more annoying than helpful to have GCC turn mul,add into fma. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2780 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast-Trybot Change-Id: I63f4615f73aed112f10f6cb516d899b820918298 Reviewed-on: https://skia-review.googlesource.com/2780 Commit-Queue: Cary Clark <caryclark@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* *SkTCast<int*>(float*) -> memcpyGravatar Mike Klein2016-09-29
| | | | | | | | | | | | | | | In some build configurations (I think, GN, GCC 6, Debug) I get a warning that i is used unintialized. This likely has something to do with GCC correctly seeing that the SkTCast construction there is illegal aliasing, and perhaps thus "doesn't happen". Might be that if the SkTCast gets inlined, it decides its implementation is secretly kosher, and so Release builds don't see this. None of this happens with the GCCs we have on the bots... too old? Instead use memcpy() here, which is well defined to do what we intended. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2758 Change-Id: Iaf5c75fbd852193b0b861bf5e71450502511d102 Reviewed-on: https://skia-review.googlesource.com/2758 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* SkPDF/Documentation: backend limitationsGravatar halcanary2016-09-29
| | | | | | NOTRY=true Review-Url: https://codereview.chromium.org/2377473002