Basic maintenance to get basic things working. Most of the motivation is
to use better ownership and iteration patterns.
Change-Id: If8ffe0c7b2bddd55259ac8fa119fc9e233b9249d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236616
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Bug: skia:9282
Change-Id: I4f00c8a608ab4ce9557228d162c205bcc2002a3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234583
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
The existing intersect logic already fails if either argument is empty,
without performing any extra checks.
Change-Id: I4cc4f1e63af7efbed4e1084284c1607c104ff361
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237142
Reviewed-by: Mike Reed <reed@google.com>
Auto-Submit: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: I30a7fe759d367d518f3de78043b43ca4738a1ccb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237143
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
spirv-tools and spirv-headers were about two years out-of-date, and
Dawn requires more recent versions.
This required an updated BUILD.gn file for spirv-tools. I used a
modified version of the one I had written for Dawn. (The latter will
be removed in favour of this one when we switch the Dawn backend
from using Dawn's DEPS for spirv-tools and spirv-headers to using
Skia's).
Change-Id: If61eb05ada9f4287b1a16daf10f9b1fac041a7b0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234907
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
17f26865c8..3c6b2e1613
git log 17f26865c8cc..3c6b2e1613c8 --date=short --no-merges --format='%ad %ae %s'
2019-08-23 jmadill@chromium.org More improvements to trace logging.
2019-08-23 dongja@google.com Vulkan: Improve cubemap emulation seam handling
2019-08-23 bsheedy@chromium.org Refactor perf tests to fix metric/story swapping
2019-08-23 geofflang@chromium.org Don't reset the texture size to zero in TextureGL::releaseTexImage on Mac.
2019-08-23 geofflang@chromium.org GL: Unset the bound PBO when initiailizing texture data.
2019-08-23 jonahr@google.com Suppress failure in MultisampleCompatibilityTest
2019-08-23 jmadill@chromium.org Vulkan: Reference Context fences in FenceSyncVk.
2019-08-23 geofflang@chromium.org Only log D3D11 annotations from the thread used to initialize the annotator.
2019-08-23 clemendeng@google.com Don't build symbol table for GLSL built-ins if on Android
2019-08-23 dongja@google.com Vulkan: support dynamic indices in array of arrays
2019-08-23 svaisanen@nvidia.com Add several angle bugs for end2end tests failing on NVIDIA
2019-08-23 svaisanen@nvidia.com Add AtomicCounterIncrement test case
2019-08-23 jaedon1.lee@samsung.com Vulkan: Implement EXT_texture_type_2_10_10_10_REV
2019-08-23 jonahr@google.com Revert "Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA"
2019-08-23 syoussefi@chromium.org Vulkan: Support mixed column/row-major buffer fields
2019-08-23 syoussefi@chromium.org Translator: Allow tree validation in children of TCompiler
2019-08-23 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/glslang/src 34cccdc65d79..a3bc04b278ed (5 commits)
Created with:
gclient setdep -r third_party/externals/angle2@3c6b2e1613c8
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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=stani@google.com
Change-Id: Ic9573bb1822c9980d77b6168d2e14f496b0d147c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237097
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
edb7520e0e..26bef93711
Created with:
gclient setdep -r ../src@26bef93711
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=stani@google.com
Change-Id: I6088840e5622c682fdc6834932bb554d709ec55b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237098
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.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/7f75c0e92e6aa75cfb773d06201b919ec196faf0 owners: fix inline comment support in included files. (jbudorick@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I873efa840e560c3cf7b728d1ca144094a97cdb57
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/237018
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/2d6b67c590bc21568b1165f36102605d736c9dc1 depot_tools: Fix bug when running both python2 and python3 tests. (ehmaldonado@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iab9dea7fa98888532aa5048bf3709ea635eae07d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236954
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>
Move all GrSurface copying to GrDawnGpu (refactoring
getDawnTextureFromSurface out of existing code).
Change-Id: I7d18530f6c32d224db1af2719d9d8fc59e755451
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236916
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Today we do a fairly decent job of tracking device bounds as an SkIRect,
with a little more of that plumbed through here, but that gets foiled in
SkNoPixelsDevice's constructor where we only look at bounds.width() and
bounds.height().
I think the idea was to follow the usual constraint that a "base" layer
has an origin at (0,0) and only temporary "save" layers on top might be
offset, but for a device without any pixels it's pretty reasonable for
the base layer to be offset too.
This makes picture_cull_rect draw correctly in serialize-8888 mode.
Bug: skia:9334
Change-Id: I845e74779bb21cbfd4051b0ef07381e684176eac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236859
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
GrDawnGpu vends ring buffer slices out of a persistent (larger) buffer.
GrDawnProgramDataManager::setData() now returns a BindGroup containing
the (possibly new) UBO bindings, as well as the texture and sampler
bindings.
Change-Id: Id6694d6f44a815cfbffe4293779bf9bf558a2365
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235866
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
The drawing manager was just grabbing an opsTask off of these contexts
anyway. Instead, the onFlushResourceProvider can just snag an opsTask
off the renderTargetContext and populate the drawing manager's list of
onFlushRenderTasks.
Bug: skia:
Change-Id: I3bdb48176364bbd6e5a34fab437c45ed77d6687f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236760
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Take advantage of the new virtual on SkShaderBase : appendStagesWithUpdater
If our shader supports that, we can draw each triangle without having to
recreate the entire pipeline/blitter.
This change produces 3 different loops:
tricolor only : uses private backdoor to update colors per triangle
has updater : uses updater to update ctm per triangle
general : rebuilds pipeline/blitter on each triangle
In a follow-up, we may be able to plumb updater through to other shaders
(other than image), which would have us land in the updater case more
often.
Before
728.09 verts_textures_colors 8888
167.48 ? verts_colors 8888
510.17 verts_textures 8888
After
729.61 verts_textures_colors 8888
168.80 verts_colors 8888
219.58 verts_textures 8888
Change-Id: I87a6e6dc23dfba3377d6f9a54818fe6b8d349018
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235801
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
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/90e930e2da74f78601bb968224ed3b15be2e36f5 [devtools] add devtools-frontend to gclient repo_path_map (tmrts@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ib7eece06c1b6674cb745a776670b972bec2991a0
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236761
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>
91dc5da806..17f26865c8
git log 91dc5da80684..17f26865c8cc --date=short --no-merges --format='%ad %ae %s'
2019-08-23 syoussefi@chromium.org Vulkan: Fix missing deepCopy() from dFdy transform
2019-08-23 syoussefi@chromium.org Vulkan: Fix missing deepCopy()s in FlipBuiltinVariable
2019-08-23 jmadill@chromium.org Revert "Vulkan: Use VK repos' internal BUILD.gn files"
2019-08-22 dakshidnani@google.com Reland "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
2019-08-22 clemendeng@google.com Use flat arrays instead of switches for function lookups
2019-08-22 tobine@google.com Vulkan: Use VK repos' internal BUILD.gn files
2019-08-22 lujc@google.com Use SamplerID in place of GLuint handles
2019-08-22 clemendeng@google.com Change gl_DrawID from level = ESSL1+ESSL3 to COMMON
2019-08-22 svaisanen@nvidia.com Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA
2019-08-22 jonahr@google.com Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
2019-08-22 angle-autoroll@skia-public.iam.gserviceaccount.com Roll ./third_party/spirv-tools/src 0cbdc7a2c35b..aef8f92b2bb6 (2 commits)
Created with:
gclient setdep -r third_party/externals/angle2@17f26865c8cc
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:Test-Win10-Clang-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC5i7RYH-GPU-IntelIris6100-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUC8i5BEK-GPU-IntelIris655-x86_64-Debug-All-ANGLE;skia.primary:Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Debug-All-ANGLE
Bug: None
TBR=egdaniel@google.com
Change-Id: Iba12e7b093c47467b7d34f5430fa0bf15365b7de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236697
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
0ef8680cf8..edb7520e0e
Created with:
gclient setdep -r ../src@edb7520e0e
The AutoRoll server is located here: https://autoroll.skia.org/r/chromium-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:Perf-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Release-All-CommandBuffer;skia.primary:Test-Mac10.13-Clang-MacBookPro11.5-GPU-RadeonHD8870M-x86_64-Debug-All-CommandBuffer
Bug: None
TBR=egdaniel@google.com
Change-Id: I49c3cecac216dd21641a978f7e3850117e86d55d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236725
Reviewed-by: skia-autoroll <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll <skia-autoroll@skia-public.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/940c282116e124616efbacbd8dc571f72000fa8d depot_tools: Make it possible to run python3 tests on PRESUBMIT. (ehmaldonado@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Iad8ede703d5fb1acf2a71c47e0c6dc3c446216c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236719
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/3a96d62052bce3591d9e499709cbb9780fb88543 autoninja: Support cmake-based builds (sbc@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I761540a4a11c31fc6753f449bde774ed73f1c72b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236541
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 reverts commit 9e081d164c.
Reason for revert: Spike in cache misses: chromium:996636
BUG=chromium:996636
Original change's description:
> Don't send strike with no pending glyphs
>
> This changes tracks the strikes to send as a set of pointers
> to SkGlyphCacheState instead of as descriptors. This removes a descriptor
> lookup allowing rapid calculation of the actual number of strikes to send.
> Knowing the number of strikes with changes allows us to remove sending a boolean
> if strike has no pending glyphs.
>
> Change-Id: Id173336e238daebc19564248a818eb9dbdbe6db6
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/235827
> Reviewed-by: Mike Klein <mtklein@google.com>
> Reviewed-by: Khushal Sagar <khushalsagar@chromium.org>
> Commit-Queue: Herb Derby <herb@google.com>
TBR=mtklein@google.com,herb@google.com,khushalsagar@chromium.org,khushalsagar@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I0e0c8877be8d08be4b62a029005889068b6e4cc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236351
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@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.
depot_tools:
https://crrev.com/7f90416c08be42ae4422cd1e78b63e5042c208e2 depot_tools: Use git-checkout instead of git-rebase. (ehmaldonado@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia2b5d2afbf30be86f1ef21b6602a203552adb025
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236416
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>
In a follow up CL I will be merging GrRenderTargetOpList and GrOpList
since we no longer have need for that separation.
Change-Id: I267ead3beeceaece504968ca69165c425d38f761
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236337
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
This kind of defeats the purpose of the original intent, which was to
read from the dst without doing a copy. If the target requires a
manual resolve, then we will do an internal copy anyway to resolve
MSAA. And furthermore, we end up resolving the entire render target as
opposed to just copying the op's bounds.
Bug: skia:
Change-Id: I1b4048dc6536853d2c0168c355040f1c3b142736
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Bug: b/78868457
Bug: b/120414514
No longer needed, now that Android has switched over to the new API.
Change-Id: Idd2f2e843311aee11fb8d053e0ad3ccf98e429e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236340
Auto-Submit: Leon Scroggins <scroggo@google.com>
Reviewed-by: Chong Zhang <chz@google.com>
Commit-Queue: Leon Scroggins <scroggo@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.
depot_tools:
https://crrev.com/4c55b355580f0c0f0daebfb086b2ccf11d90f605 [devtools] create devtools-frontend gclient config (tmrts@chromium.org)
TBR=borenet@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Icee3b585ade298accc10b351f8bd0e101075cb23
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236324
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 reverts commit e67133b8e5.
Removing testing code that's no longer needed.
Change-Id: I27bc5c77d1bc1b928d5cdb89daf82ab5fd3878c8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/236338
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>