aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* By default purge resources that haven't been used for 64 flushesGravatar bsalomon2015-09-29
| | | | | | | | | | | | | | BUG=skia:4258 Committed: https://skia.googlesource.com/skia/+/85047175508a24f43eef49359bed215a2a3bb104 R=robertphillips@google.com Committed: https://skia.googlesource.com/skia/+/71d0c33068d41878cc3117f3761f49300f6b3d54 Committed: https://skia.googlesource.com/skia/+/bd783cd5b62118277b75933c3cd7b9097129259a Review URL: https://codereview.chromium.org/1316233003
* Use child processors to implement compose color filter.Gravatar bsalomon2015-09-29
| | | | Review URL: https://codereview.chromium.org/1368423003
* SkImage::NewFromBitmap works with Index8Gravatar halcanary2015-09-28
| | | | | | BUG=skia:4390 Review URL: https://codereview.chromium.org/1377473002
* Move SkAtomics.h to private.Gravatar herb2015-09-28
| | | | | | | | | | There are no API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1369333004
* Make SkPath fFirstDirection atomic to fix tsan.Gravatar herb2015-09-28
| | | | | | | | | | There is no API change. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/1372103003
* simplify code in SkRecords.hGravatar mtklein2015-09-28
| | | | | | | | | | | | | | | | - use C++11 features ({} init, move constructors) to eliminate the need for explicit constructors - collapse RECORD0...RECORD8 into just one RECORD macro - explicitly tag record types instead of using member detectors. Removing member detectors makes this code significantly less fragile. This exposes a few places where we didn't really think through what to do with SkDrawable. I've marked them TODO for now. BUG=skia: Review URL: https://codereview.chromium.org/1360943003
* Revert of Revert[2] of add ImageShader, sharing code with its Bitmap cousin ↵Gravatar reed2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #11 id:200001 of https://codereview.chromium.org/1352293002/ ) Reason for revert: guess: Need to handle NPOT support in shader case Original issue's description: > Revert[2] of add ImageShader, sharing code with its Bitmap cousin > > Adjustment from previous land : runtime check for npot-support when texture is requested for tiling. > > (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ ) > > This reverts commit f2608513626264459a00388537175600b515cae2. > > BUG=skia:4365 > > Committed: https://skia.googlesource.com/skia/+/fe05707c356d2a8c2c69222591d4cafbd456b4e5 TBR=fmalita@chromium.org,robertphillips@google.com,bsalomon@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4365 Review URL: https://codereview.chromium.org/1375673002
* Revert of change pixel-serializer to support reencoding existing data ↵Gravatar reed2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #5 id:80001 of https://codereview.chromium.org/1373683003/ ) Reason for revert: Need to somehow get access to encoders in chrome -- link error on the roll since SkImageEncoder is not built as part of chrome. Original issue's description: > change pixel-serializer to support reencoding existing data > > Trying to evolve this interface so it can > - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT > - allow for encoding images as well as bitmaps (e.g. for picture serialization) > - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/13f48dc85aa68a60da66aaf39c93d527d11d1278 TBR=scroggo@google.com,msarett@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1371983003
* Revert of SkImage-backed SkPictureShader (patchset #4 id:60001 of ↵Gravatar robertphillips2015-09-28
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1343153003/ ) Reason for revert: This CL appears to be breaking the pictureshader, pictureshadertile and tiled_picture_shader GMs on the iPad4 and the N7. The artifact is black rectangles. Original issue's description: > SkImage-backed SkPictureShader > > Instead of using an explicit image generator + SkBitmap + bitmap shader, > switch to the shiny new SkImage/image generator/image shader. > > R=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/97be9a0c86eedd8ab85ae7d9aaccb0b0a8e4577d TBR=reed@google.com,fmalita@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1374763003
* change pixel-serializer to support reencoding existing dataGravatar reed2015-09-28
| | | | | | | | | | | Trying to evolve this interface so it can - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT - allow for encoding images as well as bitmaps (e.g. for picture serialization) - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format) BUG=skia: Review URL: https://codereview.chromium.org/1373683003
* SkBlockMemoryStream: correct test in getMemoryBase().Gravatar halcanary2015-09-28
| | | | | | | | | The test "nullptr == fBlockMemory->fHead->fNext" tests that all of the data is in one block, but it is also necessary to test "fBlockMemory->fHead" to ensure that there is a first block with data in it. Review URL: https://codereview.chromium.org/1374493002
* Make skpaint->grpaint flow work for composing draws (verts and atlas)Gravatar bsalomon2015-09-28
| | | | | | One side effect is that the SkShader's (or implicit shader's) fragment processor is responsible for the transition from an unpremul paint color to a premul color. Review URL: https://codereview.chromium.org/1348583002
* SkImage-backed SkPictureShaderGravatar fmalita2015-09-25
| | | | | | | | | Instead of using an explicit image generator + SkBitmap + bitmap shader, switch to the shiny new SkImage/image generator/image shader. R=reed@google.com Review URL: https://codereview.chromium.org/1343153003
* Remove SkBitmapSourceGravatar fmalita2015-09-25
| | | | | | | | | To avoid breaking existing SKPs, add a deserialization stub which unflattens SkBitmapSource records to SkImageSources. R=reed@google.com,mtklein@google.com,robertphillips@google.com Review URL: https://codereview.chromium.org/1363913002
* SkInstallDiscardablePixelRef is deprecated, enforce thatGravatar reed2015-09-25
| | | | | | | | | No functionality change, just a renaming. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1372593002
* Revert[2] of add ImageShader, sharing code with its Bitmap cousinGravatar reed2015-09-25
| | | | | | | | | | | | Adjustment from previous land : runtime check for npot-support when texture is requested for tiling. (patchset #10 id:180001 of https://codereview.chromium.org/1342113002/ ) This reverts commit f2608513626264459a00388537175600b515cae2. BUG=skia:4365 Review URL: https://codereview.chromium.org/1352293002
* Eliminate some clutter in SkFlattenableGravatar mdempsky2015-09-24
| | | | | | | | | | | | | | | | | | | | | The Registrar class is unnecessary, as SkFlattenable factory registration is now handled via initialization routines that can just call the Register function directly. Also, no need to lazily initialize gCount to 0, as initializing an int to a constant value does not require dynamic initialization. (C++ actually guarantees zero initialization of global ints anyway, but existing practice in Skia appears to favor the explicit "= 0"). Relatedly, this requires removing the unused/unimplemented SkLayerDrawLooper::MyRegistrar class. And removing that allows Clang to realize that SkLayerDrawLooper::fTopRec is unneeded too, so remove that too to squelch the compiler warning/error. This doesn't change any public API. TBR=reed@google.com Review URL: https://codereview.chromium.org/1361323002
* SkPDF Implement colorfilters on bitmapsGravatar halcanary2015-09-24
| | | | | | BUG=484583 Review URL: https://codereview.chromium.org/1367993002
* Remove SkImage::newImage()Gravatar fmalita2015-09-24
| | | | | | | | All clients converted to newSubset(). R=reed@google.com Review URL: https://codereview.chromium.org/1364263002
* Make mutex semaphore based.Gravatar herb2015-09-24
| | | | | | | | | | | | This implementation improves performance of SkMutex acquire / release pair from 42ns -> 13 ns. SkSharedMutex and SkSpinlock have the same performance. It also removes specialized windows and linux/mac code. BUG=skia: Review URL: https://codereview.chromium.org/1359733002
* Make methods on GrGpuResource safe to call on abandoned resourceGravatar bsalomon2015-09-24
| | | | | | BUG=chromium:528908 Review URL: https://codereview.chromium.org/1367533004
* Fix GrDrawVerticesBatch to work with override colors and eliminate local ↵Gravatar bsalomon2015-09-24
| | | | | | coords when posssible. Review URL: https://codereview.chromium.org/1365673003
* Improve debugger's visualization of transparent texturesGravatar robertphillips2015-09-24
| | | | Review URL: https://codereview.chromium.org/1362693003
* Mangle output var in GrGLFragmentProcessor::emitChildGravatar bsalomon2015-09-24
| | | | | | R=joshualitt@google.com Review URL: https://codereview.chromium.org/1362873002
* remove unused (by the outside) SkImage::newSurface, and simplify newImage -> ↵Gravatar reed2015-09-24
| | | | | | | | newSubset BUG=skia: Review URL: https://codereview.chromium.org/1364443002
* Revert "Revert of remove unused SkCachingPixelRef (patchset #1 id:1 of ↵Gravatar reed2015-09-24
| | | | | | | | | | | | | https://codereview.chromium.org/1364743002/ )" removed test for unsupported SkInstallDiscardable... This reverts commit 60c73d51808b9d78f65381b83f628a3f523042fe. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1369443002
* Avoid last param to CTFontCreateWithGraphicsFont.Gravatar bungeman2015-09-23
| | | | | | | | | | | | | | | The last parameter of CTFontCreateWithGraphicsFont (CTFontDescriptorRef attributes) *must* be nullptr. If non-nullptr then with fonts with variation axes, the copy will fail in CGFontVariationFromDictCallback when it assumes kCGFontVariationAxisName is CFNumberRef which it quite obviously is not. TBR=reed@google.com Blocking dev builds, just removes code. BUG=chromium:535109 Review URL: https://codereview.chromium.org/1362053003
* SkPDF: add basic metadata supportGravatar halcanary2015-09-23
| | | | | | | | | Motivation: I want too finalize this API before working on the more complex problem of adding XMP metadata for PDF/A. BUG=skia:3110 Review URL: https://codereview.chromium.org/1359943003
* Revert of remove unused SkCachingPixelRef (patchset #1 id:1 of ↵Gravatar benjaminwagner2015-09-23
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1364743002/ ) Reason for revert: Build failure: https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-Arm7-Debug-Android_FrameworkDefs/builds/1146 Original issue's description: > remove unused SkCachingPixelRef > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/70d58b7da535e32bcac35739d11ab8367e99f224 TBR=halcanary@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1359393004
* remove unused SkCachingPixelRefGravatar reed2015-09-23
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1364743002
* skia: Add support for ANGLE on linuxGravatar hendrikw2015-09-23
| | | | | | | This will allow the ANGLE guys to test the ANGLE gl backend with nanobench and DM Review URL: https://codereview.chromium.org/1343193005
* Move determiniation of strokerect rects internalGravatar joshualitt2015-09-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1345853005
* Stop supporting HW ditherGravatar bsalomon2015-09-22
| | | | Review URL: https://codereview.chromium.org/1359833004
* Small cleanups to SkSmallAllocatorGravatar mdempsky2015-09-22
| | | | | | | | - Add missing #include <new>. - Simplify createT functions with C++11 variadic templates. - Change destroyT helper function into a private static function. Review URL: https://codereview.chromium.org/1359853002
* Fix for degenerate stroke rectGravatar joshualitt2015-09-22
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/511684fb52f20862f8552f5009390ff3987b08d8 Review URL: https://codereview.chromium.org/1359453002
* Prefer dual source/framebuffer fetch paths for GPU LCD.Gravatar egdaniel2015-09-22
| | | | | | | | This will allow us to batch over color changes for LCD text. BUG=skia: Review URL: https://codereview.chromium.org/1354423002
* Avoid CTFontCreateCopyWithAttributes.Gravatar bungeman2015-09-22
| | | | | | | | | | | | | | It appears that CTFontCreateCopyWithAttributes and CTFontCreateCopyWithSymbolicTraits share similar issues with the default font on OSX10.10. CTFontCreateWithFontDescriptor cannot be used as it will not work with webfonts. Since this is all low-level use, create the CTFonts from the underlying CGFonts directly. BUG=chromium:524646 Committed: https://skia.googlesource.com/skia/+/d3296717b9d0930237be3502b82ab94d0b4d177f Review URL: https://codereview.chromium.org/1344213004
* Revert of Fix for degenerate stroke rect (patchset #7 id:110001 of ↵Gravatar joshualitt2015-09-22
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1359453002/ ) Reason for revert: breaking bots Original issue's description: > Fix for degenerate stroke rect > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/511684fb52f20862f8552f5009390ff3987b08d8 TBR=robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1356223003
* Fix for degenerate stroke rectGravatar joshualitt2015-09-22
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1359453002
* Move GrFragmentProcessor implementation to its own cpp fileGravatar bsalomon2015-09-22
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1350523004
* fix factory countGravatar Brian Salomon2015-09-22
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/1357773003 .
* Replace GrExtractAlphaFragmentProcessor with DstIn compose processorGravatar bsalomon2015-09-22
| | | | Review URL: https://codereview.chromium.org/1347943003
* Remove SkNEW and SkDELETE macrosGravatar mdempsky2015-09-22
| | | | | | | | | | | | | | | This CL removes the uses of SkNEW that have resprouted since commit 385fe4d, and removes the macros entirely now that Android and Chromium have been cleaned up to no longer depend on them. A bunch of files implicitly depend on #include <new> from SkPostConfig.h still though, so keep that for now. To be fixed in a followup CL. [mtklein mucking around] Only public API removed. TBR=reed@google.com Review URL: https://codereview.chromium.org/1360653004
* SkTLList throw on sk_malloc failGravatar halcanary2015-09-21
| | | | | | BUG=530758 Review URL: https://codereview.chromium.org/1345373006
* Revert of Avoid CTFontCreateCopyWithAttributes. (patchset #4 id:60001 of ↵Gravatar bungeman2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1344213004/ ) Reason for revert: Causes issues with synthetic bold italic on all versions of OSX, with OSX10.10 resulting in many measurement related changes (this is expected though). fast/text/atsui-multiple-renderers.html fast/css/font-face-synthetic-bold-italic.html https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_9__retina_/6168/layout-test-results/results.html https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Mac10_10/4525/layout-test-results/results.html Original issue's description: > Avoid CTFontCreateCopyWithAttributes. > > It appears that CTFontCreateCopyWithAttributes and > CTFontCreateCopyWithSymbolicTraits share similar issues with the default > font on OSX10.10. CTFontCreateWithFontDescriptor cannot be used as > it will not work with webfonts. Since this is all low-level use, create the > CTFonts from the underlying CGFonts directly. > > BUG=chromium:524646 > > Committed: https://skia.googlesource.com/skia/+/d3296717b9d0930237be3502b82ab94d0b4d177f TBR=erikchen@chromium.org,mtklein@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524646 Review URL: https://codereview.chromium.org/1354323002
* Avoid CTFontCreateCopyWithAttributes.Gravatar bungeman2015-09-18
| | | | | | | | | | | | It appears that CTFontCreateCopyWithAttributes and CTFontCreateCopyWithSymbolicTraits share similar issues with the default font on OSX10.10. CTFontCreateWithFontDescriptor cannot be used as it will not work with webfonts. Since this is all low-level use, create the CTFonts from the underlying CGFonts directly. BUG=chromium:524646 Review URL: https://codereview.chromium.org/1344213004
* Create append methods in batch namespacesGravatar joshualitt2015-09-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1353553002
* Fix for combining with perspective local rectsGravatar joshualitt2015-09-18
| | | | | | | TBR=robertphillips@google.com BUG=skia: Review URL: https://codereview.chromium.org/1347913004
* Disable dithering in libjpeg-turbo for 565 decodesGravatar msarett2015-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libjpeg-turbo turns on dithering by default. When we decode to RGBA, it uses Floyd-Steinberg dithering - consistent with the libjpeg6b gold standard, When we decode to 565, it uses ordered dithering. Ordered dithering for 565 is not part of the 6b standard (libjpeg6b doesn't even support 565) and is causing us a number of issues: (1) Ordered dithering + nearest neighbor sampling is causing checkerboard visual artifacts in some outputs. (2) The ordered dither function in libjpeg-turbo actually behaves differently depending on the alignment of the memory that it decodes into. This means that two image decodes that should be identical may look different just because they decode into different memory blocks. This was causing some diffs on Gold with the scanline_subset test that were causing me some confusion. (3) Maybe not the best evidence, but visually I can't tell a difference with and without dithering (except when nearest neighbor scaling causes the checkerboard artifact). (4) Turning off dithering should be a more significant performance improvement than you might expect. libjpeg-turbo has SIMD color conversions to 565, but when dithering is on, it defaults to scalar code. This CL should make every jpeg decode to 565 on Gold look slightly different. Yay! BUG=skia: Review URL: https://codereview.chromium.org/1349563007
* Use rounding when converting desiredScale to a sampleSizeGravatar msarett2015-09-18
| | | | | | | | | | | | | | | | | | | | | Right now we have a bug in Gold where some images are labeled _0.167 and others are labeled _0.166. They are all 1/6 scales and should be labeled the same way and compared. The fix involves changing 0.166 to 0.167 in the list of scales that we test on, but SkScaledCodec does not scale to 0.167 as I expected. SkScaledCodec converts 0.167 to sampleSize = 5.999 and then casts to sampleSize = 5. I would argue that we should do a true round, so 0.167 represents a sampleSize of 6. In general, this CL change onGetScaledDimensions so that we now round desiredScale to the nearest sampleSize. BUG=skia: Review URL: https://codereview.chromium.org/1356923002