Bug: skia:7713
Change-Id: I15c6a55370848cd211c783c886923f31dec1788c
Reviewed-on: https://skia-review.googlesource.com/114505
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Remove unused GrBackendObject variants.
Add versions without redundant size param.
Make this work with GrBackendTextures that weren't created with a GrPixelConfig.
Change-Id: Ic1bbf5f2817cebab938b4f31000126a6ab5c44d5
Reviewed-on: https://skia-review.googlesource.com/114460
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
drawTextRSXform should draw the same as drawTextOnPath (as regards shaders)
Bug: b/69904791
Change-Id: I393dd8fd7a5bdc6a018b1ca33592b208c7141868
Reviewed-on: https://skia-review.googlesource.com/114468
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
En route to fixing fuzzer bugs, I discovered that most
debugging in pathops was broken. Pathops has extensive
runtime functions that trace links and connections between
data structures that are invaluable to debugging. The
only practical way to use these functions is to call them
from the debugger in immediate mode.
Some time, some where, the MSVS Immediate Window ceased
to be able to call functions that are members of structs
or classes, and functions that take templated parameters.
I can find no mention of this on the web, so I assume
that something about our setup is triggering this, but
I've had no luck finding the culprit.
In the meantime, I've added global functions wrapped in
a namespace to sneak calls to these functions without
MSVS being any the wiser. While this works, it is likely
to bitrot by tomorrow or next Tuesday so I will continue
to try to find and fix the root cause.
This also fixes the fuzzer bugs; generally one-line edits
that change asserts to fails. All pathops tests succeed
with this. To run all tests, do:
./out/debug/pathops_unittest -V -x
./out/release/pathops_unittest -V -x
TBR=caryclark@google.com
Bug: skia:
Change-Id: I956ae3d8df6d25e155e62bd6dede64519c7fbdb1
Reviewed-on: https://skia-review.googlesource.com/114321
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
When both GL_EXT_texture_format_BGRA8888 and GL_APPLE_texture_format_BGRA8888
extensions are present, the presence of GL_APPLE_texture_format_BGRA8888 was
preventing GL_EXT_texture_format_BGRA8888 from allowing BGRA8888 to be used
as a render target. By checking for GL_EXT_texture_format_BGRA8888 first,
this solves the issue.
The issue was encountered trying to run vr_pixeltests on top of SwiftShader
on the bots with a version of SwiftShader exposing both extension strings.
Change-Id: I446ec502a4703d24c24339708dcbbe9c334a7533
Reviewed-on: https://skia-review.googlesource.com/114495
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Alexis Hetu <sugoi@google.com>
All issues have been resolved.
Bug: skia:
Change-Id: Id63d63ad081725885cb0225b410b0d3972abd8f7
Reviewed-on: https://skia-review.googlesource.com/113060
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
A system for prewarming the cache using a single "RPC"
This improve performance by ~5X.
This is a checkin of rough code so I can use small
changes clean it up.
BUG=skia:7515
Change-Id: Id0192b4f533c257b0a7eea0170b1e25c336d6432
Reviewed-on: https://skia-review.googlesource.com/105440
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Accessor is for debugging and Android.
Less is for ordered containers.
Change-Id: Ic4b7e0e9e32506f8594db961c274f93c5b5d1cee
Reviewed-on: https://skia-review.googlesource.com/114369
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit 7d2b16ad13.
Reason for revert: Maybe breaking chrome?
Original change's description:
> Improve handling of GrPixelConfig in GrBackendTex/RT ctors
>
> Make sure that no client facing code was relying on what we set as the
> default value for fConfig by making in kUnkown.
>
> Bug: skia:
> Change-Id: Ie52ff08ba8deeacc16fe06eb0dd0c7292b2edf91
> Reviewed-on: https://skia-review.googlesource.com/114261
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I91e190d72407f9c4bee93a031a557f740bb49b66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/114423
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This experiment remove the need for rowbytes to be
4 byte aligned in width. This causes waste in data
transfer between the Renderer and GPU process.
BUG=skia:7515
Change-Id: Iad0383ee0adbacaa791bf4251325867e82fdbea1
Reviewed-on: https://skia-review.googlesource.com/114371
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This reverts commit b78dd5d01e.
Reason for revert: possibly breaking chrome roll
Original change's description:
> Add back missing unique key checks when creating CachedBitmap/Image Proxies
>
> Its possible that this could fix perf regression in Chrome.
>
> Bug: 811452
> Change-Id: I2d4f7827092b361469586580f0c7c843ab2d5cec
> Reviewed-on: https://skia-review.googlesource.com/114280
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
TBR=egdaniel@google.com,bsalomon@google.com,robertphillips@google.com
Change-Id: I71646befd07bf28442ac3b9225c021cd141bf398
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 811452
Reviewed-on: https://skia-review.googlesource.com/114422
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Adds an attenuation parameter to corners that corrects the over-coverage
from linear interpolation.
Adds a GM for shared corners that ensures we're doing this right.
Bug: skia:
Change-Id: Iff8bd40554f9fda2e7e03faa3c9fbefe65f27568
Reviewed-on: https://skia-review.googlesource.com/114272
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Make sure that no client facing code was relying on what we set as the
default value for fConfig by making in kUnkown.
Bug: skia:
Change-Id: Ie52ff08ba8deeacc16fe06eb0dd0c7292b2edf91
Reviewed-on: https://skia-review.googlesource.com/114261
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Its possible that this could fix perf regression in Chrome.
Bug: 811452
Change-Id: I2d4f7827092b361469586580f0c7c843ab2d5cec
Reviewed-on: https://skia-review.googlesource.com/114280
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Change-Id: Ib121eb0d5af1f22f48f517fe909112a77d92032e
Reviewed-on: https://skia-review.googlesource.com/113666
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
This suppresses the noexcept-type warning, since Skia doesn't have a
stable ABI in any event. GCC now warns on more printf style formats,
so we have to hide our bad test formats a little better. GCC now
also warns on implicit enum to bool conversions, which did catch two
issues.
Change-Id: Ib81769c421757186506873f0fe298ecd0106ae87
Reviewed-on: https://skia-review.googlesource.com/114263
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Even with verified/finite inputs, fx can sometimes collapse to infinity.
When that happens, attempting to apply repeat/mirror tiling produces NaN
results and things go south.
Catch these degenerate cases and tile to 0 (for lack of a better idea).
Note: leaving fx == +/- inf in clamp mode should be safe.
BUG=oss-fuzz:6622
Change-Id: I65711020057856b47045f67a52d906336ad1f173
Reviewed-on: https://skia-review.googlesource.com/114090
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Add a third define in SkCanvasPriv to complement
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag and
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag.
SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag exists only to define
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag and
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag.
SkCanvas::kDontClipToLayer_Legacy_SaveLayerFlag is used only by
Android framework.
SkCanvasPriv::kDontClipToLayer_SaveLayerFlag is used internally.
Note that changes to CanvasStateTest.cpp inside
SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG aren't testable by existing
skiabots; it requires building an Android framework aware version
of dm. CanvasStateTest.cpp may have bit-rotted.
R=reed@google.com,scroggo@google.com
Bug: skia:6454,skia:7690
Change-Id: I74f2a54636fae89a5a88a7e13f1baba49d3e2115
Reviewed-on: https://skia-review.googlesource.com/112401
Commit-Queue: Cary Clark <caryclark@skia.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
SkTraceEventCommon.h currently includes <utils/Trace.h>, but doesn't
actually use anything directly from it. In addition, Skia doesn't
directly depend on libutils, but instead on libcutils. As a result,
replace the <utils/Trace.h> include with <cutils/trace.h> which is what
actually provides all the needed macros and declarations.
Change-Id: Ic6a7283c71fc94058f735b1b3e541fec3a7db760
Reviewed-on: https://skia-review.googlesource.com/114099
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Bug: chromium:820913
Change-Id: I77f9b40cf6173369a4a1b943d71734c305893e09
Reviewed-on: https://skia-review.googlesource.com/114140
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We now check GL_NUM_SHADER_BINARY_FORMATS to ensure that it is greater
than zero, and handle errors that occur when we try to install a
cached shader by falling back to using GLSL.
Bug: skia:
Change-Id: I1ac46243e9c561d15e1b4190b68afbf514fc8079
Reviewed-on: https://skia-review.googlesource.com/113820
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Bug: b/70846442
Test: I5110881203c000474116a94a48f2afc9a9b62001
These methods were already called by the client. The client may have
further overridden the SkColorType (and therefore the SkColorSpace), so
respect their final decision on both.
Change-Id: Iddcf618e474784b0a000fd516250c44285dacc6b
Reviewed-on: https://skia-review.googlesource.com/114062
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Update unit tests to use backend render targets on non-GL contexts
Add named DM configs for rendering to Vulkan backend render targets and textures.
Make src data ptr param to createTestingOnlyBackendTexture be const.
Change-Id: I17f5375ed9bb08422006698956469d3151c4954c
Reviewed-on: https://skia-review.googlesource.com/113276
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>