Currently if we our GrVkImage is already in the desired read-only
layout, we'll skip issuing an image memory barrier when setImageLayout
is called.
This is normally fine, but if the image is on the incorrect queue
(typically hit with EXTERNAL queue transitions), we can't skip the
barrier, as we need to transition to our internal queue.
Bug: skia:8909
Change-Id: Ic5f68454eb7c4eaf62582e8bc2531d6477eb6e60
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203183
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This reverts commit 93b3dce89d.
Revert "Delete old assembleInterface code"
This reverts commit 7b1cf20d47.
Revert "Delete in favor of autogenerated file"
This reverts commit 0223bd01d8.
Bug: skia:8474
NOTRY:true
Change-Id: I23a904347f9d6cefd1710a2de056c39d52f4b178
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203463
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
We only care about two things: RT binds and shader compiles. RT binds
should be constant frame-to-frame, and shader compiles should always be
zero on frame 2, so just measure on frame 1.
Bug: skia:
Change-Id: I4defa0a6dc79413b375ec60b5024fa57e768b127
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203391
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
In general this makes sure we never directly read or write pixels or use one of
the vk image copy functions if we are dealing with a VkImage that requires a Ycbcr texture.
Bug: b/129037735
Change-Id: Ib3bbac8bcddb643942e08d2b2ae3381fda6758a7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203388
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
It's a wasted shader compiler and also seems to cause a rendering bug
in Windows Chrome on ANGLE.
Bug: chromium:942565
Change-Id: I56373ac596d4d1548d6c86cda7127bf12190a0ae
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203383
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Bug: skia:8894
Change-Id: Id3dbc02894f87dcf81f65048945692e54cca38f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203059
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: b/113636985
Change-Id: I80df664a077751e9ce5c735694e7ba283e93bcc1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203170
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This CL creates a go program that takes a JSON file of
GPU functions and creates the assemble and validate code
based on that.
This approach will hopefully will lessen the need for
"shotgun surgery" anytime a new function/extensions is added.
Additionally, it should be easier to add a new standard
(concretely, WebGL) using this technique.
There are a few potential bugs/mismatches in the current
implementation that this has identified, for example,
Requiring GL 3.x for adding a feature, but only verifying
it is there on GL 4.x - I did not attempt to correct these
bugs in the old version, as we will hopefully be able to delete
that version and use the generated files.
Bug: skia:8474, skia:8378
Change-Id: Ie8144bbab8e03f2c815fd942fa9f7f91dedba101
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202137
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Adds fix for mip-mapped requests on devices with no mip support.
This reverts commit ab4c138c0e.
Bug: skia:
Change-Id: I85350ae32081253448cbd2f636ea3044eb9df453
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203057
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Also, fix the trace marker name.
Bug: skia:8903
Change-Id: Ibf43efbdf73e406482ed4442639e22aec1d93e9f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203058
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 9f20ff6fdf.
Reason for revert: Regression in wacky_yuv_formats GMs (rows are missing?)
Original change's description:
> Simplify two more clients of proxy provider (mipped vs. non-mipped)
>
> Bug: skia:
> Change-Id: Ic9a2e0e4afe96d916f9054cd7fbd66ee0147719e
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203162
> Auto-Submit: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: skia:
Change-Id: If496ff168cc236207458eecd9c120f89b7fd6690
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203054
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
This reverts commit 97d957d1db.
Reason for revert: Looking at perf, desktop GPUs get better, many mobile GPUs get worse.
Original change's description:
> Remove GrDrawAtlasOp
>
> The base device turns drawAtlas into drawVertices, which ends
> up being *faster* (in my tests) than our specialized code.
>
> It's certainly possible to write a custom version that's better,
> but for now, it seems better to just do this.
>
> Bug: skia:
> Change-Id: I247f0c0a24fb21c8206f4e3ea9fecac85679ba73
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203163
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,brianosman@google.com,reed@google.com
Change-Id: Idfb3dd7d33a3905644aafdefc99e7814b08d7c7b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203053
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The base device turns drawAtlas into drawVertices, which ends
up being *faster* (in my tests) than our specialized code.
It's certainly possible to write a custom version that's better,
but for now, it seems better to just do this.
Bug: skia:
Change-Id: I247f0c0a24fb21c8206f4e3ea9fecac85679ba73
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203163
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
The remote glyph cache was not processing the fallbacks, because the
code was improperly gaurded against not having a processor.
Disable the test until I can figure out how to deal with GPU
variation.
Change-Id: I58faf5551a87c1df2f70cf10cbd5d1dee4cb89af
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203173
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This reverts commit 4dd7c1dae1.
Reason for revert: largeovals GM is busted on some configs
(Mali400MP2, Adreno405, ANGLE, e.g.)
Original change's description:
> Reland "Fix blurry edges on large ovals."
>
> This is a reland of c7aed036c3
>
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half.
> In the medium-precision case, adds a scale factor to the shaders to ensure that the
> denominator of the distance calculation stays within range. If enough precision isn't
> available, falls back to a path renderer.
>
> Original change's description:
> > Fix blurry edges on large ovals.
> >
> > Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> > low-precision case, it falls back to a path renderer for large ovals.
> >
> > Bug: b/110380864, skia:8873
> > Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> > Commit-Queue: Jim Van Verth <jvanverth@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
>
> Bug: b/110380864, skia:8873
> Change-Id: Ic72d819f589ffebf9c5250bb4df4de22ab23f282
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202718
> Reviewed-by: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
TBR=jvanverth@google.com,bsalomon@google.com,brianosman@google.com
Change-Id: I3467da7e71a0f0dae4349f0f003b55c7db7dbb1d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/110380864, skia:8873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203174
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:
Change-Id: Ic9a2e0e4afe96d916f9054cd7fbd66ee0147719e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203162
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is a reland of c7aed036c3
Changes the precision for the GrOvalOpFactory shaders to be float rather than half.
In the medium-precision case, adds a scale factor to the shaders to ensure that the
denominator of the distance calculation stays within range. If enough precision isn't
available, falls back to a path renderer.
Original change's description:
> Fix blurry edges on large ovals.
>
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> low-precision case, it falls back to a path renderer for large ovals.
>
> Bug: b/110380864, skia:8873
> Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
Bug: b/110380864, skia:8873
Change-Id: Ic72d819f589ffebf9c5250bb4df4de22ab23f282
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202718
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
There are still several layers of redundancy and confusion, but this is
the first step to getting parallel/analogous functions to look and be
scoped similarly.
Bug: skia:
Change-Id: Ief5ecbd55335248a1fc04d66d0a95a8042b0fd28
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202958
Auto-Submit: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit d18cf5f6d4.
Change-Id: I2b79cfb47cf6ed9d3f81db51865d6824456158f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202955
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I1fd8cba067c0063c6621641e8196e69fd5e31cec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203080
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit 4acd3591e7.
Reason for revert: broke command buffer bot
Original change's description:
> Use glTexStorage for non-MIP mapped textures.
>
> We used to lazily add MIP levels to textures that originally only had
> a base level. However, we don't do that anymore.
>
> Also, add workaround for BGRA+Intel Windows driver+ES.
>
>
> Change-Id: I595261d12608effed4c7d4d4e5777869969acf84
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202719
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
TBR=egdaniel@google.com,bsalomon@google.com
Change-Id: Ie91a31f8558564ddd45d63591bf0725c64faa514
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202949
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We used to lazily add MIP levels to textures that originally only had
a base level. However, we don't do that anymore.
Also, add workaround for BGRA+Intel Windows driver+ES.
Change-Id: I595261d12608effed4c7d4d4e5777869969acf84
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202719
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Next up are changes to support non-aa and MSAA.
Bug: skia:
Change-Id: I944af201d92b1391f7937aabddf774e79fef8dc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202920
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Previously calling SkImage::alphaType(), for example, woult call
the virtual SkImage_Base::onImageInfo() which would construct
and return a temporary SkImageInfo. This often meant ref-ing a
SkColorSpace.
Change-Id: I54975a6b20dea5bc84739068df0c81c022a12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202711
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This reverts commit c7aed036c3.
Reason for revert: Breaking low precision bots
Original change's description:
> Fix blurry edges on large ovals.
>
> Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
> low-precision case, it falls back to a path renderer for large ovals.
>
> Bug: b/110380864, skia:8873
> Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
> Commit-Queue: Jim Van Verth <jvanverth@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
TBR=jvanverth@google.com,bsalomon@google.com
Change-Id: Iccfcfda139625ff7a2efdb39ccdbc05227840052
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/110380864, skia:8873
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202717
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:
Change-Id: I5d4b8ce195b57e5dd08602cfe21a0d461628c527
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202712
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Remove some illogical code which prevents large font size requests for
color fonts from working, and add a large mask fallback when drawing
with masks and there are no paths available.
Change-Id: I3e8c1dfc124cd315278b42cfcfebb39fc32212b8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202420
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Bug: oss-fuzz:13550
Change-Id: I7ca06a44214290fe283b151f71d8f44a3ffbe225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202707
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Adds YUV planar image to the compositor_quads_image GM, confirmed
locally that it uses the effect instead of flattening the planes
into a single proxy (like before).
Bug: skia:
Change-Id: I0dea16bbaae34ae44cb1b51db9d2953231a6bf22
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201619
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
- SkColorSpaceXformer
- makeColorSpace on SkShader, SkColorFilter,
SkImageFilter, SkDrawLooper, and SkLights
- DM support and some bot configs
Bug: skia:8773
Change-Id: I16ef8f487de6c35329b3b0474c1d66d7fa0a6220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202430
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Changes the precision for the GrOvalOpFactory shaders to be float rather than half. In the
low-precision case, it falls back to a path renderer for large ovals.
Bug: b/110380864, skia:8873
Change-Id: I89e8dd067a2e0cab35b1bb515adaab4a2fb4f222
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201615
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: I657ebb580c325f3cfdbf7dad7a0c1f0a118e3769
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202725
Auto-Submit: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This version makes these shaders draw differently, shading in sRGB then
transforming to dst, rather than transforming all inputs to dst then
shading.
There aren't many shaders that fall into this path (perlin noise and
lighting shader only?), and I think the legacy, sRGB, and even esRGB
paths should draw the same, so it may be we can kind of just slip this
through?
Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
Change-Id: I0860f9f43c5ed8962fb0fe9405c15e664232dde9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202724
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Cq-Include-Trybots: skia.primary:Housekeeper-PerCommit-CheckGeneratedFiles
Change-Id: I93f928c35b2369c9e496d4e887e8500970bea2ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202359
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Not quite feature complete yet, but at a point where it's worth checking
in.
Bug: skia:
Change-Id: I21141d30e8582a79e94450d84e56bacc067249e0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201685
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is probably the last wacky YUV format that is easy for us to support.
Change-Id: Id9a4ba595f4e9893e9bd91ac937e08bf1d8559ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/177621
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Cq-Include-Trybots: skia.primary:Build-Debian9-Clang-arm-Debug-Chromebook_GLES
Change-Id: I4a8511b617a5b6e48e166e635c3067f8b684f0e1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202135
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: I0326eb9cc1e1e38b0fdc417567987a595f9021d2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202310
Commit-Queue: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>