aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
Commit message (Collapse)AuthorAge
* Fix the race to set the new gen ID.Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | There's a small window where two threads can both see the gen ID is zero, both go get new distinct genIDs, but race to write them. This now uses compare_exchange to read and leave the winner's ID in place when there's a race. SkAtomics isn't public. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/956013002
* I'd really like to land this before the branch so speedy reviews are ↵Gravatar joshualitt2015-02-25
| | | | | | | | appreciated. BUG=skia: Review URL: https://codereview.chromium.org/936943002
* Steal a bit from the gen ID instead of managing two atomic values.Gravatar mtklein2015-02-25
| | | | | | | | | | | | This extra atomic bool is hard to think about, and I'm worried about how updates to fGenerationID and fUniqueGenerationID interlace. By storing them in the same int, they can't ever race. CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot BUG=skia: Review URL: https://codereview.chromium.org/955043002
* fuzzer fixesGravatar caryclark2015-02-25
| | | | | | | | | | | | | | | | | | | Fix path bugs exposed by the path fuzzer. Changes to existing gm and samplecode files defer their calls to construct SkPath objects until the first draw instead of at test initialization. Add an experimental call to SkPath to validate the internal SkPathRef. Fix SkPath::addPoly to set the last moveto after adding a close verb. Fix stroke to handle failures when computing the unit normal. Add a unit test for the unit normal failure. R=reed@google.com Review URL: https://codereview.chromium.org/953383002
* Revert of fAddedToCache doesn't need to be atomic. (patchset #1 id:1 of ↵Gravatar mtklein2015-02-25
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/960573002/) Reason for revert: Yes it does. notifyAddedToCache() must be thread-safe. Original issue's description: > fAddedToCache doesn't need to be atomic. > > It's only ever read or set from non-threadsafe methods. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/fbe0edfec4fed2a09e12b049d527d280f16e75b3 TBR=reed@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/959763002
* fAddedToCache doesn't need to be atomic.Gravatar mtklein2015-02-25
| | | | | | | | It's only ever read or set from non-threadsafe methods. BUG=skia: Review URL: https://codereview.chromium.org/960573002
* only notify bitmaps that have been added to the cacheGravatar reed2015-02-25
| | | | | | | | | | | | old code: - calls=2677 hit-rate=3.51139% new code: - calls=94 hit-rate=97.8723% BUG=skia: Review URL: https://codereview.chromium.org/960563002
* BUG=skia:Gravatar herb2015-02-25
| | | | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 Review URL: https://codereview.chromium.org/939123002
* SkTRacy<T> -> SkAtomic<T>Gravatar mtklein2015-02-24
| | | | | | | | | | | | | | | | | | | | Like SkTRacy<T>, TSAN will not complain about these. Unlike SkTRacy<T>, TSAN should not complain about these: SkAtomic<T> are threadsafe. This should fix the races now suppressed in TSAN. As written, the memory barriers we're using in SkPixelRef will be dumb but safe (really, dumbest possible but safest possible). If we see a perf hit, we can follow up by putting Ben and I in a room for a while, thinking about it really hard, and using the minimum-strength safe memory barriers. A refactor that steals a bit from the genID would also still be possible with this approach. BUG=chromium:437511 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot Review URL: https://codereview.chromium.org/955803002
* probable fix for asan botGravatar joshualitt2015-02-24
| | | | | | | | NOTREECHECKS=True TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/956583002
* Revert of Make fID and MixedID calculations private (patchset #5 id:80001 of ↵Gravatar scroggo2015-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/939123002/) Reason for revert: This actually *does* change the public API - fID is now private, and it was being used on Android. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantis-userdebug/1751533/5242b865d3e9bebc650c9b326dfa9d68c8bd1f59562bf32b85301fb984dc8b26/logs/build.log?Signature=Q0el9M4kTu1KQ8u02KX9TH1Pa22y9BkDK1IW%2B9OeJJNfrDEVzLXAz0XQ%2BHHQM8xVjft06jZJva1V8InZmgjcOk6PdZQbQW6XwwsHLKsbpbAE48iTWH3AlJAAoTtj9cifzgeHW8g80IcVxwHXmINRER%2BLPz3eHGisgfTTFUoWYCc%3D&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Expires=1424786471 : In file included from frameworks/base/libs/hwui/tests/../font/Font.cpp:26:0: external/skia/src/core/SkGlyph.h: In member function 'android::uirenderer::CachedGlyphInfo* android::uirenderer::Font::cacheGlyph(const SkPaint*, glyph_t, bool)': external/skia/src/core/SkGlyph.h:157:17: error: 'uint32_t SkGlyph::fID' is private uint32_t fID; ^ frameworks/base/libs/hwui/tests/../font/Font.cpp:482:39: error: within this context newGlyph->mGlyphIndex = skiaGlyph.fID; We need to update Android in order to hide fID. Original issue's description: > BUG=skia: > > (mtklein from here on) > No public API changes. > TBR=reed@google.com > > Committed: https://skia.googlesource.com/skia/+/f8d24e2c0c7b44b7ccf20e40890514db4cde7b15 TBR=mtklein@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/951353002
* BUG=skia:Gravatar herb2015-02-24
| | | | | | | | (mtklein from here on) No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/939123002
* Enable rect clipsGravatar joshualitt2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/951653002
* move static init to cpp file to fix linux builderGravatar joshualitt2015-02-23
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/947933004
* Revert of fix for linux builder warn on exit destructor (patchset #1 id:1 of ↵Gravatar joshualitt2015-02-23
| | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/951103002/) Reason for revert: still breaks Original issue's description: > fix for linux builder warn on exit destructor > > TBR=bsalomon@google.com > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/51fdb4f8f63b6bb13e719000381e225503a2d4a0 TBR=joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/955493003
* fix for linux builder warn on exit destructorGravatar joshualitt2015-02-23
| | | | | | | TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/951103002
* Move clip off of draw targetGravatar joshualitt2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/947443003
* SkStream: Add SkDynamicMemoryWStream::writeToStream(SkWStream*)Gravatar halcanary2015-02-23
| | | | Review URL: https://codereview.chromium.org/943423002
* Remove canApplyCoverage from XP and all related functions in gpu code.Gravatar egdaniel2015-02-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/919683002
* Remove EGL header from SkANGLELContext.hGravatar bsalomon2015-02-23
| | | | | | TBR=egdaniel@google.com Review URL: https://codereview.chromium.org/947263002
* Remove unnecessary include of gles2 header in SkANGLEGLContext.hGravatar bsalomon2015-02-23
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/949973002
* Dynamically create stencil buffer when needed.Gravatar bsalomon2015-02-23
| | | | Review URL: https://codereview.chromium.org/938383004
* Use D3D11 backend for ANGLE when available.Gravatar bsalomon2015-02-23
| | | | Review URL: https://codereview.chromium.org/954453002
* Remove SkFontHost includes and friends.Gravatar bungeman2015-02-23
| | | | | | | SkFontHost no longer exists as a class, so remove the includes and stop making it a friend. Review URL: https://codereview.chromium.org/943333004
* Remove SK_SUPPORT_LEGACY_GET_PIXELS_ENUM.Gravatar scroggo2015-02-23
| | | | | | | | | | | | | | SK_SUPPORT_LEGACY_GET_PIXELS_ENUM just set a \#define to convert onGetPixelsEnum to onGetPixels Now that Chrome has been updated to override onGetPixels, there is no need for the define. BUG=skia:3257 Review URL: https://codereview.chromium.org/933853004
* Swap render target instead of creating a new gpu device for surface ↵Gravatar kkinnunen2015-02-22
| | | | | | | | | | | | | | copy-on-write Swap render target of the gpu device instead of creating a new gpu device when making a copy-on-write upon surface modification. This removes the SkCanvas::setRootDevice which contains problematic code when trying to increase the use of SkImages internally in Skia. BUG=skia:3388 Review URL: https://codereview.chromium.org/925343002
* [SVGDevice] Text whitespace unittestGravatar fmalita2015-02-20
| | | | | | | | | | | Plumb SkDOM as needed to make it suitable for an SkXMLWriter backend. Also fix a potential null typeface issue in SkSVGDevice::AutoElement::addTextAttributes(). R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/940283002
* Make SkPixelRef::isLocked() debug-only, remove related dead code.Gravatar mtklein2015-02-20
| | | | | | | | | | DM's okay locally with no diffs, no failures. BUG=skia: Committed: https://skia.googlesource.com/skia/+/8e65712486c66108677a9b0a55ad3e7ca94db555 Review URL: https://codereview.chromium.org/940083002
* Enable override keyword for GCC versions >= 4.7Gravatar djsollen2015-02-20
| | | | Review URL: https://codereview.chromium.org/945803005
* Revert of Make SkPixelRef::isLocked() debug-only, remove related dead code. ↵Gravatar reed2015-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/940083002/) Reason for revert: Broke callers in chrome ../../skia/ext/platform_canvas_unittest.cc:421:56: error: no member named 'isLocked' in 'SkPixelRef' EXPECT_TRUE(platform_bitmap->GetBitmap().pixelRef()->isLocked()); Original issue's description: > Make SkPixelRef::isLocked() debug-only, remove related dead code. > > DM's okay locally with no diffs, no failures. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/8e65712486c66108677a9b0a55ad3e7ca94db555 TBR=reed@google.com,mtklein@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/940323003
* Remove unused parameters to SkDocument::CreatePDFGravatar halcanary2015-02-19
| | | | | | | | | | All image compression currently uses (losseless) Deflate, not Jpeg. All clients simply use SkDocument::CreatePDF(stream). SampleApp and SkLua still use SkDocument::CreatePDF(path). Review URL: https://codereview.chromium.org/935843007
* Make SkPixelRef::isLocked() debug-only, remove related dead code.Gravatar mtklein2015-02-19
| | | | | | | | DM's okay locally with no diffs, no failures. BUG=skia: Review URL: https://codereview.chromium.org/940083002
* Rename onGetPixelsEnum back to onGetPixels.Gravatar scroggo2015-02-19
| | | | | | | | | | | | | | | | Replace the old signature of onGetPixels (return bool) to return an enum (Result). Remove onGetPixelsEnum. Add a define for onGetPixelsEnum to onGetPixels. This is for staging in Chromium, where some implementations override onGetPixelsEnum. Add the define in skia_for_chromium_defines. Remove SK_SUPPORT_LEGACY_IMAGE_GENERATOR_RETURN, which is no longer needed by Chromium. BUG=skia:3257 Review URL: https://codereview.chromium.org/939113002
* Allow resources' unique keys to be changed.Gravatar bsalomon2015-02-19
| | | | Review URL: https://codereview.chromium.org/938943002
* move SkPDFD*.h from include to srcGravatar halcanary2015-02-19
| | | | | | CQ_INCLUDE_TRYBOTS=client.skia:Mac Builder-Trybot,Linux Builder-Trybot,Win Builder-Trybot Review URL: https://codereview.chromium.org/727343002
* Rename GrContentKey to GrUniqueKeyGravatar bsalomon2015-02-19
| | | | Review URL: https://codereview.chromium.org/940463006
* Avoid wrong memory access due to double substitution and %%Gravatar kkinnunen2015-02-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the form SkDebugf("%s", arbitraryString) instead of SkDebugf(arbitraryString). Fixes the case where SkString::appendf-ing a string with "%%" and then printing the string with SkDebugf would cause uninitialized read and corrupted debug print. ninja -C out/Debug tools && valgrind --leak-check=full ./out/Debug/render_pictures --config gpu -w q -r ... ... ==7307== Conditional jump or move depends on uninitialised value(s) ==7307== at 0x6908475: __printf_fp (printf_fp.c:1180) ==7307== by 0x6904267: vfprintf (vfprintf.c:1629) ==7307== by 0x6906E53: buffered_vfprintf (vfprintf.c:2313) ==7307== by 0x690188D: vfprintf (vfprintf.c:1316) ==7307== by 0x67E8F5: SkDebugf(char const*, ...) (SkDebug_stdio.cpp:18) ==7307== by 0x7983F1: GrContext::printCacheStats() const (GrTest.cpp:54) ==7307== by 0x408ECF: tool_main(int, char**) (render_pictures_main.cpp:480) ==7307== by 0x40913E: main (render_pictures_main.cpp:511) ==7307== Budget: 2048 items 100663296 bytes Entry Count: current 652 (651 budgeted, 0 wrapped, 297 locked, 638 scratch 32 0.000000ull), high 652 Entry Bytes: current 51087658 (budgeted 49826658, 49 0.000000ull, 1261000 unbudgeted) high 51087658 (observe "ull" instead of "% full") (from mtklein) This CL is not editing public API. TBR=reed@google.com Review URL: https://codereview.chromium.org/943453002
* Pass Rendertarget into context.Gravatar joshualitt2015-02-18
| | | | | | | | Adding Jim for text context stuff, and Steven for image blur stuff. BUG=skia: Review URL: https://codereview.chromium.org/939623005
* Use uint16s for texture coordinates when rendering text.Gravatar jvanverth2015-02-18
| | | | | | | | | Allows us to push more vertices into a given vertex buffer, with a slight performance improvement. Committed: https://skia.googlesource.com/skia/+/059034d252007d0dd86fff5ffdbb53cbcb10d34b Review URL: https://codereview.chromium.org/917373002
* Use SkAutoSTMalloc in GrResourceKeyGravatar bsalomon2015-02-18
| | | | | | TBR=robertphillips@google.com Review URL: https://codereview.chromium.org/935863003
* Expose method to retrieve CTFontGravatar dominik.rottsches2015-02-18
| | | | | | | BUG=skia:3351 R=bungeman@chromium.org Review URL: https://codereview.chromium.org/872963003
* Make SkImage::getTexture() constGravatar kkinnunen2015-02-18
| | | | | | | | | | | | | | | Make SkImage::getTexture() const. At the moment the function does not mutate the state. One use-case is that this makes it possible in the future to add draw function to SkBaseDevice functions. The device draw functions take const ref objects, but SkGpuDevice likely would benefit of using the getTexture(). BUG=skia:3388 R=reed@google.com Review URL: https://codereview.chromium.org/925853002
* Revert of Use uint16s for texture coordinates when rendering text. (patchset ↵Gravatar reed2015-02-17
| | | | | | | | | | | | | | | | | | | | | | | | #5 id:80001 of https://codereview.chromium.org/917373002/) Reason for revert: speculative revert for DEPS failures https://codereview.chromium.org/932973002/ Original issue's description: > Use uint16s for texture coordinates when rendering text. > > Allows us to push more vertices into a given vertex buffer, with > a slight performance improvement. > > Committed: https://skia.googlesource.com/skia/+/059034d252007d0dd86fff5ffdbb53cbcb10d34b TBR=joshualitt@google.com,robertphillips@google.com,bsalomon@google.com,reed@google.com,djsollen@google.com,jvanverth@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/920333003
* Use an array of nonpurgeable resources in GrResourceCacheGravatar bsalomon2015-02-17
| | | | Review URL: https://codereview.chromium.org/932863004
* SK_NO_FLATEGravatar mtklein2015-02-17
| | | | | | | | | | | Also remove skia_zlib_static. We're not using it. We don't even have zlib in DEPS. No public API changes. TBR=reed@google.com BUG=skia: Review URL: https://codereview.chromium.org/936583002
* Make GrResourceCache use a priority queue of purgeable resources.Gravatar bsalomon2015-02-17
| | | | Review URL: https://codereview.chromium.org/921323002
* add gm for path-arcs, and catch degenerate arc in conic-caseGravatar reed2015-02-17
| | | | | | BUG=skia:3428 Review URL: https://codereview.chromium.org/931183002
* Use dst copies in porter duffer XP to correctly render certain blends.Gravatar egdaniel2015-02-17
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/997c6358d94e188b1a7b89a4f86e24cbe0f5a164 Review URL: https://codereview.chromium.org/914003003
* use common impl for drawTextOnPathGravatar reed2015-02-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/925343003
* Use uint16s for texture coordinates when rendering text.Gravatar jvanverth2015-02-17
| | | | | | | Allows us to push more vertices into a given vertex buffer, with a slight performance improvement. Review URL: https://codereview.chromium.org/917373002