In order to effectively use the explicit backend texture allocation API Chrome needs a way to use them with surface characterizations
Change-Id: Ic61eff9f3b6b0e8280481149d7c08d37a2fe7ec0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222781
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: I961af6c2f143df6fd1109c2659df9424d1086705
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225443
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Something's trying to link libc++.so by default,
so ask it to link libc++.a with -static-libstdc++.
Either way, the linker can't find libc++ without
adding another library directory path.
I think both changes should be harmlessly ignored
before r20.
Change-Id: I5b67e1dcb8b40548dae5a8300151e4392ae551f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225436
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/2e24f9a6923e685d7068cdef1e6c54c9cf24babf [recipe_engine] Add debug os.read method on darwin. (iannucci@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib807a7536bfa9a74e68613d50d2617502871496f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225410
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/f21ffb4f9826378ac8d16f094fb01c22dd0ec766 Copy presubmit logic up into the presubmit recipe module. (jbudorick@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I18a74a191eb0ddc58b0e2b4fb25cd5e3ce89dee0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225396
Reviewed-by: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: Recipe Roller <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Most layer animators are scoped at the LayerController level - except for
animators related to layer transforms.
The reason for this exception is that dependent/child layers require up-to-date
transform chains even when the parent layer is inactive.
Currently, to escape LayerController scoping, layer transform animators
are stored directly in the parent (composition) scope. This works fine
for the initial purpose, but discards layer->transform-animator ownership
info.
Upcoming features (motion blur) require knowledge of all animators associated
with a given layer, and the current scheme gets in the way.
To address this problem, update the layer controller logic to
1) store all layer animators (including transform-related) in the controller
scope
2) always dispatch ticks to transform-related animators
No functional changes are expected.
TBR=
Change-Id: I60a443a51d11754dfbc953f28e57cb1c13c3d647
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225195
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Noticed we were only dumping the final register
programs for the integer code. Might as well also
track the value programs.
Change-Id: I417c5c655b632691557bbbb136dcbd3f3167af9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225324
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Herb Derby <herb@google.com>
This is test-only code only used by SkVMTest.cpp,
so it can live there. This cuts the dependency
of SkVM on SkStream and co.
Change-Id: I7695e527b2d16e4485f8c5f4cd39bb8300e9221d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225321
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
SkMakeSpan uses function type inference to remove boilerplate
code. The converting casts simplifies dealing with T* to const T*
uses.
Change-Id: I1851e144c4e530c275710514ce30ad75a7eb94c6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225192
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
This should allow Housekeeper-Nightly-UpdateGoDeps to complete.
Not clear why 'go get -u' is choking on this. The '1.1.7' tag seems to
have been deleted. If I change to '1.1.8', then 'go get -u' removes the
dependency anyway.
Change-Id: I8fbbf66c222b8d8894e91c72964f2cb5296d1a5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225193
Commit-Queue: Ravi Mistry <rmistry@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
This necessitated some Gr*Caps refactoring
Change-Id: I8d72e9645b51bcf72d58b2c2c4fbd9ee7e83ddf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225184
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This shouldn't have any practical effect since GrRTC can't be unpremul
but removes assumptions in these functions. This code will eventually
be lifted up to GrSurfaceContext which can be unpremul.
Change-Id: If8b2fb8b19d1160bc6561f6536518563f57c4351
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225185
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
These two guards are checking if we're building for aarch64 and thus
have F16 conversion instructions, but weren't checking if we want to use
them (if we have them _and_ we're being compiled by Clang). At head
we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
uint16x4_t, etc.
Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This will allow us to fill out all the workarounds in applyDriverCorrectnessWorkarounds
instead of having additional ones in initFormatTable.
Change-Id: I2fe2d6c831d0102e7cd8188033fee14b4e709ce4
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225176
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Lately we're not sure they're worth running.
I'd remove Perf-Debian9-Clang-GCE-CPU-AVX2-x86-Debug-All
from the CQ too but I can't find where that's configured.
Change-Id: Ieb55d9d39a6d9cf775e6740b9b541d3ceee01896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225163
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Change-Id: I74b041d3f820d423601bd06805edec001a0d980e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225256
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Make GrGpu base class validate GrMipLevel arrays and row bytes parameters.
GrCaps states whether row bytes passed to GrGpu must be tight or not and callers
are responsible for temporary buffers if needed to make tight.
Change-Id: I2c522f7bd67c86044a36b3f70e13d7dcb38b0a6b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224961
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Currently the different strikes caclulate SkPackedGlyphIDs from positions and
SkGlyphIDs. This means that there are two implementations one for SkStrike
and one for SkRemoteGlyphCache. This moves all SkPackedGlyphID calculations to
the painter thereby centralizing it.
Change-Id: If9467aca01d46aa3a2d62e7acbc97a5b6a97f13b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224544
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
This CL starts the support for properties that are dependent on both the
format and color type. For now this adds a can upload data flag which is
currenly used in combination with the format texturable flag to determine
high level "textureability" for ganesh. The only format where these two
flags diverage from eachother currently is RGBA8 format with BGRA colortype.
Change-Id: I08b419af355d698ca4e9001949be6b7fd2e1c33d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224959
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Updated caps to allow MSAA on newer Intel GPUs.
This reverts commit 41f937f042.
Bug: skia:9225
Change-Id: I15bdc4d4a754945fafcc4bc7d1afaa701d6f0426
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224958
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
In SkFloatToDecimal.cpp, the |output| parameter for SkFloatToDecimal()
is named |result|. Change it to |output| and change the local variable
|output| to |output_ptr|. Fix some typos along the way.
Change-Id: Id34848f4823e69fcbd5203618ea90083fc157b6c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225014
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Lays the infrastructure to use mixed samples internally, and begins
using nvpr with mixed samples on the default "gl" and "gles" configs.
In this rendition, we take the simplest approach possible re: stencil
attachments. We initially create a render target without stencil
(i.e., 0 samples). Then, any time a proxy needs a stencil buffer with
more samples than its target currently has, we create and attach a new
stencil buffer. However, we never "downgrade" a render target's
stencil attachment to one with fewer samples. So if the proxy only
needs one sample and the target has many, we leave it.
Bug: skia:
Change-Id: I8558ba799ac3dee457f349f77d4517c11413c9a9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224456
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
f116aa9c15..5faff91af4
git log f116aa9c158b..5faff91af499 --date=short --no-merges --format='%ad %ae %s'
2019-07-01 cnorthrop@google.com texture3D: Codegen changes towards OES_texture_3D
2019-07-01 cnorthrop@google.com Revert "Vulkan: pipeline cache not populated as blob cache is not set"
2019-07-01 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 6ccb52b86492..e6e3e2ccc6a2 (1 commits)
Created with:
gclient setdep -r third_party/externals/angle2@5faff91af499
The AutoRoll server is located here: https://autoroll.skia.org/r/angle-skia-autoroll
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:Build-Debian9-Clang-x86_64-Release-ANGLE;skia.primary:Perf-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE
TBR=jvanverth@google.com
Change-Id: I7850d53a7f6a0505d51488b6aafd23dc366b018a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225120
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Comments and earlier code verify that the radii are not less than 1/2.
Asserting that they are therefore greater than 1/2 fails (rarely).
Change-Id: I294eb2304c087332698dd624567a8e1d286d0144
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225037
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Bug: skia:9213
Change-Id: Ia29489b00bcaaf17d4c7b6613ed4f22e87a87ffc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224545
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Change-Id: Ie5d8eabb9db2911d41854535fb146ed53b0be8ed
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225007
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>
Unify the handling of glyph metrics data in SkFont.
Change-Id: Ie1ad2a96ba205c0ee4570d70461b9db0cd874918
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224577
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>
Bug: skia:6742
Change-Id: I96728c01e961c15085d44fdc7187806e363c27e3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224736
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I33332967bba0f16a73633f13ffa851e38eba100d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224737
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
This reverts commit e0b2dafeb6.
Reason for revert: Need to blacklist more unit tests
Original change's description:
> Test MSAA on Gen9 Intel GPUs
>
> Change-Id: Ie5441350fc150356ffb7d6acffe1089ca1de4364
> Bug: skia:9225
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224539
> Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
TBR=bsalomon@google.com,benjaminwagner@google.com,brianosman@google.com
Change-Id: I49c7a2f1132baeef80fa5296c2f2313f2bef0830
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:9225
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224956
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
No real pressing reason to have an AVX2-specialized interpreter now that
we've got an AVX2 JIT. Keeping things centralized makes it easier to
keep track of and helps reduce dependendcies on the rest of Skia, which
in turn makes it easier to develop SkVM on wimpy machines like an RPi.
Change-Id: Ic4729603ec6c9141929b3e2a56ba380240ea5e0d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224822
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
We deduce whether to premul or unpremul based on the the input/output
alpha types. This means we also now support unpremuling on write and
premuling on read.
Class-ify former struct GrPixelInfo. Remove origin and instead pass a
flip bool to GrConvertPixels.
Unifies read/write methods on GrSurfaceContext via automatic conversion
of SkImageInfo to GrPixelInfo and making GrDirectContext an optional
parameter.
Bug: skia:7580
Change-Id: I42f6997852b4b902fb81264c6de68ca9537606aa
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Some small refactoring to common up redundant opcode building.
Oddly, I think I've got better codegen than what Clang would do here.
Clang doesn't generate uxtl-based code to unpack 8-bit to 32-bit,
instead preferring to load each byte one at a time and insert them one
at a time.
Me:
ldr s0, [x0]
uxtl v0.8h, v0.8b
uxtl v0.4s, v0.8h
Clang:
ldrb w8, [x0]
ldrb w9, [x0, #1]
ldrb w10, [x0, #2]
ldrb w11, [x0, #3]
fmov s0, w8
mov v0.s[1], w9
mov v0.s[2], w10
mov v0.s[3], w11
Change-Id: I0fdf5c6cdcde6a4eb9290936284fd3ffcb2159f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/224821
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>