aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Add processor name to comment when printing out shaders.Gravatar egdaniel2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/735153002
* add roundOut that returns its resultGravatar reed2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/742663002
* change roundOut() to take a dst, so we can use that signature to return IRectGravatar reed2014-11-18
| | | | | | | BUG=skia: TBR=robertphilips Review URL: https://codereview.chromium.org/731373003
* drawinfo carries bufferinfoGravatar joshualitt2014-11-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/737723003
* wip for drawablesGravatar reed2014-11-18
| | | | | | | | | | | | Idea: 1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list. 2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc) 3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture. Review URL: https://codereview.chromium.org/727363003
* fix for use of uninit variableGravatar joshualitt2014-11-18
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/740463002
* SkVarAlloc::approxBytesAllocated()Gravatar mtklein2014-11-18
| | | | | | | | | | | | This is what I was getting at on the other CL. BUG=skia: Committed: https://skia.googlesource.com/skia/+/f27f1bcce50c8f95aea8469684a70b70c9baee09 CQ_EXTRA_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Release-Trybot Review URL: https://codereview.chromium.org/730193003
* Prune SkRTreeGravatar mtklein2014-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Propagate a bunch of constant parameters through. - Delete code that's not used when bulk loading. - Allocate all Nodes together. - Stay in SkRect. Doing a single malloc for the nodes can't not have improved memory usage. Looks like this might improve record performance ~5%, probably mostly from staying in SkRects. This finally dethrones building the BBH as the hot spot. (Now it's mapping user bounds back to device bounds and adjusting for paints.) Recording time changes from my MBP: desk_rectangletransition.skp 11.5us -> 11.7us 1x desk_forecastio.skp 115us -> 114us 0.98x desk_booking.skp 550us -> 541us 0.98x tabl_mercurynews.skp 176us -> 173us 0.98x tabl_hsfi.skp 294us -> 287us 0.98x desk_wordpress.skp 351us -> 343us 0.98x tabl_worldjournal.skp 439us -> 426us 0.97x tabl_gmail.skp 20.3us -> 19.7us 0.97x desk_youtubetvvideo.skp 10.8us -> 10.4us 0.97x desk_googleplus.skp 1.1ms -> 1.07ms 0.97x tabl_slashdot.skp 106us -> 103us 0.97x desk_jsfiddlebigcar.skp 26.7us -> 25.7us 0.96x tabl_techmeme.skp 95.4us -> 91.7us 0.96x tabl_deviantart.skp 133us -> 127us 0.96x desk_pinterest.skp 40.6us -> 38.9us 0.96x desk_carsvg.skp 195us -> 187us 0.96x tabl_engadget.skp 376us -> 359us 0.96x tabl_sahadan.skp 60.5us -> 57.5us 0.95x tabl_culturalsolutions.skp 255us -> 242us 0.95x tabl_gspro.skp 58.3us -> 55.5us 0.95x desk_linkedin.skp 146us -> 138us 0.94x desk_ebay.skp 192us -> 181us 0.94x tabl_cnn.skp 467us -> 440us 0.94x desk_jsfiddlehumperclip.skp 29.9us -> 28.1us 0.94x desk_tigersvg.skp 43.2us -> 40.5us 0.94x desk_yahooanswers.skp 131us -> 123us 0.94x desk_googlespreadsheetdashed.skp 1.18ms -> 1.11ms 0.94x desk_blogger.skp 193us -> 181us 0.94x tabl_mozilla.skp 1.82ms -> 1.7ms 0.94x tabl_mlb.skp 145us -> 136us 0.93x mobi_wikipedia.skp 577us -> 539us 0.93x tabl_frantzen.skp 54.1us -> 50.4us 0.93x desk_baidu.skp 87.9us -> 81.9us 0.93x desk_techcrunch.skp 224us -> 209us 0.93x desk_sfgate.skp 206us -> 192us 0.93x tabl_ukwsj.skp 269us -> 250us 0.93x desk_facebook.skp 316us -> 293us 0.93x desk_gmailthread.skp 205us -> 190us 0.93x tabl_googlecalendar.skp 158us -> 147us 0.93x tabl_digg.skp 382us -> 354us 0.93x desk_amazon.skp 106us -> 98.5us 0.93x tabl_androidpolice.skp 693us -> 642us 0.93x tabl_nytimes.skp 206us -> 191us 0.92x desk_gws.skp 124us -> 114us 0.92x desk_youtube.skp 255us -> 235us 0.92x tabl_cuteoverload.skp 583us -> 537us 0.92x desk_oldinboxapp.skp 18us -> 16.6us 0.92x desk_mobilenews.skp 297us -> 273us 0.92x tabl_pravda.skp 168us -> 154us 0.92x tabl_vnexpress.skp 236us -> 217us 0.92x desk_css3gradients.skp 202us -> 185us 0.92x tabl_gamedeksiam.skp 508us -> 464us 0.91x desk_wowwiki.skp 1.02ms -> 929us 0.91x desk_espn.skp 209us -> 191us 0.91x desk_chalkboard.skp 315us -> 284us 0.9x desk_mapsvg.skp 607us -> 543us 0.89x desk_pokemonwiki.skp 5.18ms -> 4.62ms 0.89x desk_samoasvg.skp 335us -> 298us 0.89x desk_youtubetvbrowse.skp 10.1us -> 8.59us 0.85x BUG=skia:3085, skia:2834 Review URL: https://codereview.chromium.org/734723002
* Revert of SkVarAlloc::approxBytesAllocated (patchset #5 id:80001 of ↵Gravatar mtklein2014-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/730193003/) Reason for revert: Android needs dlmalloc_usable_size(). Original issue's description: > SkVarAlloc::approxBytesAllocated() > > This is what I was getting at on the other CL. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/f27f1bcce50c8f95aea8469684a70b70c9baee09 > > CQ_EXTRA_TRYBOTS=Test-Android-Nexus5-Adreno330-Arm7-Release-Trybot TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/741443002
* minor cleanup in GrGpu.hGravatar bsalomon2014-11-18
| | | | Review URL: https://codereview.chromium.org/731073003
* SkVarAlloc::approxBytesAllocated()Gravatar mtklein2014-11-18
| | | | | | | | This is what I was getting at on the other CL. BUG=skia: Review URL: https://codereview.chromium.org/730193003
* don't normalize after perspective concatGravatar reed2014-11-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/734513004
* Remove unused NVPR related GL tokensGravatar kkinnunen2014-11-18
| | | | | | | | | | | | | | Remove unused NVPR related GL tokens. Also replace GR_GL_PATH_INITIAL_END_CAP and GR_GL_PATH_TERMINAL_END_CAP with a single call setting GR_GL_PATH_END_CAPS. Skia does not and probably will not have different initial and terminal caps. This came up in the review of command buffer implementation of the extension. If more NVPR features will be used, the respective tokens can be added back per implemented feature. Review URL: https://codereview.chromium.org/723453002
* Drawstate on stackGravatar joshualitt2014-11-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/732693002
* Reduce the amount of validation in GrResourceCache2Gravatar bsalomon2014-11-17
| | | | | | BUG=chromium:433711 Review URL: https://codereview.chromium.org/737533002
* Fix yet another convexicator issueGravatar robertphillips2014-11-17
| | | | | | | | | | | | | | | | This CL fixes the case where a bad initial vector (i.e., nearly zero) managed to short circuit all of the convexicator's logic. The initial bad vector would become the last vector and then never get displaced. The history of this is: https://codereview.chromium.org/298973004/ Switched the convexicator to not advance the last vector when the cross product wasn't significant https://codereview.chromium.org/573763002/ Fixed a bug (crbug.com/412640) wherein a zero area path was being incorrectly categorized as convex b.c. opposite but equal vectors were not signaling concavity. BUG=433683 Review URL: https://codereview.chromium.org/727283003
* Allow GPU resources to not be counted against the cache budget.Gravatar bsalomon2014-11-17
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/721353002
* Make BBH parameter to SkRecordComputeLayers and SkRecordFillBounds optionalGravatar robertphillips2014-11-17
| | | | | | | | | | Chromium creates a picture to contain their picture pile in order to use MultiPictureDraw. They currently do not create a bounding box for that picture but I still need layer information for it. This change allows Chromium to continue without a BBH but still have layer information. In the future, the brute force BBH might be suitable for their use case. Please see gpu_raster_worker_pool.cc in (Add flag to beginRecording to request saveLayer information - https://codereview.chromium.org/721883002/) for where this is happening in Chromium. Review URL: https://codereview.chromium.org/733963004
* Use DrawStates ProcOptInfo when creating the Optimized Draw State.Gravatar egdaniel2014-11-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/726693002
* Correct accounting for wrapped resourcesGravatar bsalomon2014-11-17
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/720033004
* More SkPicture cleanupGravatar mtklein2014-11-17
| | | | | | | | | | | | | | | | - move field declarations together and pack them a little tighter - get rid of fData - remove dead code in debugger, including unused SkPicturePlayback subclass There are now no more long-lived SkPictureData! (Really, there never were, but now we don't pretend to support them.) BUG=skia: No API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/725143002
* Revert "move SkPDFD*.h from include to src"Gravatar Greg Humphreys2014-11-17
| | | | | | | | | | This reverts commit 693024300f79ff3fb497ddee1043b609ddf521a4. was breaking canary build BUG=skia: Review URL: https://codereview.chromium.org/731173002
* move SkPDFD*.h from include to srcGravatar halcanary2014-11-17
| | | | | | BUG=278148 Review URL: https://codereview.chromium.org/727343002
* separate c headersGravatar reed2014-11-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/728323002
* Added missing validationGravatar sugoi2014-11-17
| | | | | | BUG=433359 Review URL: https://codereview.chromium.org/729583002
* Push creation of default GP to the callerGravatar joshualitt2014-11-14
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/715903002
* Guard high water cache stats vars by GR_CACHE_STATSGravatar bsalomon2014-11-14
| | | | | | | TBR=halcanary@google.com NOTRY=true Review URL: https://codereview.chromium.org/729753003
* Make GrResourceCache2 responsible for calling release, abandon, and ~.Gravatar bsalomon2014-11-14
| | | | | | | | | | BUG=skia:2889 TBR=robertphillips@google.com NOTRY=true Review URL: https://codereview.chromium.org/729683002
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 Review URL: https://codereview.chromium.org/716143004
* Fix ref-cnting bug in GrContext::readRenderTargetPixelsGravatar bsalomon2014-11-14
| | | | | | | TBR=egdaniel@google.com NOTRY=true Review URL: https://codereview.chromium.org/732713002
* Enforce pure virtual behavior for onMatchFamilyStyleCharacterGravatar djsollen2014-11-14
| | | | | | | | | All impls that previously did not define the functions have been updated to return NULL. NOTRY=true Review URL: https://codereview.chromium.org/728873002
* Don't pass null to memcmp.Gravatar mtklein2014-11-14
| | | | | | | | | | | | This will allow us to add nonnull-attribute to the UBSAN bot. We are in fact hitting a case where one of the arguments is null and the other not, which seems dicey. I think the scenario is comparing the empty pathref with another path ref that's just been COWed, without any verbs or points yet. BUG=skia: Review URL: https://codereview.chromium.org/732643002
* Optimize SkAlphaMulQ_SSE2Gravatar qiankun.miao2014-11-14
| | | | | | | | | These two mask clear are useless, because _mm_srli_epi16 fills high byte of each word with 0. BUG=skia: Review URL: https://codereview.chromium.org/724333003
* Move WGL header from include to srcGravatar djsollen2014-11-14
| | | | | | NOTRY=true Review URL: https://codereview.chromium.org/728823002
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #7 ↵Gravatar bsalomon2014-11-14
| | | | | | | | | | | | | | | | | | | | | | | id:120001 of https://codereview.chromium.org/716143004/) Reason for revert: broken again Original issue's description: > Replace GrResourceCache with GrResourceCache2. > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 > > Committed: https://skia.googlesource.com/skia/+/407aa584d183c1bf314f5defd1cf0202e8a96c89 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/726913002
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-14
| | | | | | | | BUG=skia:2889 Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 Review URL: https://codereview.chromium.org/716143004
* Cleanup the XML directory in public includes.Gravatar djsollen2014-11-14
| | | | Review URL: https://codereview.chromium.org/722343002
* remove unused kLCD_MaskFormatGravatar reed2014-11-13
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/728673002
* Observe surface LCD settings in SkBaseDevice::drawTextBlob()Gravatar fmalita2014-11-13
| | | | | | | | | | | We're currently overwriting the paint LCD text flag based on the the run font data => this cancels any LCD filtering we might have performed higher up the stack. BUG=423362 R=reed@google.com Review URL: https://codereview.chromium.org/718913003
* Cap SkVarAlloc's desired block at 64K.Gravatar mtklein2014-11-13
| | | | | | | | | | | This means we can store fLgMinSize in 4 bits (TBD). Local perf comparison calls this harmless-to-slightly-helpful. Nothing to get excited about, but seems to certainly not harm perf. BUG=skia: Review URL: https://codereview.chromium.org/722293003
* Revert of Replace GrResourceCache with GrResourceCache2. (patchset #6 ↵Gravatar bsalomon2014-11-13
| | | | | | | | | | | | | | | | | | | | | id:100001 of https://codereview.chromium.org/716143004/) Reason for revert: Breaking stuff Original issue's description: > Replace GrResourceCache with GrResourceCache2. > > BUG=skia:2889 > > Committed: https://skia.googlesource.com/skia/+/66a450f21a3da174b7eed89a1d5fc8591e8b6ee6 TBR=robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia:2889 Review URL: https://codereview.chromium.org/715333003
* Replace GrResourceCache with GrResourceCache2.Gravatar bsalomon2014-11-13
| | | | | | BUG=skia:2889 Review URL: https://codereview.chromium.org/716143004
* Remove SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX.Gravatar bungeman2014-11-13
| | | | | | | | This define was added with "Always round text position correctly." 9447103029273a9f8dd7f5997e8af7a1e3ee7488 . The affected clients have been rebaselined and this is no longer defined anywhere. Review URL: https://codereview.chromium.org/722333002
* Cleanup public includes directory.Gravatar djsollen2014-11-13
| | | | | | | | | | | | | | | | | This CL updates various files in the includes directory to ensure that (1) they do not depend on headers in /src and (2) that they minimize their dependence on external headers. To ensure that we don't regress this behavior a new build target has been added to build a single cpp file that contains all* public includes and is compiled with only those directories in the include path. * The exception is those includes that depend on OS specific headers BUG=skia:2941 NOTRY=true Review URL: https://codereview.chromium.org/721903002
* Deparameterize SkVarAlloc.Gravatar mtklein2014-11-13
| | | | | | | | | | | | | | | | | | | | | | | | SkRecord performance is not sensitive to these values, so we can cut some storage. This rearranges the space-remaining logic to use a count of bytes left rather than a pointer to the end, cutting memory usage a little more. An SkVarAlloc used to weigh 20 or 32 bytes which now becomes 16 or 24. I think if I think about it a bit more I can trim off that Block* too, getting us to 12 or 16 bytes. Because we now just always grow by doubling, this CL switches from storing fSmallest to its log base 2. This has the nice effect of never having to worry about it overflowing, and means we can probably squeeze it down into a byte if we want, even 6 bits. BUG=skia: Committed: https://skia.googlesource.com/skia/+/bc415389855888af5a1282ca4b6bee30afa3d69d CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot Review URL: https://codereview.chromium.org/721313002
* rename filterTextFlags to disableLCDGravatar reed2014-11-13
| | | | | | | | | | | | | Under the hood, add SkPixelGeometry to the CreateInfo for new devices, allowing them to see their geometry (SkDeviceProperties) up front, rather than having it changed later. The only exception is for devices that are used on the root-layer, where we don't see the device until after the fact (at least as long as we allow clients to attach a device to a canvas externally). We also filter the geometry when we're creating a layer, so we can disable LCD text automatically if the layer is not marked as opaque. NOTRY=True -- gammatext flake? Review URL: https://codereview.chromium.org/719253002
* Combine similar DrawPaths calls in GrInOrderDrawBufferGravatar cdalton2014-11-13
| | | | | | | | | | | | Combines adjacent DrawPaths commands into one single call when a conservative set of conditions are met. The end result is that whole paragraphs can be drawn with a single call to gliStencilThenCoverFillPathInstancedNV(), rather than one call for each line. BUG=skia: Review URL: https://codereview.chromium.org/712223002
* Revert of Deparameterize SkVarAlloc. (patchset #6 id:100001 of ↵Gravatar mtklein2014-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/721313002/) Reason for revert: Unit test failures on 32-bit machines. test Record_Alignment: ../../tests/RecordTest.cpp:100 is_aligned(record.alloc<uint64_t>()) Original issue's description: > Deparameterize SkVarAlloc. > > SkRecord performance is not sensitive to these values, so we can cut some > storage. This rearranges the space-remaining logic to use a count of bytes > left rather than a pointer to the end, cutting memory usage a little more. > > An SkVarAlloc used to weigh 20 or 32 bytes which now becomes 16 or 24. > > I think if I think about it a bit more I can trim off that Block* too, > getting us to 12 or 16 bytes. > > Because we now just always grow by doubling, this CL switches from storing > fSmallest to its log base 2. This has the nice effect of never having to worry > about it overflowing, and means we can probably squeeze it down into a byte > if we want, even 6 bits. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/bc415389855888af5a1282ca4b6bee30afa3d69d TBR=reed@google.com,mtklein@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/718203006
* Cleanup GrContextFactory and make it's subclasses privateGravatar djsollen2014-11-13
| | | | Review URL: https://codereview.chromium.org/723183002
* Add GrProcOptInfo class to track various output information for color and ↵Gravatar egdaniel2014-11-13
| | | | | | | | coverage stages. BUG=skia: Review URL: https://codereview.chromium.org/719203002