aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Move off SK_SUPPORT_LEGACY_DATA_FACTORIES.Gravatar bungeman2016-08-02
| | | | | | | This moves Skia code off of SK_SUPPORT_LEGACY_DATA_FACTORIES. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206633004 Review-Url: https://codereview.chromium.org/2206633004
* GN: get echo-headers sources via exec_scriptGravatar mtklein2016-08-02
| | | | | | | | | | | | | | | | | exec_script runs every time gn does, which is explicitly on every one of our bot runs. That should be enough to obviate the .git/logs/HEAD hack. Easiest way to do this was to swap around find.py's argument order to allow multiple search directories. This is the root of all the .gyp changes. This moves the blacklist into BUILD.gn, which I think is nice. It expands it a little as we're now searching recursively, into include/gpu/vk which we can't include safely without the Vulkan SDK. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205903004 Review-Url: https://codereview.chromium.org/2205903004
* Delete SkNinePatchGravatar msarett2016-08-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206663002 Review-Url: https://codereview.chromium.org/2206663002
* GN: re-run echo_headers if git state changes.Gravatar mtklein2016-08-02
| | | | | | | | | This should mean it re-runs if a header is added or removed. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2206683002 Review-Url: https://codereview.chromium.org/2206683002
* Delete SkARGBImageEncoder.Gravatar mtklein2016-08-02
| | | | | | | | | | | | It appears to be unused now except by its unit test, also deleted. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2208433002 No public API changes. TBR=reed@google.com Review-Url: https://codereview.chromium.org/2208433002
* not much point to SK_SUPPORT_PDFGravatar mtklein2016-08-02
| | | | | | | | | | It only controls a few minor things in testing tools, which can always assume PDF support is present. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202203003 Review-Url: https://codereview.chromium.org/2202203003
* Refactor of SkColorSpaceXformOptsGravatar msarett2016-08-02
| | | | | | | | | | | | | | | | | (1) Performance is better or stays the same. (2) Code is split into functions (RasterPipeline-ish design). IMO, it's not really more or less readable. But I think it's now much easier add capabilities, apply optimizations, or do more refactors. Or to actually use RasterPipeline. I help back from trying any of these to try to keep this CL sane. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2194303002 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/2194303002
* Remove now unused source files.Gravatar bungeman2016-08-02
| | | | | | | | | These files have been renamed and exist only as stubs for transition reasons. Remove these now unused stubs. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2197423003
* gn: fix fiddleGravatar mtklein2016-08-02
| | | | | | | | | | | | | - __SK_FORCE_IMAGE_DECODER_LINKING makes sure the PNG encoder is linked - updated path to make working with sample draw.cpp easier. No public API changes. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202353002 Review-Url: https://codereview.chromium.org/2202353002
* Remove 'Ulta' width.Gravatar bungeman2016-08-02
| | | | | | | | | All users of this old name appear to be updated. TBR=reed Removing unused and mis-spelled API. Review-Url: https://codereview.chromium.org/2206453003
* Add Overstroke gmGravatar hstern2016-08-02
| | | | | | | | | | Already exists as a sampleapp, but sampleapps don't get tested automatically BUG=skia:5405,5406,chrome:589769 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2161633002 Review-Url: https://codereview.chromium.org/2161633002
* Add code to lua paths to get the fill path and get lists of verbs andGravatar hstern2016-08-02
| | | | | | | | | points BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199823002 Review-Url: https://codereview.chromium.org/2199823002
* Fix build_command_buffer for WindowsGravatar borenet2016-08-02
| | | | | | | BUG=skia:5597 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2207563002 Review-Url: https://codereview.chromium.org/2207563002
* Add drawImageLattice() and drawBitmapLattice() APIsGravatar msarett2016-08-02
| | | | | | | | | | | | The specified image/bitmap is divided into rects, which can be draw stretched, shrunk, or at a fixed size. Will be used by Android to draw 9patch (which are acutally N-patch) images. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1992283002 Review-Url: https://codereview.chromium.org/1992283002
* Rename FontConfigInterface font manager files.Gravatar bungeman2016-08-02
| | | | | | | | | | | | These files are now so badly misnamed that it is causing problems. The original files are kept as shells until Chromium and PDFium can be updated. After Chromium and PDFium builds are updated, the old files will be removed and the cmake and bzl builds will be updated. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199973002 CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review-Url: https://codereview.chromium.org/2199973002
* Fix Chrome build for RecreateSKPs and CommandBuffer bots for GYP->GNGravatar borenet2016-08-02
| | | | | | | BUG=skia:5597 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199273002 Review-Url: https://codereview.chromium.org/2199273002
* More fixes for SwarmBucketGravatar borenet2016-08-02
| | | | | | | | BUG=skia:5581 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202053005 NOTRY=true Review-Url: https://codereview.chromium.org/2202053005
* Always return ImageShader, even from SkShader::MakeBitmapShaderGravatar reed2016-08-02
| | | | | | | | | | | | | | | Lessons learned 1. ImageShader (correctly) always compresses (typically via PNG) during serialization. This has the surprise results of - if the image was marked opaque, but has some non-opaque pixels (i.e. bug in blitter or caller), then compressing may "fix" those pixels, making the deserialized version draw differently. bug filed. - 565 compressess/decompresses to 8888 (at least on Mac), which draws differently (esp. under some filters). bug filed. 2. BitmapShader did not enforce a copy for mutable bitmaps, but ImageShader does (since it creates an Image). Thus the former would see subsequent changes to the pixels after shader creation, while the latter does not, hence the change to the BlitRow test to avoid this modify-after-create pattern. I sure hope this prev. behavior was a bug/undefined-behavior, since this CL changes that. BUG=skia:5595 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195893002 Review-Url: https://codereview.chromium.org/2195893002
* Roll recipe DEPSGravatar borenet2016-08-02
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2205863002 Review-Url: https://codereview.chromium.org/2205863002
* GN: add some missing SkCodec definesGravatar mtklein2016-08-01
| | | | | | | | | | TURBO_HAS_... WEBP_SWAP_16BIT_CSP BUG=skia:5591 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196413003 Review-Url: https://codereview.chromium.org/2196413003
* Fix SkJpegCodec::onSkipScanlines when TURBO_HAS_SKIP is not definedGravatar msarett2016-08-01
| | | | | | | | | | I think I just broke this in: https://codereview.chromium.org/2174493002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202763002 Review-Url: https://codereview.chromium.org/2202763002
* Hide (mostly) unused SkColorSpace writeToICC() functionGravatar msarett2016-08-01
| | | | | | | | | | | | | This originally was intended to be used for serialization, but we've chosen another approach. Includes a revert of: https://codereview.chromium.org/2012133003/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193223002 Review-Url: https://codereview.chromium.org/2193223002
* Sketch SkPictureRecorder::optimizeFor(GrContext*).Gravatar mtklein2016-08-01
| | | | | | | | | | I'm open to API suggestions. We can pass this in finishAs(), up front, whatever. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2203453002 Review-Url: https://codereview.chromium.org/2203453002
* GN: use the correct fontconfig font mugger.Gravatar mtklein2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202733002 Review-Url: https://codereview.chromium.org/2202733002
* Replace 'Ulta' with 'Ultra'.Gravatar bungeman2016-08-01
| | | | | | | | | Start fixing a typo in an enum name. TBR=reed This is just a typo fix. Review-Url: https://codereview.chromium.org/2202703002
* Pick the right download tool for windows.Gravatar herb2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197423002 Review-Url: https://codereview.chromium.org/2197423002
* Added distance vector support for CircleGeometryProcessorGravatar dvonbeck2016-08-01
| | | | | | | | | | This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/2114993002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190023002 Committed: https://skia.googlesource.com/skia/+/779e1924eaf7c5652dee93e0e8e975bbf5723b37 Review-Url: https://codereview.chromium.org/2190023002
* implement isABitmap for imageshader, return localmatrix for bitmap's implGravatar reed2016-08-01
| | | | | | | | | For imageshader, I only return true if the image is explicitly raster-backed. I do not return true for texture, nor for generator (i.e. lazy/picture) backed. Is that ok? BUG=skia:5592 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197323002 Review-Url: https://codereview.chromium.org/2197323002
* Replace old SkRecords RefBox with sk_sp.Gravatar mtklein2016-08-01
| | | | | | | | | | | | The main differences are that RefBox's constructor reffed and sk_sp's doesn't, and that RefBox auto-casts to the underlying pointer while sk_sp doesn't. I've added a bunch of sk_ref_sp() and .get() to compensate. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197243003 Review-Url: https://codereview.chromium.org/2197243003
* make an image from a mutable bitmapGravatar reed2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2199813002 Review-Url: https://codereview.chromium.org/2199813002
* GrFP can express distance vector field req., program builder declares ↵Gravatar dvonbeck2016-08-01
| | | | | | | | | | | | | | | | | | | | | variable for it This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates: - from child FPs to their parent - from parent FPs to the GrPaint - from GrPaint through the PipelineBuilder into GrPipeline - acessed from GrPipeline by GrGLSLProgramBuilder GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method. This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/2080993002 BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114993002 Committed: https://skia.googlesource.com/skia/+/4ef6dfa7089c092c67b0d5ec34e89c1e319af196 Review-Url: https://codereview.chromium.org/2114993002
* GN: only include headers in echo_headers.pyGravatar mtklein2016-08-01
| | | | | | | | | This keeps things like VIM .swp files out of skia.h. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2202643002 Review-Url: https://codereview.chromium.org/2202643002
* adding new GM to demostrate new shadowsGravatar vjiaoblack2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2118553002 Review-Url: https://codereview.chromium.org/2118553002
* Add SkColorSpace::Equals() APIGravatar msarett2016-08-01
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196743002 Review-Url: https://codereview.chromium.org/2196743002
* Default fake gamma to sRGB.Gravatar mtklein2016-08-01
| | | | | | | | | | | | | No one appears to be using the default 2.2. This makes SK_GAMMA_SRGB the default / a no-op, which seems more realistic. Chrome's explicitly setting SK_GAMMA_EXPONENT or SK_GAMMA_SRGB. We set Android platform explicitly to 1.4. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198073002 Review-Url: https://codereview.chromium.org/2198073002
* GN: define fake-gamma configuration to match our bots.Gravatar mtklein2016-08-01
| | | | | | | | | This should fix many of the GN text diffs in Gold. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195393002 Review-Url: https://codereview.chromium.org/2195393002
* GN: Define SK_HAS_... in all Skia-private code, not just libskia.Gravatar mtklein2016-08-01
| | | | | | | | | | | | | | | | | SkForceLinking wasn't force-linking the WEBP encoder, or any encoder. (The others must be explicitly used.) This should help the GN Debug Perf bots progress past Running Encode_color_wheel.jpg_WEBP nonrendering ../../../bench/EncoderBench.cpp:58: fatal error: "assert(data)" On my laptop, a debug nanobench run now finishes. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196243002 Review-Url: https://codereview.chromium.org/2196243002
* Remove some ancillary users of SkSurface::MakeRenderTargetDirectGravatar robertphillips2016-08-01
| | | | | | | | calved off of: https://codereview.chromium.org/2176333002/ (Remove SkSurface::MakeRenderTargetDirect) GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2198433003 Review-Url: https://codereview.chromium.org/2198433003
* Stop running nanobench on Test.*Debug botsGravatar borenet2016-08-01
| | | | | | | | | | We'll need to add Perf.*Debug bots to achieve the same coverage. BUG=skia:4768 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189393002 NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2189393002
* Revert of GrFP can express distance vector field req., program builder ↵Gravatar mtklein2016-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | declares variable for it (patchset #20 id:370001 of https://codereview.chromium.org/2114993002/ ) Reason for revert: UBSAN says we're reading a bad bool here: bool usesDistanceVectorField() const { return fUsesDistanceVectorField; } ../../../include/gpu/GrPaint.h:83:51: runtime error: load of value 239, which is not a valid value for type 'bool' SUMMARY: AddressSanitizer: undefined-behavior ../../../include/gpu/GrPaint.h:83:51 in Seems likely also the root of Valgrind failure: https://luci-milo.appspot.com/swarming/task/30522e4f2241cb10 Original issue's description: > GrFP can express distance vector field req., program builder declares variable for it > > This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates: > > - from child FPs to their parent > - from parent FPs to the GrPaint > - from GrPaint through the PipelineBuilder into GrPipeline > - acessed from GrPipeline by GrGLSLProgramBuilder > > GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method. > > This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/2080993002 > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114993002 > > Committed: https://skia.googlesource.com/skia/+/4ef6dfa7089c092c67b0d5ec34e89c1e319af196 TBR=egdaniel@google.com,robertphillips@google.com,bsalomon@google.com,dvonbeck@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2201613002
* Revert of Tidy up SkNx_neon. (patchset #3 id:40001 of ↵Gravatar mtklein2016-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/2196773002/ ) Reason for revert: https://luci-milo.appspot.com/swarming/task/3055149a25621b10 Not Nexus 5 specific. Reproduces on Pixel C with --gcc -t Debug -d arm_v7_neon. Not sure about other configs yet. Original issue's description: > Tidy up SkNx_neon. > > This takes advantage of the fact that all the compilers we use that > support NEON implement it with their own vector extensions. This means > normal things like c = a + b work on the underlying vector types already. > Odd instructions like min or saturated add need to stay intrinsics. > > Also, rearrange functions to a more consistent order. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196773002 > CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot > > Committed: https://skia.googlesource.com/skia/+/6ad22315eb6eacfcd35497cd118440a619d05b18 TBR=msarett@google.com,mtklein@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2196953002
* Revert of Added distance vector support for CircleGeometryProcessor ↵Gravatar mtklein2016-07-30
| | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/2190023002/ ) Reason for revert: Reverting so I can revert https://codereview.chromium.org/2114993002/ Original issue's description: > Added distance vector support for CircleGeometryProcessor > > This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/2114993002/ > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190023002 > > Committed: https://skia.googlesource.com/skia/+/779e1924eaf7c5652dee93e0e8e975bbf5723b37 TBR=egdaniel@google.com,robertphillips@google.com,dvonbeck@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review-Url: https://codereview.chromium.org/2196053002
* Docs: ooops, debug is the default in GN.Gravatar mtklein2016-07-30
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195173002 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=2195173002 TBR=jcgregorio@google.com Review-Url: https://codereview.chromium.org/2195173002
* SkRasterPipeline: new APIs for fusionGravatar mtklein2016-07-29
| | | | | | | | | | | | | | | | | | | Most visibly this adds a macro SK_RASTER_STAGE that cuts down on the boilerplate of defining a raster pipeline stage function. Most interestingly, SK_RASTER_STAGE doesn't define a SkRasterPipeline::Fn, but rather a new type EasyFn. This function is always static and inlined, and the details of interacting with the SkRasterPipeline::Stage are taken care of for you: ctx is just passed as a void*, and st->next() is always called. All EasyFns have to do is take care of the meat of the work: update r,g,b, etc. and read and write from their context. The really neat new feature here is that you can either add EasyFns to a pipeline with the new append() functions, _or_ call them directly yourself. This lets you use the same set of pieces to build either a pipelined version of the function or a custom, fused version. The bench shows this off. On my desktop, the pipeline version of the bench takes about 25% more time to run than the fused one. The old approach to creating stages still works fine. I haven't updated SkXfermode.cpp or SkArithmeticMode.cpp because they seemed just as clear using Fn directly as they would have using EasyFn. If this looks okay to you I will rework the comments in SkRasterPipeline to explain SK_RASTER_STAGE and EasyFn a bit as I've done here in the CL description. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195853002 Review-Url: https://codereview.chromium.org/2195853002
* simplify neon shiftsGravatar mtklein2016-07-29
| | | | | | | | | | | | These still generate vshr/vshl with immediates with both GCC and Clang. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2194953002 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Based on https://codereview.chromium.org/2196773002 Review-Url: https://codereview.chromium.org/2194953002
* If scissor would be empty in GrClipMaskManager::SetupClipping indicate draw ↵Gravatar bsalomon2016-07-29
| | | | | | | | | can be skipped. BUG=chromium:632185 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196803002 Review-Url: https://codereview.chromium.org/2196803002
* Add ES 3.0 fallback for instanced renderingGravatar csmartdalton2016-07-29
| | | | | | | | | | | | | | | Adds the ability for GLInstancedRendering to use glDrawElementsInstanced when glDrawElementsIndirect is not supported. The only remaining 3.1 dependency now is EXT_texture_buffer. Also moves the cap for glDraw*Instanced out of GrCaps and into GrGLCaps. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193303002 Review-Url: https://codereview.chromium.org/2193303002
* Fix vulkan buildGravatar egdaniel2016-07-29
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193883002 Review-Url: https://codereview.chromium.org/2193883002
* Added distance vector support for CircleGeometryProcessorGravatar dvonbeck2016-07-29
| | | | | | | | | This CL's base is the CL that sets up the distance vector field req. exposure: https://codereview.chromium.org/2114993002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190023002 Review-Url: https://codereview.chromium.org/2190023002
* Tidy up SkNx_neon.Gravatar mtklein2016-07-29
| | | | | | | | | | | | | | | This takes advantage of the fact that all the compilers we use that support NEON implement it with their own vector extensions. This means normal things like c = a + b work on the underlying vector types already. Odd instructions like min or saturated add need to stay intrinsics. Also, rearrange functions to a more consistent order. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196773002 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/2196773002