Bug: skia:
Change-Id: I93de3aea986fe64fe536fdf6db8b075c101082b2
Reviewed-on: https://skia-review.googlesource.com/54461
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
BUG=skia:7107
Change-Id: I8ead98f7694faaed8e6f6f29b1fcd88501d36b66
Reviewed-on: https://skia-review.googlesource.com/54400
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
(ASAN doesn't like them.)
Bug: skia:
Change-Id: Id28d3ea9cabc9895cb097eae3e437f557178fe1c
Reviewed-on: https://skia-review.googlesource.com/54180
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
The NaN shader literal bug has been worked around, so lets get this test
coverage back.
Bug: skia:6842
Change-Id: I7b6b00972d9e00e49e5f2eccac9f2eda7fffbb6c
Reviewed-on: https://skia-review.googlesource.com/54362
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
No-Try: true
Change-Id: Ie255d46ff50d13d25d045791c1c3066f06ab9243
Reviewed-on: https://skia-review.googlesource.com/53601
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:
Change-Id: I1130084fd526f3cc0d39bfa5293d79ce408691b2
Reviewed-on: https://skia-review.googlesource.com/54361
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
adaabc3658..a60d35672e
$ git log adaabc365..a60d35672 --date=short --no-merges --format='%ad %ae %s'
2017-10-02 kainino Re-enable uninitialized-local test that should pass now
Created with:
roll-dep skia/third_party/externals/angle2
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE
TBR=scroggo@google.com
Change-Id: I9fad42291a9cc6e27453da8d56feac7629abd39d
Reviewed-on: https://skia-review.googlesource.com/54341
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
This reverts commit 97abf014b4.
Reason for revert: REALLY Really really really big perf regressions
Original change's description:
> Update lockTextureProxy to return mipped proxys if mipping is requested.
>
> We will either create a new mipped surface from scratch, or just create
> the base layer and copy that into the mipped surface. We then defer the
> creation of the rest of the mips to the GPU.
>
> Bug: skia:
> Change-Id: Ida3000ad5e666153c61b05e714f033138593b09b
> Reviewed-on: https://skia-review.googlesource.com/52743
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
Change-Id: If3b1ff555ef310b75493412a7533175195994684
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/54320
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Bug: 768878
Switch const declarations to constexpr where appropriate. Speculative
fix for crbug.com/768878.
Change-Id: I7fc356e623ce7a0f2b87e92e9a8ed95d5c423d79
Reviewed-on: https://skia-review.googlesource.com/54101
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Chris Blume <cblume@chromium.org>
This patch handles the error input case in SkPngCodec decode function
when there is error in input.
Bug: skia:None
Change-Id: I53b44f2411cef129b39e76e2cd6b8cd4c754b932
Reviewed-on: https://skia-review.googlesource.com/51860
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
8c5b69cbaa..adaabc3658
$ git log 8c5b69cba..adaabc365 --date=short --no-merges --format='%ad %ae %s'
2017-10-02 geofflang Support PBO and map buffer extensions in the NULL backend.
2017-10-02 geofflang Support GL_NV_fence in the NULL backend.
2017-09-26 geofflang Make GL_EXT_blend_minmax enableable.
2017-09-26 geofflang Make GL_OES_fbo_render_mipmap enableable.
2017-09-26 geofflang Make PBO and map buffer extensions enableable.
2017-09-29 jiawei.shao ES31: Implement glSampleMaski on D3D11
Created with:
roll-dep skia/third_party/externals/angle2
BUG=770696,770696
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Perf-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Perf-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE,Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-ANGLE,Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-ANGLE,Test-Win10-MSVC-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-ANGLE,Test-Win10-MSVC-ShuttleC-GPU-GTX960-x86_64-Debug-ANGLE
TBR=scroggo@google.com
Change-Id: Ic6686493c8e0bf8a84e9b3326da0c46c92df49f5
Reviewed-on: https://skia-review.googlesource.com/54220
Reviewed-by: angle-deps-roller . <angle-deps-roller@chromium.org>
Commit-Queue: angle-deps-roller . <angle-deps-roller@chromium.org>
This just makes sure all the plumbing is in place to use the Skylake
Xeon subset of AVX-512 instructions. So far,
- no Windows
- no lowp
- nothing explicitly making use of AVX-512 registers or instructions
This initial pass should run essentially identically to the _hsw AVX2
code we've been using previously. Clang _does_ use AVX-512-only
instructions to implement some of the higher-level concepts we've coded,
but it's really a pretty subtle difference.
Next steps will bump N from 8 to 16 and start threading through an
AVX-512-friendly mask instead of tail. I'll also want to take a harder
look at how we do blending like if_then_else()... the default codegen
here doesn't really take advantage of AVX-512 the way I'd like here.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Debian9-Clang-GCE-CPU-AVX512-x86_64-Debug
Change-Id: I6c9442488a449ea4770617bb22b2669859cc92e2
Reviewed-on: https://skia-review.googlesource.com/54062
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
ANGLE bots were getting lots of corrupted GMs - we set fPreferVRAMUseOverFlushes
to false. In that case, multiple deferred proxies were instantiating to the same
scratch resource. Any proxy that we're going to fill with an ASAP upload needs
to have no pending IO - we hoist all those loads to the front of the flush, so
normal IO tracking doesn't really help.
Bug: skia:
Change-Id: Id36fd8700e522db412a3c992b93c778e2ebb1188
Reviewed-on: https://skia-review.googlesource.com/53940
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
SkRRect::fType is an int, so needs to be checked to see if it's
negative.
Bug: chromium: 768149
Change-Id: I6a9a019c736806d35dc1bd627fb4ddc735a0ac86
Reviewed-on: https://skia-review.googlesource.com/54024
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Move the check for kFailedLoops above code that times the benchmark.
This matches the comment ("Can't be timed") and prevents an infinite
loop.
Bug: skia:6774
Change-Id: Iacdc1ca1d11afcf05afac60e4eb0d8d9a12f800e
Reviewed-on: https://skia-review.googlesource.com/53803
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
Apparently 1.6.34 has been released too, but I can't find it in Git, and
1.6.33 is the one with that patch we're really interested in, right?
Let's also just #include the prebuilt pnglibconf.h to make it clear that
it's unchanged from the original?
Change-Id: Ia415486f30c7aff1575f96add8edce855eef9207
Reviewed-on: https://skia-review.googlesource.com/54040
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
No code bugs as far as I can tell.
BUG=skia:7095
Change-Id: I56d848b6225d81bf2481235b9294f0c3e7f53f5b
Reviewed-on: https://skia-review.googlesource.com/53823
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
We will either create a new mipped surface from scratch, or just create
the base layer and copy that into the mipped surface. We then defer the
creation of the rest of the mips to the GPU.
Bug: skia:
Change-Id: Ida3000ad5e666153c61b05e714f033138593b09b
Reviewed-on: https://skia-review.googlesource.com/52743
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Follow on to 4cdbf6056d. readByteArray was
the only caller of this method, and no longer uses it. So remove it and
its only override.
Bug: 769134
Change-Id: I0aaf97717baba1f0195162f3e644708bc101eba4
Reviewed-on: https://skia-review.googlesource.com/53920
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
This reverts commit fdd2cb52b7.
Reason for revert: ANGLE gold failures
Original change's description:
> Revert "Revert "Revert "Revert "Make threaded proxy generation MDB-friendly, and defer instantiation""""
>
> This reverts commit 9f8d4d36b5.
>
> Bug: skia:
> Change-Id: I8d7c1df24d8b13b94404f3d9ba69a1ab55ee00c0
> Reviewed-on: https://skia-review.googlesource.com/52920
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: Ie461de167fbd37323cabd4adf064f99204ba4878
Reviewed-on: https://skia-review.googlesource.com/53801
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: I59dfb1c839a66a6aa6c954e4a544930fc1376a22
Reviewed-on: https://skia-review.googlesource.com/53560
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Add --depth 1 to the git clone commands to speed up the creation,
since we don't need all of the history ever to build.
Bug: skia:7080
Change-Id: Idcde5657e2097c2dbc259ab29b24d596b5623364
Reviewed-on: https://skia-review.googlesource.com/53481
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
In setPixelRef()
If dx or dy are negative, assert in debug.
Pin pixel ref origin to account for dx and dy on right.
If colorType is unknown, ignore pr pixelref.
Set Bitmap rowbytes to match pixelref rowbytes.
In tryAllocPixels()
Return true early if colorType is unknown.
This assumes that the desired behavior is for Bitmaps
set to kUnknown_SkColorType to avoid allocating SkPixelRef
while avoiding debug asserts, which is what current
gm tests like BitmapCopy_extractSubset test for.
R=reed@google.com
Change-Id: I0d36032d36a0b7dc111f4aff18c71382874fe1f5
Reviewed-on: https://skia-review.googlesource.com/53420
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
Change-Id: Ib7f855c833c8e73f448de7c8a75f59b1a0880874
Reviewed-on: https://skia-review.googlesource.com/53600
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Ifb5ee9d2d80badf082cf1888d2289fea6344c0e9
Reviewed-on: https://skia-review.googlesource.com/53400
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This tool can quickly check all nanobench tests including svgs
and skps (<5 minutes for CPU, ~30 minutes for GPU) and find
significant performance regressions without much noise.
This tool is not only faster (lower latency to get regression
alerts), but also more sensitive compared to our k-means and
step-fitting bots (especially for changes that only affect very
few benches). It may still miss some regressions, but the
regressions reported should be valid with very high probability.
Bug: skia:
Change-Id: I02115e6c5ab630e4c56b2087ffeb5cae1d4a618e
Reviewed-on: https://skia-review.googlesource.com/50060
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ice135dd4b6316b791276eefd522be6bd90b8b5eb
Reviewed-on: https://skia-review.googlesource.com/53261
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
So we can benchmark with given width/height dimensions.
Bug: skia:
Change-Id: I881c9f054cdcecc3e0b2bfb600afd778e1c57d95
Reviewed-on: https://skia-review.googlesource.com/51246
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
This reverts commit 8b059bd946.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Revert "Update GrBitmapTextureMaker for handling mipped requests"
>
> This reverts commit d1935c16e8.
>
> Reason for revert: breaking lots of GMs, especially on gles
>
> Original change's description:
> > Update GrBitmapTextureMaker for handling mipped requests
> >
> > Specifically this updates the case when we are requesting to use mip
> > maps but there is already an unmipped version in the cache. Previously
> > we just grabbed the unmipped.
> >
> > Now we will create a new mipped resource. Upload the cpu data to all
> > the levels besides the base, copy the base level on GPU from the
> > original resource to the mipped one. Then the mipped resource will
> > take over the originals unique key.
> >
> > Bug: skia:
> > Change-Id: I38e9725c93280dc2460a0be8a7a229e7f20e1614
> > Reviewed-on: https://skia-review.googlesource.com/43840
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
>
> TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
>
> Change-Id: Id82e8b6e8ab69e46ff018bb07ae5d1f6ea8d7e76
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/52901
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,robertphillips@google.com,brianosman@google.com
Bug: skia:
Change-Id: Ie5b9553aa67def6f9c5a61f9b6b065b9fce3ff76
Reviewed-on: https://skia-review.googlesource.com/53240
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
No-Try: true
Change-Id: I449c0fd435b233e9c9538c17295ef18348380658
Reviewed-on: https://skia-review.googlesource.com/53120
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
One of the nice bits of constexpr is that an expression is constexpr if
there exists any set of argument values that make it constant. It
doesn't have to be constant for _all_ argument values.
This means that this expression is constexpr:
condition ? constexpr_value
: []{ arbitrary non-constexpr code; }();
... it's constant when condition is true.
We can use this to rewrite SkASSERT(condition) as
( (condition) ? (void)0
: []{ SK_ABORT(#condition); }() )
Both sides of the ?: are void, and when condition is true at compile
time the right hand side disappears completely. In C++11 constexpr
functions we just have to use the comma operator to jam SkASSERT()
into the order of evaluation:
constexpr uint32_t foo(int x, int y) {
return SkASSERT(x > y),
x - y;
}
Change-Id: I21878d14fb2af76d93591d2ae229460ee825cfde
Reviewed-on: https://skia-review.googlesource.com/52663
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Trent Apted <tapted@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit 9f8d4d36b5.
Bug: skia:
Change-Id: I8d7c1df24d8b13b94404f3d9ba69a1ab55ee00c0
Reviewed-on: https://skia-review.googlesource.com/52920
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>