aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Add gyp support for new GPU backendGravatar jvanverth2015-08-12
| | | | Review URL: https://codereview.chromium.org/1287023006
* Refactor helper function for SkBitmapShader to GrFragmentProcessorGravatar joshualitt2015-08-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1285283002
* Revert[4] "move some public headers into private"Gravatar reed2015-08-12
| | | | | | | | | This reverts commit 9cdcabefa33d49febfdb45e388e762b4dee8dd6f. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1291613007
* broken bots warGravatar joshualitt2015-08-12
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1289803005
* Add support for a new GPU interfaceGravatar jvanverth2015-08-12
| | | | Review URL: https://codereview.chromium.org/1290813002
* Revert of Refactor to put SkXfermode_opts inside SK_OPTS_NS. (patchset #1 ↵Gravatar mtklein2015-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1286093004/ ) Reason for revert: Maybe causing test / gold problems? Original issue's description: > Refactor to put SkXfermode_opts inside SK_OPTS_NS. > > Without this refactor I was getting warnings previously about having code > inside namespace SK_OPTS_NS (e.g. namespace sse2, namespace neon) referring to > code inside an anonymous namespace (Sk4px, SkPMFloat, Sk4f, etc) [1]. > > That low-level code was in an anonymous namespace to allow multiple independent > copies of its methods to be instantiated without the linker getting confused / > offended about violating the One Definition Rule. This was only happening in > Debug mode where the methods were not being inlined. > > To fix this all, I've force-inlined the methods of the low-level code and > removed the anonymous namespace. > > BUG=skia:4117 > > > [1] Here is what those errors looked like: > > In file included from ../../../../src/core/SkOpts.cpp:18:0: > ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fProc4' whose type uses the anonymous namespace [-Werror] > class Sk4pxXfermode : public SkProcCoeffXfermode { > ^ > ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fAAProc4' whose type uses the anonymous namespace [-Werror] > ../../../../src/opts/SkXfermode_opts.h:235:7: error: 'portable::SkPMFloatXfermode' has a field 'portable::SkPMFloatXfermode::fProcF' whose type uses the anonymous namespace [-Werror] > class SkPMFloatXfermode : public SkProcCoeffXfermode { > ^ > cc1plus: all warnings being treated as errors > > Committed: https://skia.googlesource.com/skia/+/b07bee3121680b53b98b780ac08d14d374dd4c6f TBR=djsollen@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4117 Review URL: https://codereview.chromium.org/1284333002
* Add GrAARectBatch which can handle a local matrixGravatar joshualitt2015-08-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1290763002
* Add override to GrAAFillRectBatch::onCombineIfPossibleGravatar bsalomon2015-08-12
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/1287103003
* SkPDF: Move SkFlate into src/pdf (part 1/3) [reland]Gravatar halcanary2015-08-12
| | | | | | | | Rename to SkDeflate so Chromium builders continue to work Next, we change remove SkFlate from Chromium build files, then we can delete SkFlate. Review URL: https://codereview.chromium.org/1285913002
* Check for xfer barriers in GrBatch, auto-issue barriers in GrGpuGravatar bsalomon2015-08-12
| | | | Review URL: https://codereview.chromium.org/1287973003
* Normalize SkXfermode_opts.h argument order as d,s[,aa].Gravatar mtklein2015-08-12
| | | | | | | | | | | | | | At head they're s,d[,aa] in SkXfermode_opts.h but Sk4px::Map* expect d,s[,aa] so we ended up having to write weird little lambda shims to match impedance. There's no reason for these to disagree, and d,s[,aa] is the One True Order (because no matter what you're doing in graphics, there's always a dst). Should be no perf or image diff, though I'm suspicious it might help MSVC code generation. BUG=skia:4117 Review URL: https://codereview.chromium.org/1289903002
* Refactor to put SkXfermode_opts inside SK_OPTS_NS.Gravatar mtklein2015-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this refactor I was getting warnings previously about having code inside namespace SK_OPTS_NS (e.g. namespace sse2, namespace neon) referring to code inside an anonymous namespace (Sk4px, SkPMFloat, Sk4f, etc) [1]. That low-level code was in an anonymous namespace to allow multiple independent copies of its methods to be instantiated without the linker getting confused / offended about violating the One Definition Rule. This was only happening in Debug mode where the methods were not being inlined. To fix this all, I've force-inlined the methods of the low-level code and removed the anonymous namespace. BUG=skia:4117 [1] Here is what those errors looked like: In file included from ../../../../src/core/SkOpts.cpp:18:0: ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fProc4' whose type uses the anonymous namespace [-Werror] class Sk4pxXfermode : public SkProcCoeffXfermode { ^ ../../../../src/opts/SkXfermode_opts.h:193:7: error: 'portable::Sk4pxXfermode' has a field 'portable::Sk4pxXfermode::fAAProc4' whose type uses the anonymous namespace [-Werror] ../../../../src/opts/SkXfermode_opts.h:235:7: error: 'portable::SkPMFloatXfermode' has a field 'portable::SkPMFloatXfermode::fProcF' whose type uses the anonymous namespace [-Werror] class SkPMFloatXfermode : public SkProcCoeffXfermode { ^ cc1plus: all warnings being treated as errors Review URL: https://codereview.chromium.org/1286093004
* All child GrFragmentProcs' transforms and textures will be stored in the ↵Gravatar wangyix2015-08-12
| | | | | | | | | | | | | | | | | | | | | | root GrFragmentProc in preorder Changed childProcessor(i) to return const referencd Fixed rootProc/parentProc offset issues; renamed a few things. added nonempty check to gatherTransforms to avoid segfault removed recursive append_gr_coord_transforms() from GrGLProgramBuilder BUILDS! Changed num*includeProc() calls to num() calls added gatherCoordTransforms(). added coordTransforms() for root proc only Modified GrFragmentProcessor to append child proc transforms and textures to root proc's arrays. BUG=skia:4182 Review URL: https://codereview.chromium.org/1275853005
* Revert of SkPDF: Move SkFlate into src/pdf (part 1/3) (patchset #1 id:1 of ↵Gravatar halcanary2015-08-12
| | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1285913002/ ) Reason for revert: broke gn ("Duplicate object file") Original issue's description: > SkPDF: Move SkFlate into src/pdf (part 1/3) > > Next, we change Chromium build files, then we do the actual move. > > Committed: https://skia.googlesource.com/skia/+/e14c1fe04fc72ec9bcf55820b5c65a71d7d0a764 TBR=bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1289863002
* Update CodexTest to test valid_alpha.Gravatar scroggo2015-08-12
| | | | | | | | | | | | | Add a static function to CodexTest, which consolidates decoding, comparing to an expected SkCodec::Result, and optionally comparing to a digest. Test decoding non-opaque to opaque (fails) and premul to unpremul/vice versa (succeeds). BUG=skia:3475 Review URL: https://codereview.chromium.org/1277253003
* Revise DrawAtlasBatch to get rid of one copy when generating the batch.Gravatar jvanverth2015-08-12
| | | | | | | | This doesn't appear to have much affect on perf in SampleApp, but it should avoid some copies and replaces a couple of STArrays with one that just does a memcpy in the copy constructor. Review URL: https://codereview.chromium.org/1279343004
* Remove trace marker support from GrBufferedDrawTargetGravatar bsalomon2015-08-12
| | | | Review URL: https://codereview.chromium.org/1284983002
* Fix bmp RLE "bug"Gravatar msarett2015-08-12
| | | | | | | | | | | | | | | | | Chromium's test suite contains an RLE image that reports a certain file size in the header, but then contains additional encoded data. Our bmp decoder would only decode half of the image, before stopping. With this fix, we check for additional data before returning kIncompleteInput. If this lands, I will upload the test image to the bots. Also adding an invalid image test to CodexTest. BUG=skia: Review URL: https://codereview.chromium.org/1273853004
* SkPDF: Move SkFlate into src/pdf (part 1/3)Gravatar halcanary2015-08-12
| | | | | | Next, we change Chromium build files, then we do the actual move. Review URL: https://codereview.chromium.org/1285913002
* C API: add radial, sweep, and two-point conical gradient shadersGravatar halcanary2015-08-12
| | | | Review URL: https://codereview.chromium.org/1263773006
* Consolidate SkCodec functions for handling rewindGravatar scroggo2015-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, many of our codec implementations followed the same pattern (often in a function named handleRewind): switch (this->rewindIfNeeded()) { case CouldNotRewind: return CouldNotRewind; case NoRewindNecessary: // keep going break; case Rewound: <re-read header etc> break; } In this CL, remove the enum, and put the piece that happens in the Rewound case into a virtual function, onRewind. rewindIfNeeded now contains the common pieces from various functions named handleRewind. In SkBmpCodec, add a function that returns whether the BMP is in ICO, so it can have a common implementation for onRewind. BUG=skia:3257 Review URL: https://codereview.chromium.org/1288483002
* Add ability to pass in an optional path to additional unit tests to run.Gravatar egdaniel2015-08-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1280133004
* Move AAFillRect into CPP for templatizationGravatar joshualitt2015-08-12
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1278043003
* Revert[3] "move some public headers into private"Gravatar reed2015-08-12
| | | | | | | | | | | This reverts commit 9d20ee57d72a3850a6b51f2f2b00e00978be3864. BUG=skia: TBR= failures here: https://codereview.chromium.org/1286103004 Review URL: https://codereview.chromium.org/1290733002
* Revert[2] "move some public headers into private"Gravatar reed2015-08-12
| | | | | | | | | | This reverts commit 4cf9e7e14797f87f08b2078fa1afaf731cbf8f52. BUG=skia: TBR= NOTRY=True Review URL: https://codereview.chromium.org/1284173002
* Make GrBatch carry its own GrPipelineGravatar bsalomon2015-08-11
| | | | Review URL: https://codereview.chromium.org/1278643006
* Hopefully fix ios botsGravatar msarett2015-08-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1286833002
* SkPDF: clean up overuse of SK_SUPPORT_PDFGravatar halcanary2015-08-11
| | | | | | | When possible use run-time checks (via SkDocument::CreatePDF) When PDF is disabled, do not compile tests/PDF*.cpp Review URL: https://codereview.chromium.org/1278403006
* Switching Skia to chromium's libjpeg-turboGravatar msarett2015-08-11
| | | | | | | | | | | Compile SkJpegCodec and SkImageDecoder_libjpeg with chromium's libjpeg-turbo. SkImageDecoder_libjpeg still uses libjpeg on Android and the Android framework. SkJpegCodec is still not compiled on the Android framework. BUG=skia: Review URL: https://codereview.chromium.org/1275773004
* decrement lockcount if we failed to get pixelsGravatar reed2015-08-11
| | | | | | BUG=519581 Review URL: https://codereview.chromium.org/1284953002
* Add high resolution WallTimer to SampleAppGravatar jvanverth2015-08-11
| | | | | | Gives better than 1 ms results when timing framerate. Review URL: https://codereview.chromium.org/1288473002
* SkPDF: allow PDF module to be disabled in DM and SampleAppGravatar halcanary2015-08-11
| | | | | | | | | | | To disable PDF: GYP_DEFINES='skia_pdf=0' bin/sync-and-gyp ninja -C out/Debug dm SampleApp When disabled, SkDocument::CreatePDF() always returns NULL. Review URL: https://codereview.chromium.org/1279123007
* Revert "move some public headers into private"Gravatar reed2015-08-11
| | | | | | | | | | This reverts commit eedf0fb20489bc6c3706539dd6ab499f41cbe048. BUG=skia: TBR= NOTRY=True Review URL: https://codereview.chromium.org/1270313005
* move some public headers into privateGravatar reed2015-08-11
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1289483002
* Move Perf documentation to the testing sectionGravatar hcm2015-08-11
| | | | | | | | BUG=skia: NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=1280533003 Review URL: https://codereview.chromium.org/1280533003
* Make initBatchTracker private, move towards pipeline on batchGravatar bsalomon2015-08-10
| | | | Review URL: https://codereview.chromium.org/1282893002
* Sk4px blit mask.Gravatar mtklein2015-08-10
| | | | | | | | | | | | | | | | Local SKP nanobenching ranges SSE between 1.05x and 0.87x, much more heavily weighted toward <1.0x ratios (speedups). I profiled the top five regressions (1.05x-1.01x) and they look like noise. Will follow up after broad bot results. NEON looks similar but less extreme than SSE changes, ranging between 1.02x and 0.95x, again mostly speedups in 0.99x-0.97x range. The old code trifurcated into black, opaque-but-not-black, and general versions as a function of the constant src color. I did not see a significant difference between general and opaque-but-not-black, and I don't think a black version would be faster using SIMD. So we have here just one version of the code, the general version. Somewhat fantastically, I see no pixel diffs on GMs or SKPs. I will be following up with more CLs for the other procs called by SkBlitMask. BUG=skia: Review URL: https://codereview.chromium.org/1278253003
* Remove GrPipelineOptimizations member from GrPipelineGravatar bsalomon2015-08-10
| | | | Review URL: https://codereview.chromium.org/1275003004
* trivial CL to add drawBatch to GrDrawContextGravatar joshualitt2015-08-10
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1282883002
* Expand functionality of GrRectBatchFactory with AARectsGravatar joshualitt2015-08-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1279303002
* Fix to call SkDelete_array instead of SkDelete to fix ASAN error.Gravatar egdaniel2015-08-10
| | | | | | | | TBR=mtklein@google.com BUG=skia: Review URL: https://codereview.chromium.org/1282333002
* Revert of [TextBlob] Fall back to TightRunBounds when the font bounds are ↵Gravatar egdaniel2015-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | empty (patchset #1 id:1 of https://codereview.chromium.org/1284693002/ ) Reason for revert: Breaking DEPS roll on Assert in SkTextBlobBuilder::TightRunBounds. Original issue's description: > [TextBlob] Fall back to TightRunBounds when the font bounds are empty > > Empty font bounds are likely an indication of a font bug. As a best > effort, we can use TightRunBounds in this easily detectable case. > > BUG=507022 > R=reed@google.com,bungeman@google.com > > Committed: https://skia.googlesource.com/skia/+/d6b99cc6b84b3ec864221cbe9945d203bd9eb072 TBR=bungeman@google.com,reed@google.com,fmalita@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=507022 Review URL: https://codereview.chromium.org/1283853002
* Rename GrPipelineInfo to GrPipelineOptimizationsGravatar bsalomon2015-08-10
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1274513005
* Move GrStrokeRectBatch creation to behind factoryGravatar joshualitt2015-08-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1282283002
* Create GrRectBatchFactoryGravatar joshualitt2015-08-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1287433003
* This is a speculative fix for the crash on IOSGravatar egdaniel2015-08-10
| | | | | | TBR=mtklein Review URL: https://codereview.chromium.org/1277433005
* [TextBlob] Fall back to TightRunBounds when the font bounds are emptyGravatar fmalita2015-08-10
| | | | | | | | | | Empty font bounds are likely an indication of a font bug. As a best effort, we can use TightRunBounds in this easily detectable case. BUG=507022 R=reed@google.com,bungeman@google.com Review URL: https://codereview.chromium.org/1284693002
* move Stroke Rect and AAFill Rect to their own fileGravatar joshualitt2015-08-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1282723004
* Ensure that android "release" apps are signed with debug keyGravatar djsollen2015-08-10
| | | | Review URL: https://codereview.chromium.org/1275223003
* SkPDF: add assert for that SkWStream behaves.Gravatar halcanary2015-08-10
| | | | | | | | Motivation: this might catch future issues like this. BUG=skia:4181 Review URL: https://codereview.chromium.org/1287443002