These may be better at -fsanitize=object-size.
No need to loop more than once in nanobench for these bots.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-ASAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN,Perf-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-ASAN,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-ASAN,Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Release-ASAN
Change-Id: If89e94390d473434717cfe28de6be9055b68d8d4
Reviewed-on: https://skia-review.googlesource.com/7278
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This allows skslc to track the values of variables with constant
values across multiple statements and replace variable references with
constant values where appropriate.
The improved liveness tracking allows skslc to realize that a
variable is no longer alive if all references to it have been
replaced. It is not yet doing much with this information; better
dead code elimination is coming in a followup change.
BUG=skia:
Change-Id: I068c5d2e9a362e75299b1de1f4575339f5ddc3bb
Reviewed-on: https://skia-review.googlesource.com/7302
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This is just the new test images.
I'm relanding this in pieces to try to bisect a
strange MSAN error.
Original CL:
https://skia-review.googlesource.com/c/7085/
BUG=skia:
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-x86_64-Release-Fast,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN
Change-Id: Iec6b8cf52134992591651bf46bd6cd67d53fad52
Reviewed-on: https://skia-review.googlesource.com/7201
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Change-Id: I5e3cbac5caa483dfebd17444d9fb98e1adf1fdff
Reviewed-on: https://skia-review.googlesource.com/7267
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
This reverts commit f54b07121f.
Reason for revert: ASAN failure
Original change's description:
> Added constant propagation and better variable liveness tracking to
> skslc.
>
> This allows skslc to track the values of variables with constant
> values across multiple statements and replace variable references with
> constant values where appropriate.
>
> The improved liveness tracking allows skslc to realize that a
> variable is no longer alive if all references to it have been
> replaced. It is not yet doing much with this information; better
> dead code elimination is coming in a followup change.
>
> BUG=skia:
>
> Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4
> Reviewed-on: https://skia-review.googlesource.com/7033
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>
>
TBR=egdaniel@google.com,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Change-Id: Id2e26bce96b27df73948f8b32d3dff2e358ae0d6
Reviewed-on: https://skia-review.googlesource.com/7274
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
skslc.
This allows skslc to track the values of variables with constant
values across multiple statements and replace variable references with
constant values where appropriate.
The improved liveness tracking allows skslc to realize that a
variable is no longer alive if all references to it have been
replaced. It is not yet doing much with this information; better
dead code elimination is coming in a followup change.
BUG=skia:
Change-Id: I6bf267d478b769caf0063ac3597dc16bbe618cb4
Reviewed-on: https://skia-review.googlesource.com/7033
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
An RLE bmp reports how many bytes it should contain. This number may be
incorrect, or it may be a very large number. Previously, we buffered
all bytes in a single allocation. Instead, use a fixed size buffer and
only read what fits into the buffer. We already have code to refill the
buffer if there is more data, so rely on that to keep reading.
Choose an arbitrary size for the buffer. It is larger than the maximum
possible number of bytes we need to read at once.
Add a test with a test image that reports a very large number for
the number of bytes it should contain. With the old method, we would
allocate 4 gigs of memory to decode this image, which is unnecessary
and may result in OOM.
BUG=b/33251605
Change-Id: I6d66eace626002725f62237617140cab99ce42f3
Reviewed-on: https://skia-review.googlesource.com/7028
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
BUG=skia:
Change-Id: Ic5b2b07fb3f408edf1f2b982235424c22795fe50
Reviewed-on: https://skia-review.googlesource.com/7187
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
* Reset the Arena state.
* Call all the dtors before deleting the blocks.
TBR=mtklein@google.com
Change-Id: Iac320fec16e572cc9a6184c1f580089ab720f036
Reviewed-on: https://skia-review.googlesource.com/7221
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This simplifies the slope computation because we don't have to check dy
!= 0.
BUG=skia:
Change-Id: I5c09a9217ceed65f81f9d82cb045e33a70218077
Reviewed-on: https://skia-review.googlesource.com/7180
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
This reverts commit ccfd1083a7.
Reason for revert: Roll is failing.
Original change's description:
> Disallow readPixels() conversions from untagged srcs to tagged dsts
>
> This might break the roll into Chrome. But let's see how.
>
> BUG=skia:6021
>
> Change-Id: I2698b5d6fe72d01bed0dc64703b592a03d441a80
> Reviewed-on: https://skia-review.googlesource.com/7127
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
TBR=msarett@google.com,brianosman@google.com,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6021
Change-Id: I4b62178fd7c23f43cf69ca69fc14526ecd503956
Reviewed-on: https://skia-review.googlesource.com/7205
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
This might break the roll into Chrome. But let's see how.
BUG=skia:6021
Change-Id: I2698b5d6fe72d01bed0dc64703b592a03d441a80
Reviewed-on: https://skia-review.googlesource.com/7127
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Eventually ops can use this to hold their ops and create GrPipelines at flush time.
For now it is used by GrPipelineBuilder.
Change-Id: I0db3892032f2d07238e4c847a790678b3aab456f
Reviewed-on: https://skia-review.googlesource.com/7132
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
skia-recipes:
f3a0ef9 Make gn use Vulkan SDK on Windows And Linux
7ab5cc6 Wrap GN args in ""
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Debug-Vulkan,Build-Ubuntu-Clang-x86_64-Release-Vulkan
Change-Id: I48225fde38bf909acff3eea9e5d09f43bff7f8ec
Reviewed-on: https://skia-review.googlesource.com/7176
Reviewed-by: Kevin Lubick <kjlubick@google.com>
This still needs to be propagated out in several ways:
replace more instances of GrSurface::read/write-Pixels
add colorSpace to more instances of the TextureContext
but it establishes a beach-head and is exciting enough as is.
Change-Id: If86035aa0245e70b54541e83722b3c75bc5ade13
Reviewed-on: https://skia-review.googlesource.com/7172
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
BUG=skia:
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Change-Id: If58d201daae97bce2f8efbc453c2ec452e682493
Reviewed-on: https://skia-review.googlesource.com/7085
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
This will allow Skia trybots to exercise analytic AA. But there's still
a guard flag in Chromium that prevents layout tests failure.
Additionally, we
1. fixed nagative shift problem
2. relax the ASSERT when slope is too large: If slope is large, the accuracy of the slope is limited due
to conversion to SkFDot6 and division. Hence we have to relax the constraint.
3. handle the special case where dx != 0 while slope == 0 because of very large dy and limited precision.
BUG=skia:
Change-Id: Ice70164f3f396f0db3896bedc7b96fbd613078dc
Reviewed-on: https://skia-review.googlesource.com/7120
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
build:
9d148ff Dart: update ASAN bots with new GN build environment variables.
32ca07f Dart: Remove "--exclude-suite=pkg" from builder commands
06034fe Adding new Mac Mini 8GB vm to waterfall.
ef69d02 Roll recipe dependencies (trivial).
4145f27 Report ANGLE DLL sizes.
ef3c5b8 Remove some old cruft from file module.
23a7971 Use recipes' own bootstrap instead of build repo's third_party s
8d30f42 Revert "Use recipes' own bootstrap instead of build repo's third
8593c2c Take 2: Use bootstrap if we can't import coverage during recipe_
4f0412a Roll recipe dependencies (trivial).
fe2f60d Roll recipe dependencies (trivial).
de4b06e V8: Reduce variants on slow bot and add shards on another
cb42bda Rename Mac 10.10 bisect bots to Mac 10.12.
0d22ef1 Roll recipe dependencies (trivial).
64e721b chartjson upload: Don't upload with no data
8b9588d Manually set encoding for html page as UTF-8.
f428765 Fix the border color of status cells.
0f43046 perf_dashboard: Use args to pass and output data
74cd943 [Findit] Include step_metadata in Findit recipes' result report.
438f445 Revert "chartjson upload: Don't upload with no data"
626496b Cleanup unneeded files from build archives.
edccd96 Get rid of passing separate api object around in chromium_tests
f543594 Add missing comma to filter_build_files.py.
8e3c7bf Add more names to be excluded in filter_build_files.py.
6e8aadb Revert "Get rid of passing separate api object around in chromiu
6708a01 Get rid of passing separate api object around in chromium_tests
61e29b6 Adds Gold upload support to the pdfium recipe.
c6ff1f3 Fixe small bug in pdfium recipe
a506fb2 Make sure revision value is added when running trybots
b00fc85 Revert "Make sure revision value is added when running trybots"
c93a38c Revert "Fixe small bug in pdfium recipe"
42d1235 TBR=dsansome@chromium.org
76d62a0 Roll recipe dependencies (trivial).
011ee29 Roll recipe dependencies (trivial).
3e194cb Get rid of passing separate api object around in chromium_tests
69437e7 Added flutter.jar to uploaded artifacts for x86.
3bb8075 Bisect - Rework perf_try to use compare_samples to parse values.
c9c9234 Should not set up goma on 32bit Windows and Linux.
4a64172 Add more logging for errors uploading to test-results
b6bb03e Log time of the request to find matching server request
5dfca39 Adjust config level and use datetime module to format current UT
1215a71 v8: add script to compute build dependency statistics
f96c93e V8: Output build dependencies on x64 builder
02359c1 V8: Upload build dependencies to perf dashboard
47ff677 [perf] Fix typo. s/isolate_map/isolated_map.
26b0ef9 swarming: Clean up infrastructure handling logic
b0d760f [Android] Remove blimp_test_apk from the FindAnnotatedTests.
4b21c40 Roll recipe dependencies (trivial).
7808adc Improve recipe_simulation_test.py for bots and devs.
7d494c6 Fix bug in chartjson upload code
ddbb900 Remove build-side references to blimp.
81e709d Remove gnumbd tree closing from gatekeeper config.
bdbdb5a Raise exception when failed to start goma in main waterfall
e818a6f V8: Use better path for uploading build dependency stats
depot_tools:
b56ad33 Respect -t/--title in initial cl uploads to Gerrit
0fd68fa Roll recipe dependencies (trivial).
5ededcb Clear Zone.Identifier to allow depot_tools.zip bootstrap
59f4851 Don't send email to CCs by default on initial upload
6428784 Display Short URLs in Issues
d0c226a Output missing LGTMs notification also on dry-run
54985b6 Improve clang-format error messages when run outside of chromium
recipe_engine:
86fea56 Use basestring as a default type for enum
skia-recipes:
071ac85 Roll Recipe DEPS
Change-Id: Ie0391b3330e007a2411c8d5f31c09094f8354511
Reviewed-on: https://skia-review.googlesource.com/7171
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Also add Vulkan tasks for Linux NUC to use the asset. Still need to
update the recipes, which will happen in a followup CL.
BUG=skia:6089
Change-Id: Ie215c98a03016c00ee2f2c8da281fd565e8900ce
Reviewed-on: https://skia-review.googlesource.com/7165
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This reverts commit 94bd50cc55.
Reason for revert: Still breaking roll
Original change's description:
> SkImageInfoValidConversion (part 2)
>
> Disabling non-opaque -> opaque should be fine now that the
> Chrome unit test has been fixed.
>
> BUG=skia:6021
>
> Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb
> Reviewed-on: https://skia-review.googlesource.com/7121
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>
TBR=msarett@google.com,brianosman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6021
Change-Id: I79843ea6cf60ca94822446c548f3386706924ee6
Reviewed-on: https://skia-review.googlesource.com/7164
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
This does not include Vulkan as it doesn't build yet.
BUG=skia:6089
Change-Id: If44616dbd7b2aaa63232dac04e96d8433da7f157
Reviewed-on: https://skia-review.googlesource.com/7113
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
SampleApp doesn't have (can't easily get) an image, so I couldn't use
the new helper function there. It's probably still worth having?
BUG=skia:
Change-Id: I60c208ff958076015a9539359921b9aff68f25c8
Reviewed-on: https://skia-review.googlesource.com/7129
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
CANNOT LAND until we update lots of call-sites
BUG=skia:
Change-Id: Ibb957dbbf5baf2a2920887e48c03709d1f6c51e1
Reviewed-on: https://skia-review.googlesource.com/6982
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
6815aa7 Use skia/bin/gn instead of skia/buildtools/$(PLATFORM)/gn
ef0ad89 core: Obtain the primary repo URL from the "repository" property
BUG=skia:
Change-Id: I5cd47dd47747565c141240241b1373b34d69bee5
Reviewed-on: https://skia-review.googlesource.com/7123
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Disabling non-opaque -> opaque should be fine now that the
Chrome unit test has been fixed.
BUG=skia:6021
Change-Id: I39f087e2695bdefacf793bd137931e3115ec58cb
Reviewed-on: https://skia-review.googlesource.com/7121
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Change-Id: I1d5b82c0c2748b4d206d8d104fdd5dc04dc2693b
Reviewed-on: https://skia-review.googlesource.com/7116
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
This skips adding the clip's coverage processor to the GrPipelineBuilder before creating GrPipeline.
Change-Id: I1282dd8600701ab2b6a049abd8ad571abbbcbbe5
Reviewed-on: https://skia-review.googlesource.com/7020
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The idea here is that the GrCoordTransform will actually hold a GrTextureProxy (rather than a GrTexture) and then, in GrGLSLPrimitiveProcessor::GetTransformMatrix, use the instantiated width & height (when uploading the transform matrix)
Change-Id: Ibac3a540fcb1967ceef571157d41c1937acfadf8
Reviewed-on: https://skia-review.googlesource.com/6977
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit 8bbdd49805.
Reason for revert: Original change re-landed.
Original change's description:
> Revert "Enforce our rules about valid images when making textures"
>
> This reverts commit 7035f3c466.
>
> Reason for revert: Need to revert earlier change to fix DEPS roll.
>
> Original change's description:
> > Enforce our rules about valid images when making textures
> >
> > I'm working to make GrUploadPixmapToTexture more robust
> > and easier to follow. This is one step on that journey.
> >
> > BUG=skia:
> >
> > Change-Id: I3ac39057e20ff8249843bb41ceca25f629aff31c
> > Reviewed-on: https://skia-review.googlesource.com/7037
> > Commit-Queue: Brian Osman <brianosman@google.com>
> > Reviewed-by: Matt Sarett <msarett@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> >
>
> TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Change-Id: I1d7fef2d3777f0fcabc6c36749908409bd31a0f1
> Reviewed-on: https://skia-review.googlesource.com/7094
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>
TBR=bsalomon@google.com,msarett@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=skia:
Change-Id: I53319ebca4b13175014e6000d7b613932d02612b
Reviewed-on: https://skia-review.googlesource.com/7114
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Planning to remove this API entirely, as it's not really needed. There is
one remaining call-site that requires a bigger change, so I want to land
these first.
BUG=skia:
Change-Id: I6c6ae88202291c4896c1ba8f47824596ac8a150f
Reviewed-on: https://skia-review.googlesource.com/7105
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The original is at:
https://skia-review.googlesource.com/c/6887/
The only change to the original is to temporarily comment out
a check in SkImageInfoPriv.h until a Chrome unit test can
be fixed.
The idea is share these standards for the following:
SkImage::readPixels()
SkCanvas::readPixels()
SkCanvas::writePixels()
SkBitmap::readPixels()
SkPixmap::readPixels()
On the raster side, SkPixmap::readPixels() is the right
place to check, because all raster calls go through
there eventually. Then at lower levels (ex: SkPixelInfo),
we can assert.
There's not really a unifying location for gpu calls,
so I've added this in multiple places. I haven't really
dug into the gpu code to SkASSERT() on invalid cases
that we will have already caught.
Follow-up work:
Similar refactor for SkReadPixelRec::trim().
Code cleanup in SkPixelInfo::CopyPixels()
BUG=skia:6021
Change-Id: I6a16f9479bc09e3c87e10c72b0378579f1a70866
Reviewed-on: https://skia-review.googlesource.com/7104
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>