- Use std::atomic directly.
- No more need for SkPODSpinlock or SK_DECLARE_STATIC_SPINLOCK.
Now simple code like this works as you'd hope:
static SkSpinlock gLock;
That is, it starts unlocked and there's no static initializer.
std::atomic_flag would make this terser and standard-guaranteed,
but ATOMIC_FLAG_INIT caused not-yet-implemented errors on MSVC 2013.
The generated code for this approach is identical.
It appears the implicit constructor is constexpr when all the member
initializers are. I'm hoping this way of producing constexpr constructors
without typing "constexpr" gives us a way to eliminate more SkFoo / SkBaseFoo
distinctions and SK_DECLARE_STATIC_FOO. This was certainly the easiest.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734383002
Review URL: https://codereview.chromium.org/1734383002
Reason for revert:
remote-8888 just caught a bug. I am disproved.
Original issue's description:
> DM: disable ignored and very niche configs on bots.
>
> These are all probably just wasting time:
> - upright-matrix-{8888,gpu} and remote[_cache] are ignored in Gold
> - sp and 2ndpic test very niche areas of SkPicture
> that are not under active change
> - twice-8888 was never useful... the twice- via was meant for local
> testing of GPU batching / caching. Drawing into 8888 was moot.
>
> These configs are all useful to keep around for local testing, but probably are
> not worth the extra runtime or especially burden to have to think about them.
>
> If we should happen to stumble into bugs these configs would have caught,
> let's add them back with a note about those bugs to justify their need to run.
> I'm not convinced any exist today.
>
> This cuts ~30s off the CQ.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745073002
>
> Committed: https://skia.googlesource.com/skia/+/7b6d3a30cf18377935c800603fc00fe0966d15deTBR=halcanary@google.com,mtklein@chromium.org
# 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/1749583003
These are all probably just wasting time:
- upright-matrix-{8888,gpu} and remote[_cache] are ignored in Gold
- sp and 2ndpic test very niche areas of SkPicture
that are not under active change
- twice-8888 was never useful... the twice- via was meant for local
testing of GPU batching / caching. Drawing into 8888 was moot.
These configs are all useful to keep around for local testing, but probably are
not worth the extra runtime or especially burden to have to think about them.
If we should happen to stumble into bugs these configs would have caught,
let's add them back with a note about those bugs to justify their need to run.
I'm not convinced any exist today.
This cuts ~30s off the CQ.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1745073002
Review URL: https://codereview.chromium.org/1745073002
Reason for revert:
I don't think there's anything wrong with this per-se, but the 32-bit Windows bots are running out of memory while running these tests now.
(You'll see something like c:\0\build\slave\workdir\build\skia\include\core\skbitmap.h:247: fatal error: ""sk_throw"" in the log.)
We run these tests in parallel, and sometimes these 32-bit processes try to use more than the 2-3G RAM they can allocate. Seems like this is a particularly memory-intense process?
If we reland this, we might want to blacklist these tests on the 32-bit Windows bots. The 64-bit bots should have access to tons and tons of RAM and let us keep testing for Windows.
Original issue's description:
> Enable RAW codec for Windows
>
> * Fix the exception catching
> * Set preprocessor differently for MSVC
>
> BUG=skia:4889(b/26958348)
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1738913002
>
> Committed: https://skia.googlesource.com/skia/+/474e4c3dd28b67f590851321f15d9983ef7fd031TBR=scroggo@google.com,msarett@google.com,yujieqin@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4889(b/26958348)
Review URL: https://codereview.chromium.org/1747443003
Reason for revert:
This workaround should no longer be needed, per comment#16 from
thakis@ on the original CL.
Original issue's description:
> Add non-inline SkRTreeFactory constructor to fix clang-cl
>
> When Chromium is switched to build with VS 2015 that switches clang-cl
> to build in -fmsc-version=1900 mode. This causes some changes in
> importing of constructors and vftables which leads to link errors in
> blink_platform.dll. Adding a non-inline constructor makes 1900 mode
> behave consistently with 1800 mode and avoids the link error.
>
> The root cause needs investigation but this will unblock the VS 2015
> switch.
>
> BUG=440500,498544
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1676833002
>
> Committed: https://skia.googlesource.com/skia/+/964eec67760196585954203ba625e440607f7e92TBR=reed@google.com,bsalomon@google.com,mtklein@chromium.org,thakis@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=440500,498544
Review URL: https://codereview.chromium.org/1739363002
Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM).
Current tests:
- Texture bilerp
- Texture scale (ie mipmaps)
- Simple paint color
- Gradient
- A handful of Xfer modes
- 50% grey bitmaps, both linear and sRGB
- Bitmaps wrapped in shaders, which hits a different raster code path
TODO:
- Test coverage (rather than alpha)?
- Text, Blur, etc...?
Re-landing this without the blitter selection change, which may have caused a regression. Also updated the text color so it's legible against both black (SampleApp) and white (gold).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1740213003
Review URL: https://codereview.chromium.org/1740213003
Reason for revert:
Testing revert to fix MacMini?
Original issue's description:
> New GM that exercises gamma-correctness in various parts of the pipeline.
>
> Attempts to render 50% grey through many different techniques. Only the first one (black/white dither) is guaranteed to be correct. This serves as ground-truth for all the others (independent of whatever your display may or may not be doing when viewing the output of the GM).
>
> Current tests:
> - Texture bilerp
> - Texture scale (ie mipmaps)
> - Simple paint color
> - Gradient
> - A handful of Xfer modes
> - 50% grey bitmaps, both linear and sRGB
>
> Also includes a bug-fix for sRGB -> Linear bitmap case
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1734983003
>
> Committed: https://skia.googlesource.com/skia/+/9f73a71eec0eb54783f2dcad009aae6aafbe38d5TBR=bsalomon@google.com,reed@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/1744533002