This reverts commit d9779bcf93.
Reason for revert: breaks gold
Original change's description:
> Check the boundary while cumulating deltas in a mask
>
> Without the fix,
>
> ./out/Debug/dm --config t8888 -m complexclip_bw
>
> will trigger the assert.
>
> Note that this boundary check is already in place when deltas are
> cumulated without using a mask.
>
> Bug: skia:
> Change-Id: I68bfe2b7196d440743d3a7535d097bb8ec7689c3
> Reviewed-on: https://skia-review.googlesource.com/113210
> Commit-Queue: Yuqian Li <liyuqian@google.com>
> Reviewed-by: Cary Clark <caryclark@skia.org>
TBR=liyuqian@google.com,reed@google.com,caryclark@skia.org
Change-Id: Ice0e3618b02ef48b0f2a9f0662a12f76078e984a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/113170
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Just ensuring we have coverage for this case.
Change-Id: Ifcded974068e9ef90d0eb0f07eb90e0bd563d7c7
Reviewed-on: https://skia-review.googlesource.com/113461
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
some support for interfaces containing
template <typename x> class x
includeParser now correctly balances
bracket indentions and builds correct hierarchy.
Cross-check does not detect that the bmh definition
is missing the class; then includeWriter asserts
when the bmh class can't be found.
TBR=caryclark@google.com
Bug: skia:6898
Change-Id: Ibb70667ed4a6f8e553eec3924b56dfde737b4383
Reviewed-on: https://skia-review.googlesource.com/113460
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
This reverts commit 429a540673.
Reason for revert: <failed dm>
Original change's description:
> start hardening pathmeasure
>
> change int to unsigned (just make it uniform,
> part of it was already unsigned)
>
> change path by pointer to path by value
> since it will be copied on write; fixes bug
> where path changes from underneath measure
>
> R=reed@google.com
>
> Bug: skia:7675
> Change-Id: Ibfcfd4379cabd86b4ef4ea9ff6788d5ccb137ac1
> Reviewed-on: https://skia-review.googlesource.com/113269
> Commit-Queue: Cary Clark <caryclark@skia.org>
> Reviewed-by: Mike Reed <reed@google.com>
TBR=reed@google.com,caryclark@skia.org
Change-Id: I35f89c135233b166b09ce8887a967da3b1407db8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:7675
Reviewed-on: https://skia-review.googlesource.com/113480
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Cary Clark <caryclark@google.com>
Without the fix,
./out/Debug/dm --config t8888 -m complexclip_bw
will trigger the assert.
Note that this boundary check is already in place when deltas are
cumulated without using a mask.
Bug: skia:
Change-Id: I68bfe2b7196d440743d3a7535d097bb8ec7689c3
Reviewed-on: https://skia-review.googlesource.com/113210
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
change int to unsigned (just make it uniform,
part of it was already unsigned)
change path by pointer to path by value
since it will be copied on write; fixes bug
where path changes from underneath measure
R=reed@google.com
Bug: skia:7675
Change-Id: Ibfcfd4379cabd86b4ef4ea9ff6788d5ccb137ac1
Reviewed-on: https://skia-review.googlesource.com/113269
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Mike Reed <reed@google.com>
It was released yesterday.
Change-Id: Ied9ef3c65fcee0ac7af785c6642fb899d6bd4b0d
Reviewed-on: https://skia-review.googlesource.com/113380
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Change-Id: I09549cb21e8bdbc2924a54bc2eca3d399e5a7f44
Reviewed-on: https://skia-review.googlesource.com/113429
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Truncating negative values will produce a negative fractional part when
you subtract out the integer value, which causes havoc with rendering
the path and searching for it in the cache. What we want is the floor.
Bug: 819966, 819522
Change-Id: I2feb451e28bfb863111479f70fd99fa1299abac0
Reviewed-on: https://skia-review.googlesource.com/113428
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Otherwise, the following test will fail:
./out/Debug/dm --config t8888 -m strokes_round
Bug: skia:
Change-Id: Ifc618fc42c6f387eae7b6aadd8424001c3e1464e
Reviewed-on: https://skia-review.googlesource.com/113440
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
Our region-builder-blitter insists on being called in a Y->X sorted order,
which means (for example) if it is given a rect, then next blit call must
be below that rect.
However, we have helpers that blit rects "through" a region, and they iterate
through the region using Cliperator, which returns the minimum (mostly) number
of rects inside the region -- but these are not in strict Y->X order. Hence
the problem.
This CL avoids this by fixing it at the source. When we are asked to build a region
by drawing a path clipped to another region, we check if that clip is complex.
If it is, we first regionize the path against the clip's bounds (easy), and then
call a region-op to intersect that with the complex clip.
Bug: skia:7491
Change-Id: Ibf0a99e5bb38e369c4b263b0b07bfc04a572de63
Reviewed-on: https://skia-review.googlesource.com/113424
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>
The include guards make this not bad, but it seems strange and iwyu
complains about it.
Change-Id: I4e40d290b4c7208dddf82fdd1b107780c239d8fc
Reviewed-on: https://skia-review.googlesource.com/113423
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Compared against images using config gldft.
Everything the same.
Change-Id: I9c9209dfcae4f4d79cbdb8c2acac3b623c87300f
Reviewed-on: https://skia-review.googlesource.com/113401
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Modifies triangle corner shaders to just approximate their coverage with
linear values that ramp to zero at bloat vertices outside the triangle.
For the vertex backend, since corners now have the same fragment shader
as the rest of the triangle, we fold them in with the other steps and
draw triangles in a single pass.
The geometry backend still draws triangles in two passes, as there is
not an apparent performance advantage in combining them.
Updates SampleCCPRGeometry to better visualize this new geometry by
clearing to black and drawing with SkBlendMode::kPlus.
Bug: skia:
Change-Id: Idf8df8ff715dfab7ac91a07b914f65c08e46010b
Reviewed-on: https://skia-review.googlesource.com/113287
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Change-Id: I2408278355cdd5a8a65748b5dd313b9466aee2b1
Reviewed-on: https://skia-review.googlesource.com/113211
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This will allow a client to make an SkImage that "wraps" a gpu texture,
however the client does need to supply the actual gpu texture at Image
creation time. Instead it is retrieve at flush time via a callback.
Bug: skia:
Change-Id: I6267a55ab7102101a7bd80a6f547b6a870d2df08
Reviewed-on: https://skia-review.googlesource.com/109021
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
This is a point change to see if it causes bad draws using config
gldft. Checked with skdiff on that config.
Change-Id: Ibee4630df21456ba9dccf28480bded82d1d9bf47
Reviewed-on: https://skia-review.googlesource.com/113204
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
We already always create the stencil buffer even for wrapped RTs.
Make VulkanWindowContext use SkSurface::MakeFromBackendRenderTarget.
Change-Id: I5df429d347331801954ec17cb9d75e323a7af345
Reviewed-on: https://skia-review.googlesource.com/113206
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
e8a93c6ed6..3314040981
$ git log e8a93c6ed..331404098 --date=short --no-merges --format='%ad %ae %s'
2018-03-08 lucferron Vulkan: Fix readPixels to support sub image reads correctly
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-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.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=fmalita@google.com
Change-Id: Iff4a449e91b5575a85f3147c07047622c13a62d5
Reviewed-on: https://skia-review.googlesource.com/113372
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
This also adds GrGpu::create/deleteTestingOnlyBackendRenderTarget. Implemented in GL only for now.
Change-Id: I9e5fdc953c4a249959af89e08332f520cefe9d90
Reviewed-on: https://skia-review.googlesource.com/113305
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Hardens the path parser to handle zero-length fan tessellations. In this
case the vertex pointer returned by the tessellator will be null, so we
need to indicate whether a tessellation exists in a different way.
Bug: skia:7642
Change-Id: If29df9d08565ff613059f2d3b49ab4eb79908495
Reviewed-on: https://skia-review.googlesource.com/113362
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Holding off on removing definition until android cleans
up its code.
Change-Id: I19cce13d6d1f10f172770a926966761686bc7d6a
Reviewed-on: https://skia-review.googlesource.com/113168
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
CoreGraphics does not provide a means to get the original font data for a
CGFont, only the tables. As a result, Skia pieces the font data back
together when requested. The most awkward part of this is choosing the
first four bytes, and the CTFont suggestion seems to often be wrong.
This change doublechecks the selection of 'typ1', prefering to use 'OTTO'
if there are no 'TYP1' or 'CID ' tables. These sorts of fonts are
extremely old and unlikely to be in current use. It appears that CTFont
may report that it has this format if it is an 'OTTO' font with very few
glyphs. If Skia serializes such a font with 'typ1' as the first four
bytes, CoreGraphics will not create a CGFont from the resulting font data.
BUG=chromium:809763,skia:7630
Change-Id: I9979b9f0ebdd27c4ad0903e8ee6237241e755541
Reviewed-on: https://skia-review.googlesource.com/113306
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
should fix three or four of the PathOp asserts
triggered by the fuzzer tool.
R=kjlubick@google.com
Bug: skia:
Change-Id: I470895addf1e922da6a7c41d44d54eca92e68fb6
Reviewed-on: https://skia-review.googlesource.com/113163
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Cary Clark <caryclark@skia.org>
80964f97e9..e8a93c6ed6
$ git log 80964f97e..e8a93c6ed --date=short --no-merges --format='%ad %ae %s'
2018-01-04 jdarpinian New transform feedback buffer binding rules
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-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.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=fmalita@google.com
Change-Id: I6427a749809ea48304abc453425a9c89befe87fd
Reviewed-on: https://skia-review.googlesource.com/113364
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Check the text size read from a buffer should not exceed the size of
the input buffer. This is to avoid memory allocation errors such as
out of memory.
BUG=chromium:809200
Change-Id: I47824f6e8122bd550ee97ac83e2251b7725865e7
Reviewed-on: https://skia-review.googlesource.com/113289
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
5164b797cb..80964f97e9
$ git log 5164b797c..80964f97e --date=short --no-merges --format='%ad %ae %s'
2018-03-08 lucferron Vulkan: Support of GL_UNSIGNED_BYTE type in drawElements
2018-03-05 brandon1.jones Add NPOT validation to copyTextureCHROMIUM
2018-03-08 jmadill Return an Error from Framebuffer::syncState.
2018-03-08 jmadill Vulkan: Use RenderTargetCache in FramebufferVk.
2018-02-15 lucferron Vulkan: Implement scissored clears.
2018-03-08 jmadill Return errors from gl::State::syncDirtyObjects.
Created with:
roll-dep skia/third_party/externals/angle2
The AutoRoll server is located here: https://angle-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.
CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE,Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE,Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE,Build-Debian9-Clang-x86_64-Release-ANGLE
TBR=fmalita@google.com
Change-Id: I935cc7797cb725e99c44027e5d7139e83ac6d756
Reviewed-on: https://skia-review.googlesource.com/113290
Reviewed-by: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: <angle-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
New behavior is to *always* call the client's deserial image proc for all data.
This allows the client to make decisions even on "std" image data like PNG.
The change also means that if there is no client deserial image proc, Skia will
still attempt to create an image from the data, even if it was written by a
custom serial proc.
Bug: skia:7706
Change-Id: Ia58bdd10b86d497f02187082c6373c029e9c8293
Reviewed-on: https://skia-review.googlesource.com/113302
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Following up on an prior CLs TODO
Change-Id: I99397d4ffa5cc67b39726900f48b399e38fdbdd9
Reviewed-on: https://skia-review.googlesource.com/113201
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Due to precision limit, some cubics may generate lines exceeding
the path's IR. Since we created delta list or delta mask using
clippedIR, it's important that we use the stricter clippedIR
instead of clipBounds to filter the coverage deltas.
Bug: oss-fuzz:6189
Change-Id: I775408282fb45ada41968426c2f32d28bb567af1
Reviewed-on: https://skia-review.googlesource.com/113160
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>