aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* 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
* perf: Upload results to gs://skia-perf, not gs://chromium-skia-gm.Gravatar jcgregorio2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197643002 Review-Url: https://codereview.chromium.org/2197643002
* Conditionally define SK_SUPPORT_LEGACY_DATA_FACTORIES.Gravatar bungeman2016-07-29
| | | | | | | | | | | In order to remove this define it will first need to be defined in Chromium. However, doing so causes redefinition warnings as errors. Only define this macro if it is not already defined to avoid this. TBR=reed This doesn't change any API. Review-Url: https://codereview.chromium.org/2198453002
* Properly recycle uniform buffers in vulkanGravatar egdaniel2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2195713002 Review-Url: https://codereview.chromium.org/2195713002
* Add some GN builders to the CQ.Gravatar mtklein2016-07-29
| | | | | | | | | This parallels the set of bots we use to gate commits already. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189283003 Review-Url: https://codereview.chromium.org/2189283003
* SkPDF: PDFStream has-a not is-a PDFDictGravatar halcanary2016-07-29
| | | | | | | | | | | | | | | Motivation: SkPDFStream and SkPDFSharedStream now work the same. Also: - move SkPDFStream into SkPDFTypes (it's a fundamental PDF type). - minor refactor of SkPDFSharedStream - SkPDFSharedStream takes unique_ptr to represent ownership BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190883003 Review-Url: https://codereview.chromium.org/2190883003
* SkNx: add Sk4uGravatar mtklein2016-07-29
| | | | | | | | | | This lets us get at logical >> in a nicely principled way. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197683002 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/2197683002
* GrFP can express distance vector field req., program builder declares ↵Gravatar dvonbeck2016-07-29
| | | | | | | | | | | | | | | | | | | | 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 Review-Url: https://codereview.chromium.org/2114993002
* GN: components as static library instead of source setGravatar mtklein2016-07-29
| | | | | | | | | | | This also puts the .a in the top-level of the ouptut directory, just like we do for .so files. It's less required than for .sos, but it does make it easier to find the .a. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197633002 Review-Url: https://codereview.chromium.org/2197633002
* Fix various SkColorSpace bugsGravatar msarett2016-07-29
| | | | | | | | | | (1) Fixes serialization/deserialization of wacky SkColorSpaces (2) Fix gamma equals checking BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2194903002 Review-Url: https://codereview.chromium.org/2194903002
* Use HashSet instead of Dynamic hash for tracking vulkan resourcesGravatar egdaniel2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2194823003 Review-Url: https://codereview.chromium.org/2194823003
* [SVGDom] Parse style attributesGravatar fmalita2016-07-29
| | | | | | | | | | Dispatch style-encoded (style="foo: bar; ...") attributes via normal attribute setters. R=reed@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193663002 Review-Url: https://codereview.chromium.org/2193663002
* SkPDF: flip saveLayer rightside upGravatar halcanary2016-07-29
| | | | | | | | | | Broken in https://skia.googlesource.com/skia/+/4b1e17e BUG=632574 TBR=tomhudson@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2197623002 Review-Url: https://codereview.chromium.org/2197623002
* GN: quick docGravatar mtklein2016-07-29
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2192203002 NOTRY=true DOCS_PREVIEW= https://skia.org/user/quick/gn?cl=2192203002 Review-Url: https://codereview.chromium.org/2192203002
* Remove GrContext::applyGammaGravatar robertphillips2016-07-29
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2191323002 Review-Url: https://codereview.chromium.org/2191323002
* Add test configs for instanced renderingGravatar csmartdalton2016-07-29
| | | | | | | | | | | | | | | Adds the following configs and enables them on select bots: glinst, glinst4, glinstdit4, glinst16, glinstdit16, esinst, esinst4, esinstdit4 Makes general changes to GrContextOptions, GrCaps, etc. to facilitate this. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2182783004 Review-Url: https://codereview.chromium.org/2182783004
* Merge ProgramDesc's for GL and VulkanGravatar egdaniel2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184413002 Review-Url: https://codereview.chromium.org/2184413002
* Add color space xform support to SkJpegCodec (includes F16!)Gravatar msarett2016-07-29
| | | | | | | | | | | | | | | | | Also changes SkColorXform to support: RGBA->RGBA RGBA->BGRA Instead of: RGBA->SkPMColor TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002 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/+/73d55332e2846dd05e9efdaa2f017bcc3872884b Review-Url: https://codereview.chromium.org/2174493002
* GN: ccache+clang needs -Qunused-argumentsGravatar mtklein2016-07-29
| | | | | | | | | | | | | | | | An alternative is to define CCACHE_CPP2, but I thought I'd try this more visible way first. (CCACHE_CPP2 may turn out to be required anyway if we start seeing warnings about tautological compares.) BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193203002 TBR=jcgregorio@google.com NOTRY=true Review-Url: https://codereview.chromium.org/2193203002
* GN: Always quote cc and cxx.Gravatar mtklein2016-07-29
| | | | | | | | | | | | | | To fix: ERROR at the command-line "--args":1:34: Unexpected token '+' is_debug=true cc=clang cxx=clang++ TBR=jcgregorio@google.com NOTRY=true BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193593003 Review-Url: https://codereview.chromium.org/2193593003
* GN: use ccache if available and the requested compiler.Gravatar mtklein2016-07-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186553006 Review-Url: https://codereview.chromium.org/2186553006
* Add another GM to skip in serialize mode.Gravatar mtklein2016-07-28
| | | | | | | | | | | | | See https://luci-milo.appspot.com/swarming/task/304ced7bada3b310/steps/dm/0/stdout Also update .json. CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86_64-Debug-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2196543002 Review-Url: https://codereview.chromium.org/2196543002
* Revert of Add color space xform support to SkJpegCodec (includes F16!) ↵Gravatar msarett2016-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #9 id:260001 of https://codereview.chromium.org/2174493002/ ) Reason for revert: Breaking MSAN Original issue's description: > Add color space xform support to SkJpegCodec (includes F16!) > > Also changes SkColorXform to support: > RGBA->RGBA > RGBA->BGRA > > Instead of: > RGBA->SkPMColor > > TBR=reed@google.com > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002 > 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/+/73d55332e2846dd05e9efdaa2f017bcc3872884b TBR=mtklein@google.com,reed@google.com,herb@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/2195523002
* Remove use of MakeRenderTargetDirect from view systemGravatar robertphillips2016-07-28
| | | | | | | | Here is the CL that sent me down the SkGammaColorFilter path GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2178353005 Review-Url: https://codereview.chromium.org/2178353005
* Update public.bzl based on internal cl/128616707.Gravatar benjaminwagner2016-07-28
| | | | | | | TBR=mtklein@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186373002 Review-Url: https://codereview.chromium.org/2186373002
* Add color space xform support to SkJpegCodec (includes F16!)Gravatar msarett2016-07-28
| | | | | | | | | | | | | | | | Also changes SkColorXform to support: RGBA->RGBA RGBA->BGRA Instead of: RGBA->SkPMColor TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174493002 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/2174493002
* Make coverage.py optional for dm and nanobench _flags.pyGravatar mtklein2016-07-28
| | | | | | | | | It is better to test partially than not test at all. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184423002 Review-Url: https://codereview.chromium.org/2184423002
* Silence -Wclobbered in each file that needs it.Gravatar mtklein2016-07-28
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184823009 Committed: https://skia.googlesource.com/skia/+/03f704a343d7a82974f977eda8789a8c721c93e5 CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Win-MSVC-GCE-CPU-AVX2-x86-Release-Trybot Review-Url: https://codereview.chromium.org/2184823009
* SkPDF: drawText makes use of SkPaint.measureText() for alignment.Gravatar halcanary2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188303003 Review-Url: https://codereview.chromium.org/2188303003
* turn bitmaps into images during recordingGravatar reed2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185563003 Review-Url: https://codereview.chromium.org/2185563003
* GN: nanobenchGravatar mtklein2016-07-28
| | | | | | | | | | | | | | | | Add nanobench, and while we're at it monobench to show off how cool source_sets are... the bench files are only built once then linked into both binaries. With GYP we build them twice. :/ Same deal for GMs between nanobench and DM... build once, link twice. nanobench uses SkImageEncoder to encode its .pngs, which requires we link in the image encoders, which requires we get them all in. That's the bulk of this. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2193513002 Review-Url: https://codereview.chromium.org/2193513002
* Revert of Silence -Wclobbered in each file that needs it. (patchset #2 ↵Gravatar mtklein2016-07-28
| | | | | | | | | | | | | | | | | | | | | | | | id:20001 of https://codereview.chromium.org/2184823009/ ) Reason for revert: Jpeg strategy seems to be leading to crashes. Gonna go back to warning squelch. Original issue's description: > Silence -Wclobbered in each file that needs it. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184823009 > > Committed: https://skia.googlesource.com/skia/+/03f704a343d7a82974f977eda8789a8c721c93e5 TBR=msarett@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/2188313003
* Serialize SkColorSpace into DeferredTextureImageGravatar bsalomon2016-07-28
| | | | | | | | This fixes a memory leak that occurs when DeferredTextureImage is deallocated without being destroyed. It is intended to be stored in discarable memory and thus this has to be safe. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184823010 Review-Url: https://codereview.chromium.org/2184823010
* Silence -Wclobbered in each file that needs it.Gravatar mtklein2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2184823009 Review-Url: https://codereview.chromium.org/2184823009
* Fix expectations for GN bot.Gravatar jcgregorio2016-07-28
| | | | | | BUG=skia: Review-Url: https://codereview.chromium.org/2191933002
* Remove unused render target members from GL and VK sk_app::WindowContext classesGravatar bsalomon2016-07-28
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2191673002 Review-Url: https://codereview.chromium.org/2191673002
* Include NVPR configs in dm runs on TegraX1Gravatar csmartdalton2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2174353008 Review-Url: https://codereview.chromium.org/2174353008
* GN: add abbreviated versions of the command line as descriptions.Gravatar mtklein2016-07-28
| | | | | | | | | | | | | This should help make the bot logs a little easier to read. (On the console this wasn't much of a big deal, as Ninja auto-abbreviates when printing to an interactive console.) As usual, Ninja will print the full command when a task fails. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188263002 Review-Url: https://codereview.chromium.org/2188263002
* Add HardStopGradientBench_ScaleNumHardStops.cppGravatar fmenozzi2016-07-28
| | | | | | | | | Rename HardStopGradientBench.cpp to HardStopGradientBench_ScaleNumColors.cpp BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2178913003 Review-Url: https://codereview.chromium.org/2178913003
* Add swarmbucket_wrapper recipeGravatar borenet2016-07-28
| | | | | | | | BUG=skia:5581 NOTRY=true GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2185203003 Review-Url: https://codereview.chromium.org/2185203003
* Add writeToMemory() API to SkColorSpaceGravatar msarett2016-07-28
| | | | | | | | | | | | | | | | | New API mirrors the form of similar APIs in SkRegion, SkMatrix, etc. This also fixes a bug: SkImageInfo appears in a object that Chrome stores in discardable memory. So when sk_sp<SkColorSpace> was added to SkImageInfo a leak was introduced. We'll use this new method and deserialize to store the SkColorSpace in the discardable object. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2192903002 Review-Url: https://codereview.chromium.org/2192903002
* GN: fix mac build againGravatar mtklein2016-07-28
| | | | | | | | | | | | | Hoping to land these using the other GN bots as trybots. Don't know what magic was letting us get to webp's headers yesterday on Linux. Might have been using /usr/include's ? The other change is the difference between some setups using #define SK_BUILD_FOR_MAC and others #define SK_BUILD_FOR_MAC 1. We want either to mean "we're Mac". BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2190713004 Review-Url: https://codereview.chromium.org/2190713004
* SkPaint intercept API for SkTextBlob and horizontal textGravatar fmalita2016-07-28
| | | | | | | | | | | | Add getPosTextHIntercepts(), getTextBlobIntercepts(). Consolidate the implementation in GetTextIntercepts<> template. BUG=chormium:581456 R=caryclark@google.com,reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2186663004 Review-Url: https://codereview.chromium.org/2186663004
* Make both SK_API definition points identical and order independent.Gravatar mtklein2016-07-28
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2189983002 Review-Url: https://codereview.chromium.org/2189983002