aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* skia: Add support for CHROMIUM_image backed textures.Gravatar erikchen2016-02-05
| | | | | | | | | | | | | | | I created a new abstract base class TextureStorageAllocator that consumers of Skia can subclass and pass back to Skia. When a surface is created with a pointer to a TextureStorageAllocator, any textures it creates, or that are derived from the original surface, will allocate and deallocate storage using the methods on TextureStorageAllocator. BUG=https://code.google.com/p/chromium/issues/detail?id=579664 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002 Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55 Review URL: https://codereview.chromium.org/1623653002
* add kRGBA_F16_SkColorTypeGravatar reed2016-02-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666343002 Review URL: https://codereview.chromium.org/1666343002
* Add GL indirect drawing APIsGravatar cdalton2016-02-05
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666803002 Review URL: https://codereview.chromium.org/1666803002
* Add support for GL_EXT_raster_multisampleGravatar cdalton2016-02-05
| | | | | | | | | | | Updates the GrGLGpu to call glRasterSamplesEXT when multisample is enabled for a mixed sampled render target, but the stencil test is not active. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666563003 Review URL: https://codereview.chromium.org/1666563003
* Optimize the SkRawStream when the input is an asset streamGravatar yujieqin2016-02-05
| | | | | | | BUG=b/26841494 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1645963002 Review URL: https://codereview.chromium.org/1645963002
* Remove deferred clear from SkGpuDeviceGravatar bsalomon2016-02-05
| | | | | | | | | | | | | | | Add combining to GrClearBatch Fix issue with state tracking in GrGLGpu::createTestingOnlyBackendTexture Add tests for clearing GPU SkSurfaces and add tests for GrDrawContext::clear(). Add comment that SkCanvas::flush will resolve the RT in the GPU case. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658823002 Review URL: https://codereview.chromium.org/1658823002
* Last bit of GrGLSLFragmentProcessor-derived class cleanupGravatar robertphillips2016-02-05
| | | | | | | | I believe these are the last two that used the dispreferred constructor pattern. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667953005 Review URL: https://codereview.chromium.org/1667953005
* Move Google3-specific stack limitation logic to template classes.Gravatar benjaminwagner2016-02-05
| | | | | | | | | | | | | | | Remove #ifdefs in other files. Reapplies https://codereview.chromium.org/1656143003; removing the implicit constructors for GLPtr and GLPtrAlias resolves the build issue on Android. Also reverts https://codereview.chromium.org/1663013004 Does not change the public API. TBR=reed GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666203002 Review URL: https://codereview.chromium.org/1666203002
* Revert of skia: Add support for CHROMIUM_image backed textures. (patchset ↵Gravatar jcgregorio2016-02-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #14 id:260001 of https://codereview.chromium.org/1623653002/ ) Reason for revert: Seems to causing the DEPS roll to fail: https://codereview.chromium.org/1668293002/ Original issue's description: > skia: Add support for CHROMIUM_image backed textures. > > I created a new abstract base class TextureStorageAllocator that consumers of > Skia can subclass and pass back to Skia. When a surface is created with a > pointer to a TextureStorageAllocator, any textures it creates, or that are > derived from the original surface, will allocate and deallocate storage using > the methods on TextureStorageAllocator. > > BUG=https://code.google.com/p/chromium/issues/detail?id=579664 > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002 > > Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55 TBR=bsalomon@chromium.org,cblume@chromium.org,bsalomon@google.com,robertphillips@google.com,egdaniel@google.com,reed@google.com,erikchen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=https://code.google.com/p/chromium/issues/detail?id=579664 Review URL: https://codereview.chromium.org/1669213002
* Set sRGB flag for PNGs with an sRGB chunkGravatar msarett2016-02-04
| | | | | | | BUG=skia:3471 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667823004 Review URL: https://codereview.chromium.org/1667823004
* Fix memory leak in SkSpecialSurfaceGravatar robertphillips2016-02-04
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666373002 TBR=jcgregorio@google.com NOTRY=true Review URL: https://codereview.chromium.org/1666373002
* Add SkAutoPixmapStorage::detachPixelsAsData()Gravatar fmalita2016-02-04
| | | | | | | | | | Allows passing pixels ownership to clients. BUG=skia:4896 R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662353002 Review URL: https://codereview.chromium.org/1662353002
* skia: Add support for CHROMIUM_image backed textures.Gravatar erikchen2016-02-04
| | | | | | | | | | | | | I created a new abstract base class TextureStorageAllocator that consumers of Skia can subclass and pass back to Skia. When a surface is created with a pointer to a TextureStorageAllocator, any textures it creates, or that are derived from the original surface, will allocate and deallocate storage using the methods on TextureStorageAllocator. BUG=https://code.google.com/p/chromium/issues/detail?id=579664 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002 Review URL: https://codereview.chromium.org/1623653002
* extend compose-colorfilter to 4fGravatar reed2016-02-04
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664663003 Review URL: https://codereview.chromium.org/1664663003
* speculatively comment out chrome mac perf test crasherGravatar caryclark2016-02-04
| | | | | | | | | | | | | The Chrome Mac perf buildbot is mysteriously crashing. Maybe it's related to this line of code. Try taking it out to see if the crash goes away. R=bsalomon@google.com BUG=580313 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663673006 Review URL: https://codereview.chromium.org/1663673006
* Add SkSpecialImage & SkSpecialSurface classesGravatar robertphillips2016-02-04
| | | | | | | | Initial classes. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1579323002 Review URL: https://codereview.chromium.org/1579323002
* Don't print dialog box prior to crashing.Gravatar djsollen2016-02-04
| | | | | | | | | | This returns us to our previous behavior when we used 0xbbadbeef to cause the process to terminate. BUG=skia:4893 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667113002 Review URL: https://codereview.chromium.org/1667113002
* Next round of GrGLSLFragmentProcessor-derived class cleanupGravatar robertphillips2016-02-04
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661143003 Review URL: https://codereview.chromium.org/1661143003
* don't get dismayed by negative scales for HQGravatar reed2016-02-03
| | | | | | | | | needs https://codereview.chromium.org/1663793003/ to land first BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1668033002 Review URL: https://codereview.chromium.org/1668033002
* add note about security and new subclassesGravatar reed2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667663004 Review URL: https://codereview.chromium.org/1667663004
* Revert of Work around exasperating Google3 Android build error. (patchset #1 ↵Gravatar benjaminwagner2016-02-03
| | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1649493005/ ) Reason for revert: This workaround no longer seems to be necessary. Original issue's description: > Work around exasperating Google3 Android build error. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005 > > Committed: https://skia.googlesource.com/skia/+/900901fb1ba5170549670829fc8f9d9b590ff5f0 TBR=mtklein@google.com,reed@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=skia: Review URL: https://codereview.chromium.org/1669663003
* SSE optimizations for GrayAlpha -> RGBA/BGRA Premul/UnpremulGravatar msarett2016-02-03
| | | | | | | | | | | | | | | | | | Swizzle Runtime (Dell Venue 8) Unpremul 0.17x Premul 0.20x PNG Decode Runtime on GrayAlpha Encoded PNGs (Dell Venue 8) Unpremul Regular 0.91x Unpremul ZeroInit 0.92x Premul Regular 0.84x Premul ZeroInit 0.85x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666853002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1666853002
* Make SkImage::readYUV8Planes constGravatar Brian Salomon2016-02-03
| | | | | | | | | TBR=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660393003 BUG=skia: Review URL: https://codereview.chromium.org/1660393003 .
* Increase max vertex attrib count in GrPrimitiveProcessorGravatar cdalton2016-02-03
| | | | | | | | | | Increases the max vertex attrib count in GrPrimitiveProcessor from 6 to 8. This is the required minimum by ES 2.0 for GL_MAX_VERTEX_ATTRIBS. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663513004 Review URL: https://codereview.chromium.org/1663513004
* Fix assert accessing pipeline from initBatchTrackerGravatar cdalton2016-02-03
| | | | | | | | | | | Marks fPipelineInstalled as true before calling initBatchTracker. The batch subclass ought to be able to access the newly constructed pipeline object during its init. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666813002 Review URL: https://codereview.chromium.org/1666813002
* Fix bugs in SkBmpCodecGravatar msarett2016-02-03
| | | | | | | | | | | | | | | The decode should not depend on the requested alpha type. These were exposed by: https://codereview.chromium.org/1641273003 This should cause the number of untriaged images in Gold to go to zero. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663303002 Review URL: https://codereview.chromium.org/1663303002
* Clean up GrGLSLFragmentProcessor-derived classesGravatar robertphillips2016-02-03
| | | | | | | | In some other patches it was observed that many of the GrGLSLFragmentProcessor-derived classes needlessly pass a parameter to their constructors. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666773002 Review URL: https://codereview.chromium.org/1666773002
* Reduce stack usage for Google3.Gravatar benjaminwagner2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663013004 Review URL: https://codereview.chromium.org/1663013004
* NEON optimizations for GrayAlpha -> RGBA/BGRA Premul/UnpremulGravatar msarett2016-02-03
| | | | | | | | | | | | | | PNG Decode Time Nexus 6P (for a test set of GrayAlpha encoded PNGs) Regular Unpremul 0.91x Zero Init Unpremul 0.92x Regular Premul 0.84x Zero Init Premul 0.86x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663623002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1663623002
* Handle gray alpha conversions in SkSwizzlerGravatar msarett2016-02-03
| | | | | | | | | | | | | | | | | | | | | Nothing fancy here. By doing the entire conversion ourselves, we only need to make one conversion pass over each row. Additionally, we optimize the premultiply since we know each color component of the pixel is identical. This will also enable us to follow up with platform specific optimizations. PNG Decode Time Nexus 6P (for a test set of GrayAlpha encoded PNGs) Regular Unpremul 0.95x Zero Init Unpremul 0.94x Regular Premul 0.91x Zero Init Premul 0.90x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665583002 Review URL: https://codereview.chromium.org/1665583002
* Rename SkBitmapProcStateAutoMapper methodsGravatar fmalita2016-02-03
| | | | | | | | | | | | | | x(),y() -> fractionalIntX(), fractionalIntY() (to clarify the return type) Also add fixed & int helpers. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666433003 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1666433003
* use left-shift macro to fix/avoid undefined behvarior warningsGravatar reed2016-02-03
| | | | | | | | | motivated by https://codereview.chromium.org/1657333002/ BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661873003 Review URL: https://codereview.chromium.org/1661873003
* optimize src mode (opaque src in srcover) singleton with aa (e.g. a8 text mask)Gravatar reed2016-02-03
| | | | | | | | | | | | | | | Before: 8/8 MB 1 9.09ms 10.8ms 10.3ms 11.5ms 9% █▆▆▁▁▁▂▅█▆ nonrendering xfer4f_srcover_aa_1_opaque_linear 8/8 MB 1 10.2ms 12.1ms 11.7ms 13.2ms 9% ▅▇▁▂▁▄█▆▅▆ nonrendering xfer4f_srcover_aa_1_opaque_srgb After: 8/8 MB 1 1.6ms 1.68ms 1.73ms 2.17ms 10% ▄▄█▁▃▁▁▂▁▁ nonrendering xfer4f_srcover_aa_1_opaque_linear 8/8 MB 1 3.13ms 3.62ms 3.97ms 5.81ms 21% █▃▁▂▆▂▂▂▃▂ nonrendering xfer4f_srcover_aa_1_opaque_srgb BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664713003 Review URL: https://codereview.chromium.org/1664713003
* Make helper function on GrGLSLProgramDataManager non virtualGravatar egdaniel2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663833002 Review URL: https://codereview.chromium.org/1663833002
* extend gm to test aa[] parameter on xfer4f procsGravatar reed2016-02-03
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663643002 Review URL: https://codereview.chromium.org/1663643002
* Add gpu implementation of SkAvoidXfermodeGravatar robertphillips2016-02-03
| | | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 TBR=bsalomon@google.com Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f Review URL: https://codereview.chromium.org/1658623002
* Support decoding opaque to *premulGravatar scroggo2016-02-03
| | | | | | | | | | | | | | | | | | | | | | If a client requests unpremul or premul from an opaque SkCodec, support it. The opaque image can be treated as any of them, though it will be less efficient to draw than if the client had used opaque. Change the filling code (i.e. for incomplete images) to base its color on the source alpha type. Prior to adding the support to decode opaque to any, it was fine to use either source or dest (which would have yielded the same result). If the client requests non-opaque, we do not want this to switch the fill value from black to transparent. This also allows simplifying the signatures for getFillValue and onGetFillValue. In CodexTest, expect the same result when decoding opaque to *premul, and compare to the opaque version. BUG=skia:4616 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641273003 Review URL: https://codereview.chromium.org/1641273003
* Hack together MSAN build.Gravatar mtklein2016-02-03
| | | | | | | | | | | | | | | | | | | | | | - Build our own: freetype. - Avoid using: fontconfig, expat, GPU drivers. - Lie about safety: libjpeg (only from src/images... need to in src/codec?) To run: $ tools/xsan_build memory dm $ out/Debug/dm -v --match ~Codec ~BlurLargeImage ~FontMgrAndroidParser Notes: - Codec triggers issues in piex. - BlurLargeImage probably has bugs in the GM only. - FontMgrAndroidParser uses expat. BUG=skia:4550 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665823002 NOTREECHECKS=true Review URL: https://codereview.chromium.org/1665823002
* Add SkMSAN.hGravatar mtklein2016-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets us tag up pieces of code as requiring initialized inputs. Almost all code requires initialized inputs, of course. This is for code that works correctly with uninitialized data but triggers false positive warnings in MSAN. E.g., imagine MSAN's found use of uninitialized data in this max function: static uint8_t max(uint8_t x, uint8_t y) { return x > y ? x : y; } There's no bug in here... if there's uninitialized data being branched upon here for the first time, it's sure not max's fault, it's its caller's fault. So we might do this: static uint8_t max(uint8_t x, uint8_t y) { // This function uses branching, so if MSAN finds a problem here, // we can assert x and y are initialized. This will remind us the // problem somewhere in the caller or above, not here. sk_msan_assert_initialized(&x, &x+1); sk_masn_assert_initialized(&y, &y+1); return x > y ? x : y; } By allowing code to assert its inputs must be initialized, we can make the blame for use of uninitialized data more clear. (Sometimes we have another option, to rewrite the code to avoid branching: static uint8_t max(uint8_t x, uint8_t y) { // This function is branchfree, so MSAN won't complain here. // No real need to assert anything as requiring initialization. int diff = x - y; int negative = diff >> (sizeof(int)*8 - 1); return (y & negative) | (x & ~negative); } These approaches to fixing MSAN false positives are orthogonal.) BUG=chromium:574114 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658913005 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1658913005
* Add option to specify a font collection when creating aGravatar kulshin2016-02-03
| | | | | | | | | | | | DirectWrite font manager. The corresponding Chromium change can be found at https://codereview.chromium.org/1591883002/ . TBR=reed This is a trivial and long planned addition to the API. Review URL: https://codereview.chromium.org/1607083003
* Revert of Add gpu implementation of SkAvoidXfermode (patchset #10 id:170001 ↵Gravatar mtklein2016-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1658623002/ ) Reason for revert: shader compilation failures error C1008: undefined variable "null" https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/4064/steps/dm/logs/stdio Original issue's description: > Add gpu implementation of SkAvoidXfermode > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 > > TBR=bsalomon@google.com > > Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@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/1663093002
* Use SkBitmapProcStateAutoMapper for filter samplers alsoGravatar fmalita2016-02-03
| | | | | | | | | | | | | | | | | | | | | Observation: filter procs are also biased by s.fFilterOne{X,Y} / 2. They all do something along these lines: s.fInvProc(s.fInvMatrix, SkIntToScalar(x) + SK_ScalarHalf, SkIntToScalar(y) + SK_ScalarHalf, &srcPt); SkFixed fx = SkScalarToFixed(srcPt.fX) - (s.fFilterOneX >> 1); SkFixed fy = SkScalarToFixed(srcPt.fY) - (s.fFilterOneX >> 1); It's trivial to extend SkBitmapProcStateAutoMapper to handle this internally, and convert everyone off explicit mapping. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661613002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1661613002
* Add gpu implementation of SkAvoidXfermodeGravatar robertphillips2016-02-03
| | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002 TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/1658623002
* Templatize GrNonAtomicRefGravatar cdalton2016-02-02
| | | | | | | | | | | Templatizes GrNonAtomicRef so it does not necessarily require a virtual destructor. This also gives us the flexibility to specialize how different types get deleted. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664613002 Review URL: https://codereview.chromium.org/1664613002
* Fix for rounded-rect clips with filters.Gravatar senorblanco2016-02-02
| | | | | | | | | | | | Don't use the base canvas size to limit raster of complex clips, since the top canvas size may actually be larger (e.g., a blur filter which expands the clip bounds to accommodate filter margins). Use the top canvas bounds instead. BUG=skia:4879,471212 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657333002 Review URL: https://codereview.chromium.org/1657333002
* Revert of Move Google3-specific stack limitation logic to template classes. ↵Gravatar benjaminwagner2016-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | Remove #ifdefs in other files. (patchset #2 id:50001 of https://codereview.chromium.org/1656143003/ ) Reason for revert: See https://codereview.chromium.org/1665603002 Original issue's description: > Move Google3-specific stack limitation logic to template classes. Remove #ifdefs in other files. > > Does not change the public API. > > TBR=reed > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003 > > Committed: https://skia.googlesource.com/skia/+/c92159c8250c62cc47b7b63686538d61d54d2835 TBR=mtklein@google.com,reed@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/1666503002
* SSSE3 optimizations for gray -> RGBA (or BGRA)Gravatar msarett2016-02-02
| | | | | | | | | | | | | | | | Swizzle Bench Runtime Dell Venue 8 0.16x HP z620 0.47x PNG Decode Time (for test set of gray encoded PNGs) Dell Venue 8 0.80x HP z620 0.96x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1657393002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1657393002
* NEON optimizations for gray -> RGBA (or BGRA) conversionsGravatar msarett2016-02-02
| | | | | | | | | | | | | | | | Swizzle Bench Runtime Nexus 6P 0.32x Nexus 9 0.89x PNG Decode Time (for test set of gray encoded PNGs) Nexus 6P 0.88x Nexus 9 0.91x BUG=skia:4767 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656383002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review URL: https://codereview.chromium.org/1656383002
* Move Google3-specific stack limitation logic to template classes. Remove ↵Gravatar benjaminwagner2016-02-02
| | | | | | | | | | | #ifdefs in other files. Does not change the public API. TBR=reed GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1656143003 Review URL: https://codereview.chromium.org/1656143003
* unroll srcover_1 for blending a single colorGravatar reed2016-02-02
| | | | | | | | | | | | | | | | | Before: curr/maxrss loops min median mean max stddev samples config bench 8/8 MB 1 1.59ms 1.82ms 1.89ms 2.59ms 14% ▁█▃▃▃▃▃▃▃▃ nonrendering xfer4f_srcover_1_alpha_linear 8/8 MB 1 3.25ms 4.25ms 4.16ms 5.87ms 21% ▁▅▂▁▁▄█▄▅▂ nonrendering xfer4f_srcover_1_alpha_srgb After: curr/maxrss loops min median mean max stddev samples config bench 8/8 MB 1 915µs 915µs 946µs 1.02ms 4% █▄▇▁▁▁▆▁▁▁ nonrendering xfer4f_srcover_1_alpha_linear 8/8 MB 1 2.69ms 3.08ms 3.03ms 3.63ms 10% ▁▃▂▁▁█▄▄▄▆ nonrendering xfer4f_srcover_1_alpha_srgb BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1653943002 Review URL: https://codereview.chromium.org/1653943002