This CL clarifies what is going on in the GrDrawOpAtlas and GrAtlasGlyphCache.
For the GrDrawOpAtlas:
At creation time all the allowed pages are created (with their backing GrTextureProxies) but they aren't instantiated.
The GrDrawOpAtlas::instantiate call is called in preFlushCB and allocates any pages known to be needed at the start of flush
GrDrawOpAtlas::addToAtlas is called at flush time and, if a new page is activated, will instantiated it at that time.
During compaction, an unused page will be deInstantiated but its Plots and backing GrTextureProxy will remain alive.
The GrAtlasGlyphCache reflects the changes to the GrDrawOpAtlas
It now carries a GrProxyProvider for when it needs to create an atlas
It passes in a GrResourceProvider* at flush time to allow instantiation.
It does not, yet, allocate that GrDrawOpAtlases it might ever require.
Change-Id: I54909b7a3ba4bec2db5f1218f6a2a3a1636f66d6
Reviewed-on: https://skia-review.googlesource.com/108520
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Coordinates were not previously being mapped correctly from screen
coordinates to window coordinates.
Bug: skia:
Change-Id: Ie56ac3b42273aede6f97ee6f83ac9766020510ea
Reviewed-on: https://skia-review.googlesource.com/109109
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This is calved off from https://skia-review.googlesource.com/c/skia/+/108001 (Fission GrAtlasGlyphCache in two)
In the DDL world, the GrAtlasTextStrikes can outlive their generating GrAtlasGlyphCache.
Change-Id: I52b01d3934b0651a58a59b12dcc4c98ffbb891a9
Reviewed-on: https://skia-review.googlesource.com/109061
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
The allocations implied by the larger sizes can exhaust the 32-bit
virtual address space, even if we don't touch the bytes to page them in.
Add a 1<<18 test case to make sure we always test something outside
16-bit sizes, even on 32-bit bots.
Bug: skia:7614
Change-Id: I6bae930e89bd969931f478a8896f07451f7af595
Reviewed-on: https://skia-review.googlesource.com/108602
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
We want to togle inval display on click, but if we always consume the
event we disable pan/zoom in viewer.
TBR=
Change-Id: I1f785883252c4f4a09fd35d4a05485849bf7e8ef
Reviewed-on: https://skia-review.googlesource.com/109084
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
https://skia.googlesource.com/skcms/+log/c011873700a6..a08b368a683d
$ git log c01187370..a08b368a6 --date=short --no-merges --format='%ad %ae %s'
2018-02-21 mtklein the more complex linear transfer function is fine now
Created with:
roll-dep skia/third_party/externals/skcms
The AutoRoll server is located here: https://skcms-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
TBR=djsollen@google.com
Change-Id: Ibef014efcd4dfa26e5a4a23c729b28ec60aca667
Reviewed-on: https://skia-review.googlesource.com/109043
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Change-Id: Id366b644576c6e4763c0c081b6a6b40f4e930df7
Reviewed-on: https://skia-review.googlesource.com/109024
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: 811095
Change-Id: I09a55622a19ebfc9430d7676eb8764c074f1bcb7
Reviewed-on: https://skia-review.googlesource.com/109022
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
This moves DMFontMgr and several related files which are tightly related
to fonts into tools/fonts, moves some flags around to prevent
duplication, and adds the nativeFonts handling to Viewer.
Change-Id: Id1bdad708a6b74319ac5ac9adfe21025db4ca0b2
Reviewed-on: https://skia-review.googlesource.com/108904
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
https://skia.googlesource.com/skcms/+log/fa14d14dea7d..481c6e1bcfef
$ git log fa14d14de..481c6e1bc --date=short --no-merges --format='%ad %ae %s'
2018-02-20 brianosman Add all unique profiles from Skia's test images
Created with:
roll-dep skia/third_party/externals/skcms
The AutoRoll server is located here: https://skcms-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
TBR=djsollen@google.com
Change-Id: Ia64d9e33096ca19a134e34ababdfb7fb0d518b26
Reviewed-on: https://skia-review.googlesource.com/108866
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Change-Id: I678358c176e318d89892ced5c76cd2662774a7d6
Reviewed-on: https://skia-review.googlesource.com/108566
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:
Change-Id: If8d2f46b8f27fefc3a0f983eb649654e0fb4afcb
Reviewed-on: https://skia-review.googlesource.com/108685
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Correct ScaleFontMetrics to scale all of the metrics. Also update the
test fonts, since they were created with the previously unscaled
metrics.
Fix the ascent, descent, and underline position for bitmap glyphs with
FreeType.
Change-Id: I8c2f6e9d6a7e86b0bb08dc619f62ffcce4ad2df2
Reviewed-on: https://skia-review.googlesource.com/108600
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
move the #Line directive to make bookmaker happy
Docs-Preview: https://skia.org/?cl=108740
Bug: skia:6898
Change-Id: I8b993bab6b4f69cc266941e281a00a945f32f25e
Reviewed-on: https://skia-review.googlesource.com/108740
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
This begins the journey towards using different types to refer to CPU data and GPU texture formats. This is one part of removing GrPixelConfig and more directly using GL/VK texture formats
GrColorType represents a particular layout of color/gray/alpha channels in CPU memory. It does not refer to texture formats or sRGB-encoding. It is basically SkColorType specialized to the GPU backend with some formats added and some removed.
Read/WritePixel interfaces use GrColorType to describe the CPU side of the transaction.
There's still a lot of punting to GrPixelConfig in API-specific code. There's a lot more to be done.
Bug: 6718
Bug: 7580
Change-Id: I8d813ae9a4416a06596f22a4b87da02091989718
Reviewed-on: https://skia-review.googlesource.com/107264
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
https://skia.googlesource.com/skcms/+log/08d4cf2b3965..fa14d14dea7d
$ git log 08d4cf2b3..fa14d14de --date=short --no-merges --format='%ad %ae %s'
2018-02-20 mtklein unify eval_tf() and skcms_TransferFunction_eval()
2018-02-20 mtklein Add an ARMv7 NEON+VFPv4 -O3 build
2018-02-20 mtklein handle integral powers in approx_powf() first
Created with:
roll-dep skia/third_party/externals/skcms
The AutoRoll server is located here: https://skcms-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
TBR=djsollen@google.com
Change-Id: I9c1063062d1a012679b6ddd5cf6a5368032f18e1
Reviewed-on: https://skia-review.googlesource.com/108681
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Florin pointed out docs that used SkPoint where
SkIPoint was intended. This was caused by the
original documentation guessing that 'points'
referred to one and not the other.
For now, use IPoint explicitly in the documentation
to get around this.
Docs-Preview: https://skia.org/?cl=108569
Bug: skia:6898
Change-Id: I12bac1d4cf82a614bee98895f12e4f99add2dbd7
Reviewed-on: https://skia-review.googlesource.com/108569
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Bug: skia:
Change-Id: Ib0e9ddb621056ddce2422b53f312ec42d4d7aa3c
Reviewed-on: https://skia-review.googlesource.com/107880
Commit-Queue: Stephan Altmueller <stephana@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ica00285d0071a31a09dc87d68d7ae7dfabab17b7
Reviewed-on: https://skia-review.googlesource.com/108522
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is a reland of 9d7a73527a.
Original change's description:
> remove third_party/etc1
>
> Nothing seems to reference it.
>
> Change-Id: Ib009a7dc33d31439b11588758015a07485f56eaa
> Reviewed-on: https://skia-review.googlesource.com/99861
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: I3a6428074896c7b3c80cb23db61f70d7cb0c785f
Reviewed-on: https://skia-review.googlesource.com/108460
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ie19f13877bf6828ab94ffbb20e6f74e0e376f6cb
Reviewed-on: https://skia-review.googlesource.com/107359
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Recent changes to generate tables of methods
require more parsing to figure things like
indention params for structs.
Fix other stuff that got broken since the last
time all includes were generated.
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: Icd6f5feb5324eb4e0feb307400aa53207109cb29
Reviewed-on: https://skia-review.googlesource.com/108182
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
Bug: skia:
NOTRY=true
Change-Id: I9b79044df1a265a086e77fbadcaab69bf86babe1
Reviewed-on: https://skia-review.googlesource.com/108521
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
https://skia.googlesource.com/skcms/+log/c9b7366e85cd..08d4cf2b3965
$ git log c9b7366e8..08d4cf2b3 --date=short --no-merges --format='%ad %ae %s'
2018-02-20 brianosman Change Curve back to skcms_Curve and accommodate MFT tables
Created with:
roll-dep skia/third_party/externals/skcms
The AutoRoll server is located here: https://skcms-skia-roll.skia.org
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.
TBR=djsollen@google.com
Change-Id: I499a7830d302318ee1da440d9f1a7329285918d3
Reviewed-on: https://skia-review.googlesource.com/108485
Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
This change also triggered a bunch of side changes thanks to WrappedProxyTest
fixing/improving how we handle wrapped proxies in genernal.
Bug: skia:
Change-Id: I743a458923cff1c2e947627d0e9154a4c808a668
Reviewed-on: https://skia-review.googlesource.com/108102
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Android media framework is expected to be run with the background
thread pool for handling binder RPC calls.
Test: skia_dm does not hang with heif files.
Bug: 65463215 Bug: 72869975
Change-Id: I2333d5a13d6145e9468464fa93807851e3a17bc8
Reviewed-on: https://skia-review.googlesource.com/108141
Reviewed-by: Chong Zhang <chz@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
also
Revert "Increase ninja thread count for Windows builds."
This reverts commit 98c4231592.
This reverts commit 50a808a518.
Bug: skia:
Change-Id: I7cc50b0bec6e1ad9f9d971a5c88c029488bb80ed
Reviewed-on: https://skia-review.googlesource.com/108504
Reviewed-by: Stephan Altmueller <stephana@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Stephan Altmueller <stephana@google.com>