| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove dead code
- rewrite float -> int converters
The strategy for the new converters is:
- convert input to double
- floor/ceil/round in double space
- pin that double to [SK_MinS32, SK_MaxS32]
- truncate that double to int32_t
This simpler strategy does not work:
- floor/ceil/round in float space
- pin that float to [SK_MinS32, SK_MaxS32]
- truncate that float to int32_t
SK_MinS32 and SK_MaxS32 are not representable as floats:
they round to the nearest float, ±2^31, which makes the
pin insufficient for floats near SK_MinS32 (-2^31+1) or
SK_MaxS32 (+2^31-1).
float only has 24 bits of precision, and we need 31.
double can represent all integers up to 50-something bits.
An alternative is to pin in float to ±2147483520, the last
exactly representable float before SK_MaxS32 (127 too small).
Our tests test that we round as floor(x+0.5), which can
return different numbers than round(x) for negative x.
So this CL explicitly uses floor(x+0.5).
I've updated the tests with ±inf and ±NaN, and tried to
make them a little clearer, especially using SK_MinS32
instead of -SK_MaxS32.
I have not timed anything here. I have never seen any of these
methods in a profile.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2012333003
Review-Url: https://codereview.chromium.org/2012333003
|
|
|
|
|
|
|
|
|
|
|
| |
starting index.
These are tracked in SkPathRef.
Unit tests are updated to test that the returned values are correct.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2012233002
Review-Url: https://codereview.chromium.org/2012233002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2000713003
Review-Url: https://codereview.chromium.org/2000713003
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adobe reports some user crashes in acos(). While the cause is
unknown, it's safe and may help stability to pin the input
in case the arguments drifted slightly outside [-1, 1].
R=reed@google.com
BUG=skia:5222
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2006653006
Review-Url: https://codereview.chromium.org/2006653006
|
|
|
|
|
|
|
|
|
|
|
| |
out-params if they fail
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2012943003
TBR=
Review-Url: https://codereview.chromium.org/2012943003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order for this code to run, the gDefaultProfileIsSRGB flag needs to be true.
min base min exp percent name
5601856 4689911 0.837207 top25desk_espn.skp_1
3491515 3202806 0.917311 top25desk_facebook.skp_1
5110247 4865740 0.952154 top25desk_weather_com.skp_1
605445 585520 0.96709 top25desk_techcrunch_com.skp_1
1007151 986193 0.979191 top25desk_wikipedia__1_tab_.skp_1
5951286 5889979 0.989699 top25desk_sports_yahoo_com_.skp_1
2825583 2804853 0.992663 top25desk_plus_google_com_11003.skp_1
8839265 8823249 0.998188 top25desk_twitter.skp_1
4169125 4168882 0.999942 top25desk_docs___1_open_documen.skp_1
6615327 6620663 1.00081 top25desk_youtube_com.skp_1
4613903 4647583 1.0073 top25desk_wordpress.skp_1
2532280 2554154 1.00864 top25desk_ebay_com.skp_1
4015689 4063584 1.01193 top25desk_google_com__hl_en_q_b.skp_1
9427478 9579203 1.01609 top25desk_answers_yahoo_com.skp_1
7403901 7542770 1.01876 top25desk_booking_com.skp_1
12249953 12528353 1.02273 top25desk_google_com_search_q_c.skp_1
1078648 1111050 1.03004 top25desk_games_yahoo_com.skp_1
7232627 7481555 1.03442 top25desk_pinterest.skp_1
2996819 3112091 1.03846 top25desk_google_com_calendar_.skp_1
2181531 2271677 1.04132 top25desk_amazon_com.skp_1
925245 987545 1.06733 top25desk_blogger.skp_1
4143359 4442607 1.07222 top25desk_linkedin.skp_1
4370962 4744580 1.08548 top25desk_news_yahoo_com.skp_1
4284025 4735094 1.10529 top25desk_mail_google_com_mail_.skp_1
[mtklein] We measured the noise here to be [-5%, +8%], so most of these changes fall within the noise. We manually confirmed the two above that noise window (yahoo and mail) are also noise... srcover_srgb_srgb() did not figure prominently in their profiles. The espn and facebook improvements look real.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996683003
Review-Url: https://codereview.chromium.org/1996683003
|
|
|
|
|
|
|
|
|
|
|
| |
Add a clipPath heuristic to SkPathCounter, and extend
SkPictureGpuAnalyzer to support external clipPath() op accounting.
BUG=skia:5347
R=reed@google.com,mtklein@google.com,senorblanco@chromium.org,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2000423005
Review-Url: https://codereview.chromium.org/2000423005
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2001203003
Review-Url: https://codereview.chromium.org/2001203003
|
|
|
|
|
|
|
|
|
|
|
| |
The reasoning here is that resources with a unique key are never selected from fScratchMap and just clog up the search for an available resource.
This knocks a 200x loop over the SVGbouncingrects case from 264ms down to 164ms.
BUG=603969
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2008083002
Review-Url: https://codereview.chromium.org/2008083002
|
|
|
|
|
|
|
|
|
|
|
| |
***Move includes to the correct file
***Add "const"
***Use std::move for more efficient refs and unrefs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2005263002
Review-Url: https://codereview.chromium.org/2005263002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will allow me to test and visualize some assumptions
on parsing and applying color profiles. Also, it should
help me find and fix bugs.
This is certainly not an optimized implementation, and, as
far as I know, it doesn't take any shortcuts to improve
performance. We'll probably want to do both of these
once we know where it fits in the pipeline.
Right now this test is only run on an arbitrary set of ~100
images from the top 10k skps. I'll continue to add more
"interesting" images and probably tweak the code as
necessary.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1995233003
Review-Url: https://codereview.chromium.org/1995233003
|
|
|
|
|
|
|
|
|
| |
I've trimmed uniqueID for now, and added some comments.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1996973002
Review-Url: https://codereview.chromium.org/1996973002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1998793002
Review-Url: https://codereview.chromium.org/1998793002
|
|
|
|
|
|
|
|
| |
code.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1983353003
Review-Url: https://codereview.chromium.org/1983353003
|
|
|
|
|
|
|
|
|
|
| |
This mutex was added due to FontConfigTypeface::LegacyCreateTypeface
being non-thread safe. This method no longer exists and the logic was
moved to SkFontMgr_FCI::onLegacyCreateTypeface which has access to an
appropriate mutex ("Clean up SkFontConfigInterface implementation.",
0265707c191a31dfde08dd1cd7011c1fe5b8e643).
Review-Url: https://codereview.chromium.org/1994703003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1988023009
Review-Url: https://codereview.chromium.org/1988023009
|
|
|
|
|
|
|
|
|
| |
SkGlyphCache::Visit takes a descriptor and a typeface, but it is implied
that the fFontID in the descriptor is the id of the typeface. This seems
to be handled correctly by current callers but this is a subtle
requirement which if violated could lead to subtle bugs.
Review-Url: https://codereview.chromium.org/1992053002
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given a matrix and a clip bounds, offsets them to reflect the difference
between device coordinates and global coordinates. Useful when a client
wants an OS-specific backing for a canvas.
R=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1986383002
Review-Url: https://codereview.chromium.org/1986383002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972403002
Review-Url: https://codereview.chromium.org/1972403002
|
|
|
|
|
|
|
|
|
|
| |
Based on comments from:
https://codereview.chromium.org/1985903002/
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1986833002
Review-Url: https://codereview.chromium.org/1986833002
|
|
|
|
|
|
|
|
| |
TBR=borenet@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1990533002
Review-Url: https://codereview.chromium.org/1990533002
|
|
|
|
|
|
|
| |
BUG=chromium:608566
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1986253002
Review-Url: https://codereview.chromium.org/1986253002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gets us most of the way to having SkGpuDevice exclusively use a GrDrawContext instead of a GrRenderTarget. There are a few other refactorings (e.g., rm need for fLegacyBitmap and accessRenderTarget) before the GrRenderTarget can be completely removed.
Has calved off:
https://codereview.chromium.org/1925313002/ (Tighten up SkSpecialSurface factory functions)
https://codereview.chromium.org/1925803004/ (Add sk_sp to SkSurface_Gpu and SkGpuDevice)
https://codereview.chromium.org/1956473002/ (Retract GrRenderTarget a bit within SkGpuDevice)
https://codereview.chromium.org/1979913002/ (Rename GrDrawingMgr::abandon to wasAbandoned & add a matching entry point to GrDrawingContext)
https://codereview.chromium.org/1982583002/ (Add isUnifiedMultisampled entry point to GrDrawContext)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930013002
Review-Url: https://codereview.chromium.org/1930013002
|
|
|
|
|
|
|
|
|
| |
Moves implementation details into SkColorSpacePriv.h
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1985903002
Review-Url: https://codereview.chromium.org/1985903002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
id:20001 of https://codereview.chromium.org/1955063002/ )
Reason for revert:
TBR=brianosman@google.com
Original issue's description:
> Change to sRGB default for codec generated images.
>
> Compared the gm and skps for 8888 and srgb. There are no differences for 8888, there are 100 differences for sRGB, but the 100 look correct compared to the old ones.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955063002
>
> Committed: https://skia.googlesource.com/skia/+/7acc00853174361cf921ecac8fbeaf6812f53eed
TBR=brianosman@google.com,msarett@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review-Url: https://codereview.chromium.org/1982323002
|
|
|
|
|
|
|
|
|
| |
Compared the gm and skps for 8888 and srgb. There are no differences for 8888, there are 100 differences for sRGB, but the 100 look correct compared to the old ones.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955063002
Review-Url: https://codereview.chromium.org/1955063002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971203002
Review-Url: https://codereview.chromium.org/1971203002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stateful helper for gathering multi-picture GPU stats.
Exposes the existing SkPicture GPU veto semantics, while preserving
the SKP impl (which has some nice properties: lazy, hierarchical,
cached per pic).
R=reed@google.com,bsalomon@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974833003
Review-Url: https://codereview.chromium.org/1974833003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Converts GrClip to an abstract base class and adds a "GrFixedClip"
implementation. GrFixedClip denotes a clip implemented with fixed-
function hardware. GrFixedClip allows us to remove the stateful
"fClipMode" member from GrClipMaskManager, and in the future will
be able to nicely encapsulate window rectangles.
After this change GrClipMaskManager is just a wrapper around
GrDrawTarget. We may want to consider removing it altogether.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971343002
Review-Url: https://codereview.chromium.org/1971343002
|
|
|
|
|
|
|
|
|
|
|
| |
SkDiffs, but they seem to be due to better resolution.
This seems to fix all the bugs involved with make all the images produced by the codec to default to sRGB.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967283002
Review-Url: https://codereview.chromium.org/1967283002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1975883003
Review-Url: https://codereview.chromium.org/1975883003
|
|
|
|
|
|
|
|
|
|
| |
We don't have to land this, but I found it more comforting for the blurring code to explicitly deal with SkIRects rather than SkRects with integer values.
Split out of: https://codereview.chromium.org/1959493002/ (Retract GrRenderTarget from SkGpuBlurUtils)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1968603003
Review-Url: https://codereview.chromium.org/1968603003
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1971863002
Review-Url: https://codereview.chromium.org/1971863002
|
|
|
|
|
|
|
| |
No longer used in Chromium.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1978533002
Review-Url: https://codereview.chromium.org/1978533002
|
|
|
|
|
|
|
|
|
|
| |
Follow on to https://codereview.chromium.org/1969193002/ (SkPictureImageFilter - clear local canvas before use)
BUG=610667
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1972213002
Review-Url: https://codereview.chromium.org/1972213002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1974053002
Review-Url: https://codereview.chromium.org/1974053002
|
|
|
|
|
|
|
| |
Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933393002
Review-Url: https://codereview.chromium.org/1933393002
|
|
|
|
|
|
|
|
|
|
|
| |
Don't remove inner clip if it's non-rectangular.
Add cubic hairline clip code to quad and conic cases.
R=reed@google.com
BUG=skia:5252
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1943403006
Review-Url: https://codereview.chromium.org/1943403006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1933393002/ )
Reason for revert:
fontmgr_iterAndroid failing to draw emoji. E.g. https://gold.skia.org/search2?blame=6296da736fbf40aae881650c239420f64e576c3f&unt=true&head=true&query=source_type%3Dgm
Original issue's description:
> Move SkTypeface to sk_sp.
>
> Committed: https://skia.googlesource.com/skia/+/6296da736fbf40aae881650c239420f64e576c3f
TBR=reed@google.com,fmalita@chromium.org,tomhudson@google.com,bungeman@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/1974783002
|
|
|
|
| |
Review-Url: https://codereview.chromium.org/1933393002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967793003
Review-Url: https://codereview.chromium.org/1967793003
|
|
|
|
|
|
|
|
|
|
|
| |
SkPM4f.
This preparation to finish handling the rest of the SkColorTypes.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970813002
Review-Url: https://codereview.chromium.org/1970813002
|
|
|
|
|
|
|
| |
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1970773002
Review-Url: https://codereview.chromium.org/1970773002
|
|
|
|
|
|
| |
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1967743003
Review-Url: https://codereview.chromium.org/1967743003
|
|
|
|
|
|
| |
What is left of this file is now in SkFontLCDConfig.h.
Review-Url: https://codereview.chromium.org/1945883002
|
|
|
|
|
|
|
|
|
|
|
| |
pre-CL for larger change to support read-only paths
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957263003
TBR=
Review-Url: https://codereview.chromium.org/1957263003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should improve performance of gamma conversion in
software (we can use vector math instead of table look
ups).
Additionally this allows us to quickly and easily
identify sRGB-like gammas.
On gpu, identifying sRGB gamma improves performance/memory,
because the hardware may support gamma conversion.
This will help us identify situations where gamma
conversion is not necessary.
Ex: sRGB input -> sRGB display
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1950183006
Review-Url: https://codereview.chromium.org/1950183006
|
|
|
|
|
|
|
| |
Reduce templatedness.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1955053002
Review-Url: https://codereview.chromium.org/1955053002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1961483002/ )
Reason for revert:
This CL was not the culprit in the perf regression.
Original issue's description:
> Revert of Disable layer hoisting for non-8888 canvases (patchset #2 id:20001 of https://codereview.chromium.org/1957433002/ )
>
> Reason for revert:
> Experimental revert to investigate perf regression
>
> Original issue's description:
> > Disable layer hoisting for non-8888 canvases
> >
> > This just stops the bleeding. A real fix would propagate the canvas' backing type down to the layer hoister.
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1957433002
> >
> > Committed: https://skia.googlesource.com/skia/+/4e30f27164179d344f0c8efa9a691d1bc9a53e3f
>
> TBR=bsalomon@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/6b53b9daeb2137a91d8ddb8e890d66c702bfbaa3
TBR=bsalomon@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
Review-Url: https://codereview.chromium.org/1962603002
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ use SkSinglyLinkedList<T>
+ move SkSinglyLinkedList.h to core
+ remove SkHackyAutoTDelete
+ getAdvanceData() -> setGlyphWidths()
+ finishRange no longer templated
+ remove unused templated functions
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953153004
Review-Url: https://codereview.chromium.org/1953153004
|