Issue 8434 in angleproject: Optimize DrawToSwapUs metrics on Android when using ANGLE

1 view
Skip to first unread message

geoff… via monorail

unread,
Nov 29, 2023, 1:39:00 PM11/29/23
to angleproj...@googlegroups.com
Status: Assigned
Owner: geoff...@chromium.org
OS: Android
Priority: Medium
Renderer: GLES
Type: Defect

New issue 8434 by geoff...@chromium.org: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434

This root bug tracks optimization work done to improve DrawToSwapUs metrics in Chrome when using ANGLE.

--
You received this message because:
1. The project was configured to send all issue notifications to this address

You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings

Git Watcher via monorail

unread,
Nov 29, 2023, 9:42:11 PM11/29/23
to angleproj...@googlegroups.com

Comment #1 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c1

The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/2a6336edc8f10b07235e3b1fc2434d3bb97dd64b

commit 2a6336edc8f10b07235e3b1fc2434d3bb97dd64b
Author: Geoff Lang <geof...@chromium.org>
Date: Wed Nov 29 18:35:57 2023

Don't construct a compiler instance on shader cache hits.

We can avoid constructing a shader compiler instance and then
destroying it when we get shader cache hits. The resources and output
type are available from the root gl::Compiler object.

Bug: angleproject:8434
Change-Id: I2de43db34dc1b86265aa648b1275e32814487ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073292
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

[modify] https://crrev.com/2a6336edc8f10b07235e3b1fc2434d3bb97dd64b/src/libANGLE/MemoryShaderCache.cpp
[modify] https://crrev.com/2a6336edc8f10b07235e3b1fc2434d3bb97dd64b/src/libANGLE/MemoryShaderCache.h
[modify] https://crrev.com/2a6336edc8f10b07235e3b1fc2434d3bb97dd64b/src/libANGLE/Compiler.h
[modify] https://crrev.com/2a6336edc8f10b07235e3b1fc2434d3bb97dd64b/src/libANGLE/Shader.cpp

Git Watcher via monorail

unread,
Nov 29, 2023, 9:43:11 PM11/29/23
to angleproj...@googlegroups.com

Comment #2 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c2


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/820e0d7a0d4c5a9ccdf92b36facae4bf50a87f3b

commit 820e0d7a0d4c5a9ccdf92b36facae4bf50a87f3b
Author: Geoff Lang <geof...@chromium.org>
Date: Wed Nov 29 18:39:27 2023

Compute the shader hash without copying objects.

The shader hash was calculated by generating a large string and then
sha1 hashing the string. sha1 can be generated with a fixed memory cost
using the angle::base::SecureHashAlgorithm class.

Bug: angleproject:8434
Change-Id: I816e2c3bbc7283cd5424621b4cc8f6dab0407aa4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5073293

Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

Git Watcher via monorail

unread,
Dec 12, 2023, 10:07:15 PM12/12/23
to angleproj...@googlegroups.com

Comment #3 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c3


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/b25ffe5a9775cc912a304c8552dd9c097a93420a

commit b25ffe5a9775cc912a304c8552dd9c097a93420a
Author: Geoff Lang <geof...@chromium.org>
Date: Thu Dec 07 21:36:29 2023

Optimize HandleAllocator for fast ID churning.

Instead of calculating ranges of IDs and the overhead with updating
them every allocation/release, store a released ID list in a small
FastVector.

Optimize the allocate path for the "good case" of no reserved IDs so
that it either pops the last released ID or incriments a next value and
returns it. Release has a similar cost of just a push_back when there
are no reserved IDs.

This adds a small fixed memory cost due to the FastVector and a dynamic
memory cost of mReleasedList having up to N elements where N is the
maxmimum total handles allocated at one time.

Bug: angleproject:8434
Change-Id: I7c5aa126b5303c105cd2464d0d0933b922cc2b8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5101509
Reviewed-by: Charlie Lao <cc...@google.com>
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/libANGLE/HandleAllocator.cpp
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/common/FastVector.h
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/libANGLE/ResourceManager.h
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/libANGLE/ResourceManager.cpp
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/libANGLE/HandleAllocator_unittest.cpp
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/libANGLE/HandleAllocator.h
[modify] https://crrev.com/b25ffe5a9775cc912a304c8552dd9c097a93420a/src/common/FastVector_unittest.cpp

Git Watcher via monorail

unread,
Dec 13, 2023, 1:35:11 PM12/13/23
to angleproj...@googlegroups.com

Comment #4 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c4


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/df4d96673e7f41acf4379b4f6b352dde265a58ac

commit df4d96673e7f41acf4379b4f6b352dde265a58ac
Author: Solti Ho <so...@google.com>
Date: Wed Dec 13 18:28:53 2023

Revert "Optimize HandleAllocator for fast ID churning."

This reverts commit b25ffe5a9775cc912a304c8552dd9c097a93420a.

Reason for revert: b/316162914

Original change's description:

> Optimize HandleAllocator for fast ID churning.
>
> Instead of calculating ranges of IDs and the overhead with updating
> them every allocation/release, store a released ID list in a small
> FastVector.
>
> Optimize the allocate path for the "good case" of no reserved IDs so
> that it either pops the last released ID or incriments a next value and
> returns it. Release has a similar cost of just a push_back when there
> are no reserved IDs.
>
> This adds a small fixed memory cost due to the FastVector and a dynamic
> memory cost of mReleasedList having up to N elements where N is the
> maxmimum total handles allocated at one time.
>
> Bug: angleproject:8434
> Change-Id: I7c5aa126b5303c105cd2464d0d0933b922cc2b8f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5101509
> Reviewed-by: Charlie Lao <cc...@google.com>
> Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

Bug: angleproject:8434
Change-Id: Ide43d787b6942cc6b622e3b5d938bfbbbf3b3ebb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5120277
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>

[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/libANGLE/HandleAllocator.cpp
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/common/FastVector.h
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/libANGLE/ResourceManager.h
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/libANGLE/HandleAllocator_unittest.cpp
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/libANGLE/ResourceManager.cpp
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/libANGLE/HandleAllocator.h
[modify] https://crrev.com/df4d96673e7f41acf4379b4f6b352dde265a58ac/src/common/FastVector_unittest.cpp

Git Watcher via monorail

unread,
Jan 18, 2024, 10:07:12 AM1/18/24
to angleproj...@googlegroups.com

Comment #5 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c5


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/f1150231f174a421c93f6d174985ec1c962cde2a

commit f1150231f174a421c93f6d174985ec1c962cde2a
Author: Geoff Lang <geof...@chromium.org>
Date: Tue Jan 16 21:28:36 2024

Track WebGL buffer type in gl::Buffer state.

WebGL has special validation that disallows buffers from changing
"WebGL buffer type". Once a buffer is marked as having index data it
cannot be bound as any other type of buffer except the copy binding
points to copy to other index buffers. This disallows any GPU writes
to buffers used for index data.

Use this rule to shadow index buffer data when the driver is unable
to give us robust access. Index range computation can be done much
faster when the buffer does not need to be read back.

Bug: angleproject:8434
Change-Id: I059eff732bb2f43234f61d9ef5528289f7698b38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5200242
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Geoff Lang <geof...@chromium.org>

[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/renderer/gl/BufferGL.cpp
[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/Buffer.cpp
[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/Buffer.h
[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/Context.inl.h
[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/renderer/gl/BufferGL.h
[modify] https://crrev.com/f1150231f174a421c93f6d174985ec1c962cde2a/src/libANGLE/Context.cpp

Git Watcher via monorail

unread,
Apr 3, 2024, 1:05:19 PM4/3/24
to angleproj...@googlegroups.com

Comment #6 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c6


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/18df8bba3c956364bc611a0174ab439adc17c9e0

commit 18df8bba3c956364bc611a0174ab439adc17c9e0
Author: Geoff Lang <geof...@chromium.org>
Date: Wed Apr 03 17:04:04 2024

Disable robust resource init for compositor contexts.

Skia manages resource initialization and is trusted to do correct
buffer bounds checking, stop requesting that ANGLE does it too.

This mirrors the context creation parameters of the rasterization
context.

Bug: angleproject:8434
Change-Id: I3d8e4b573e02e9d8a17b4d8170bdfe47ca15ffb0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5419749
Reviewed-by: Victor Miura <vmi...@chromium.org>
Commit-Queue: Geoff Lang <geof...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1281926}

[modify] https://crrev.com/18df8bba3c956364bc611a0174ab439adc17c9e0/gpu/command_buffer/service/service_utils.cc

Git Watcher via monorail

unread,
Apr 4, 2024, 4:00:22 AM4/4/24
to angleproj...@googlegroups.com

Comment #7 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c7


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a

commit 58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a
Author: angle-autoroll <angle-a...@skia-public.iam.gserviceaccount.com>
Date: Thu Apr 04 07:01:50 2024

Roll Chromium from 15bf920f7a6d to 1adf104afb7c (652 revisions)

https://chromium.googlesource.com/chromium/src.git/+log/15bf920f7a6d..1adf104afb7c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle...@google.com,yux...@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/da96935f66..72d37de74c
* third_party/android_build_tools/manifest_merger: HxnrwdWmIAhi90brIHiGZ4zmnmgKxP4PD0ZsJX6j-mUC..wtRWPCJVk_NA2GQp0fI-1i-JaPzYJwp6w3udjEhgni4C
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1a9ea5caf5..5dc83f8b37
* third_party/fuchsia-sdk/sdk: version:19.20240320.0.1..version:19.20240328.3.1
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/1317096ef8..932d253fed
* third_party/r8: eHemH-tzLR3jqxqGYiQu6AYGLAPyFYG7klrqbvu1mcQC..RvhY-w0KwR-5yqm3r8vmLlFTlW6DeIENkCxHL9KSYqQC
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6631de9ce9..dd5cc704c5
No update to Clang.

Bug: angleproject:8434
Tbr: yux...@google.com
Change-Id: Iaf5049d1b2fa746c27aa48ceef099ad87567c259
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5419781
Commit-Queue: angle-autoroll <angle-a...@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-a...@skia-public.iam.gserviceaccount.com>

[modify] https://crrev.com/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a/tools/perf
[modify] https://crrev.com/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a/third_party/depot_tools
[modify] https://crrev.com/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a/testing
[modify] https://crrev.com/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a/DEPS
[modify] https://crrev.com/58fc2f23ccd5b786298b7ff5a40cf35289a7fa0a/third_party/libc++abi/src

Git Watcher via monorail

unread,
Apr 26, 2024, 6:59:18 AM4/26/24
to angleproj...@googlegroups.com

Comment #8 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c8


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/884dc38077b6e8f827b0f13a54b61f64dc20ecfa

commit 884dc38077b6e8f827b0f13a54b61f64dc20ecfa
Author: Geoff Lang <geof...@chromium.org>
Date: Wed Apr 24 20:46:01 2024

EGL: Make eglGetCurrent(Context|Surface|Display) lockless.

These functions access only egl::Thread state.

Bug: angleproject:8434
Change-Id: I3dd6cd1f4fd145613f0be824e4f6e13815422997
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5485526
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

[modify] https://crrev.com/884dc38077b6e8f827b0f13a54b61f64dc20ecfa/scripts/code_generation_hashes/GL_EGL_entry_points.json
[modify] https://crrev.com/884dc38077b6e8f827b0f13a54b61f64dc20ecfa/src/libGLESv2/entry_points_egl_autogen.cpp
[modify] https://crrev.com/884dc38077b6e8f827b0f13a54b61f64dc20ecfa/scripts/generate_entry_points.py

Git Watcher via monorail

unread,
Apr 29, 2024, 3:08:23 PM4/29/24
to angleproj...@googlegroups.com

Comment #9 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c9


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/038ad6c755a80ee4350715495755deb33c889bcb

commit 038ad6c755a80ee4350715495755deb33c889bcb
Author: Geoff Lang <geof...@chromium.org>
Date: Tue Apr 23 17:23:04 2024

EGL: Use unlocked tail calls for surface, sync and img calls

EGL surface and sync calls can be expensive to do while holding the
global lock on EGL. They are safe because the parameters are captured
by value and the underlying EGL driver is also thread safe.

EGL image creation also tends to be expensive and is called freqently
by Chrome.

Bug: angleproject:8434
Change-Id: I7e554fe2e3700d98469de267f7bbff1e96358c78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5478229
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Geoff Lang <geof...@chromium.org>

[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/src/libGLESv2/entry_points_egl_ext_autogen.cpp
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/src/libANGLE/renderer/gl/egl/SyncEGL.cpp
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/scripts/code_generation_hashes/GL_EGL_entry_points.json
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/src/libGLESv2/entry_points_egl_autogen.cpp
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/scripts/generate_entry_points.py
[modify] https://crrev.com/038ad6c755a80ee4350715495755deb33c889bcb/src/libANGLE/renderer/gl/egl/ImageEGL.cpp

Git Watcher via monorail

unread,
Apr 29, 2024, 6:48:18 PM4/29/24
to angleproj...@googlegroups.com

Comment #10 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c10


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/b839e05ba7e3775b3e501a15d2414e676b87191d

commit b839e05ba7e3775b3e501a15d2414e676b87191d
Author: Geoff Lang <geof...@chromium.org>
Date: Mon Apr 29 18:35:42 2024

GLSL: Hardcode emulated atan functions

These emulated atan functions are generated for every compiled shader,
the string generation is particularly costly for small shaders (>30%
of total compile time). Instead just hardcode the emualted functions,
there are only 4.

Bug: angleproject:8434
Change-Id: I3f8b7cc9709ca132fae19953c23d02e54538d4e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5498516
Reviewed-by: Cody Northrop <cnor...@google.com>
Commit-Queue: Geoff Lang <geof...@chromium.org>

[modify] https://crrev.com/b839e05ba7e3775b3e501a15d2414e676b87191d/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp

Git Watcher via monorail

unread,
May 3, 2024, 2:38:19 PM5/3/24
to angleproj...@googlegroups.com

Comment #11 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c11


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/ba474effbd6eec7cb21832570ed87ad04f6b150c

commit ba474effbd6eec7cb21832570ed87ad04f6b150c
Author: Geoff Lang <geof...@chromium.org>
Date: Fri May 03 18:37:10 2024

Add histograms of GL shader compile and program link time

Add the following histograms in Skia's GL bindings:
- Gpu.GrCompileShaderUs
- Gpu.GrLinkProgramUs
- Gpu.GrProgramBinaryUs

Also re-enable the Gpu.GrShaderCacheLoadHitInCache histogram
for recording cache hits in GrShaderCache.

Bug: angleproject:8434
Change-Id: I04e41a2139e9051539e57167548caa7cf2ff7a1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5502254
Reviewed-by: Jonathan Ross <jon...@chromium.org>
Reviewed-by: Peng Huang <peng...@chromium.org>
Commit-Queue: Geoff Lang <geof...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1296235}

[modify] https://crrev.com/ba474effbd6eec7cb21832570ed87ad04f6b150c/ui/gl/init/create_gr_gl_interface.cc
[modify] https://crrev.com/ba474effbd6eec7cb21832570ed87ad04f6b150c/tools/metrics/histograms/metadata/gpu/histograms.xml

Git Watcher via monorail

unread,
May 5, 2024, 9:29:19 PM5/5/24
to angleproj...@googlegroups.com

Comment #12 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c12


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/54d57f3af9bbf4efeb8a1db913996cf39f8d0ec7

commit 54d57f3af9bbf4efeb8a1db913996cf39f8d0ec7
Author: Wenbo Jie <wenb...@chromium.org>
Date: Mon May 06 01:28:12 2024

[Gardener] Revert "Add histograms of GL shader compile and program link time"

This reverts commit ba474effbd6eec7cb21832570ed87ad04f6b150c.

Reason for revert: constant failures for 900+ tests on Linux CFI bots

https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20CFI/27553/test-results?sortby=&groupby=

Original change's description:

> Add histograms of GL shader compile and program link time
>
> Add the following histograms in Skia's GL bindings:
> - Gpu.GrCompileShaderUs
> - Gpu.GrLinkProgramUs
> - Gpu.GrProgramBinaryUs
>
> Also re-enable the Gpu.GrShaderCacheLoadHitInCache histogram
> for recording cache hits in GrShaderCache.
>
> Bug: angleproject:8434
> Change-Id: I04e41a2139e9051539e57167548caa7cf2ff7a1a
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5502254
> Reviewed-by: Jonathan Ross <jon...@chromium.org>
> Reviewed-by: Peng Huang <peng...@chromium.org>
> Commit-Queue: Geoff Lang <geof...@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1296235}

Bug: angleproject:8434
Change-Id: Ib0e04dcf1e13e4dbcbf1c5b6c4bba1a104386de5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5514872
Bot-Commit: Rubber Stamper <rubber-...@appspot.gserviceaccount.com>
Owners-Override: Wenbo Jie <wenb...@chromium.org>
Commit-Queue: Wenbo Jie <wenb...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1296673}

[modify] https://crrev.com/54d57f3af9bbf4efeb8a1db913996cf39f8d0ec7/ui/gl/init/create_gr_gl_interface.cc
[modify] https://crrev.com/54d57f3af9bbf4efeb8a1db913996cf39f8d0ec7/tools/metrics/histograms/metadata/gpu/histograms.xml

Git Watcher via monorail

unread,
May 6, 2024, 4:13:19 AM5/6/24
to angleproj...@googlegroups.com

Comment #13 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c13


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/ff0a33cde29d9eea6d835f3fc4b774b5cce4ead3

commit ff0a33cde29d9eea6d835f3fc4b774b5cce4ead3
Author: angle-autoroll <angle-a...@skia-public.iam.gserviceaccount.com>
Date: Mon May 06 07:00:21 2024

Roll Chromium from dbc600a2b0d5 to 4beb6b144a74 (625 revisions)

https://chromium.googlesource.com/chromium/src.git/+log/dbc600a2b0d5..4beb6b144a74


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC abdolr...@google.com,angle...@google.com on the revert to

ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/e940249fa3..beb031dae2
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/123fabe3ab..3cdb58b684
* third_party/android_build_tools/lint: O1UDDudkb1fHG2uMxzszPWctYiGgjyywsi7Lbkq7roYC..Y5wuGPB-HfFtEVQC_0XI6n88Covm4HFDxnG0uTdV2LcC
* third_party/android_build_tools/manifest_merger: wRnJA-ZlBBQipw_wjYJJemxCCPSZHenIFsWKi3GI_FUC..tz8dYQ_yBEZJRVhtzyyCjOlbOfujkHRWcYZy7419o_cC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/8ed0817e40..36a6c64282
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0421a22c02..4cc26001b9
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/39c8c75cf6..a60f90e38e
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/51fe358446..09737b8e11
* third_party/r8: QA5iuNqPTlPiuU3Vz1wq-t2s8V1IGAKT-qZL9kVWv3YC..NvYmFgaDR5pSbEH88fOJRqBbLZT5maGLr_7_iZD3vg4C

No update to Clang.

Bug: angleproject:8434
Tbr: abdolr...@google.com
Change-Id: I95779d6b1786985ac86d1d8b806727ae82dd4f90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5517542

Git Watcher via monorail

unread,
May 8, 2024, 11:50:28 AM5/8/24
to angleproj...@googlegroups.com

Comment #14 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c14


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/071e1e83aebf0ad291e9a87a3db8ce1b050d3e2d

commit 071e1e83aebf0ad291e9a87a3db8ce1b050d3e2d
Author: Geoff Lang <geof...@chromium.org>
Date: Wed May 08 14:33:49 2024

EGL: eglCreateSyncKHR uses a return value for the tail call

eglCreateSyncKHR was duplicated in two lists for using a tail
call and needing a return value tail call.

Bug: angleproject:8434, chromium:338902974
Change-Id: I9dffeaec3468e4ea3f5ed7d885e9ef418e8d8da5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525854
Commit-Queue: Geoff Lang <geof...@chromium.org>
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>
Commit-Queue: Shahbaz Youssefi <syou...@chromium.org>

[modify] https://crrev.com/071e1e83aebf0ad291e9a87a3db8ce1b050d3e2d/src/libGLESv2/entry_points_egl_ext_autogen.cpp
[modify] https://crrev.com/071e1e83aebf0ad291e9a87a3db8ce1b050d3e2d/scripts/code_generation_hashes/GL_EGL_entry_points.json
[modify] https://crrev.com/071e1e83aebf0ad291e9a87a3db8ce1b050d3e2d/scripts/generate_entry_points.py

Git Watcher via monorail

unread,
May 9, 2024, 11:44:23 AM5/9/24
to angleproj...@googlegroups.com

Comment #15 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c15


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/a70ef7fc6e39eff11f5671fa1297e384876258e6

commit a70ef7fc6e39eff11f5671fa1297e384876258e6
Author: Geoff Lang <geof...@chromium.org>
Date: Thu Apr 25 18:19:50 2024

Add EGL_ANGLE_no_error for disabling EGL validation.

Chrome makes many small EGL calls that can have proportionally
expensive validation.

Bug: angleproject:8434
Change-Id: I4f4d0e6eff64839f76a0f7bf48e5c94b8df9d809
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491459
Commit-Queue: Geoff Lang <geof...@chromium.org>
Reviewed-by: Cody Northrop <cnor...@google.com>
Reviewed-by: Shahbaz Youssefi <syou...@chromium.org>

[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libEGL/egl_loader_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/libGLESv2_no_capture_autogen.def
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/tests/angle_end2end_tests.gni
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/interpreter_utils.json
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/util/capture/trace_egl_loader_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/Caps.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/Caps.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/egl_ext_stubs_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/util/egl_loader_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libEGL/libEGL_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/include/EGL/eglext_angle.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/common/entry_points_enum_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/egl_ext_stubs.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/capture/capture_egl_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/capture/capture_egl_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/util/egl_loader_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/util/capture/trace_egl_loader_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/libGLESv2_autogen.def
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/global_state.cpp
[add] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/extensions/EGL_ANGLE_no_error.txt
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libEGL/egl_loader_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/egl_angle_ext.xml
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/validationEGL_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/proc_table_egl_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/entry_points_egl_ext_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/validationEGL.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/entry_points_egl_ext_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libEGL/libEGL_vulkan_secondaries_autogen.def
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/GL_EGL_entry_points.json
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/entry_points_egl_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/registry_xml.py
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/generate_entry_points.py
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/egl_context_lock_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libANGLE/Display.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/libGLESv2_with_capture_autogen.def
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/libGLESv2_vulkan_secondaries_autogen.def
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/global_state.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/proc_table.json
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libEGL/libEGL_autogen.def
[add] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/tests/egl_tests/EGLNoErrorTest.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/common/entry_points_enum_autogen.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/Extension_files.json
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/src/libGLESv2/egl_context_lock_impl.h
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/util/capture/trace_interpreter_autogen.cpp
[modify] https://crrev.com/a70ef7fc6e39eff11f5671fa1297e384876258e6/scripts/code_generation_hashes/GLenum_value_to_string_map.json

Git Watcher via monorail

unread,
May 10, 2024, 2:29:20 PM5/10/24
to angleproj...@googlegroups.com

Comment #16 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c16


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/5ba4089c86063658492a3fd6f40c47b629394e40

commit 5ba4089c86063658492a3fd6f40c47b629394e40
Author: Geoff Lang <geof...@chromium.org>
Date: Fri May 10 18:28:02 2024

Disable EGL validation when GL validation is disabled.

Use the new EGL_ANGLE_no_error extension to control EGL validation.
Chrome's usage of EGL is always expected to pass validation, calls
can still fail and be handled though.

Bug: angleproject:8434
Change-Id: I216fecaeb72d298a77286aa43c18439dfb4df0cb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5502694
Reviewed-by: Peng Huang <peng...@chromium.org>
Reviewed-by: Victor Miura <vmi...@chromium.org>
Commit-Queue: Geoff Lang <geof...@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1299387}

[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_mock_autogen_egl.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/egl_bindings_autogen_mock.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/generate_bindings.py
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/gpu/ipc/service/gpu_channel_manager.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_bindings_autogen_egl.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_features.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/gpu/config/gpu_finch_features.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/components/viz/service/display_embedder/compositor_gpu_thread.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/egl_bindings_autogen_mock.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_bindings_api_autogen_egl.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_bindings_autogen_egl.h
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_bindings_autogen_gl.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_display.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/ui/gl/gl_features.cc
[modify] https://crrev.com/5ba4089c86063658492a3fd6f40c47b629394e40/gpu/config/gpu_finch_features.cc

Git Watcher via monorail

unread,
May 10, 2024, 3:12:21 PM5/10/24
to angleproj...@googlegroups.com

Comment #17 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c17


The following revision refers to this bug:
https://chromium.googlesource.com/chromium/src/+/f7ab7a8b0ae786484891c851cd067810d8f893ba

commit f7ab7a8b0ae786484891c851cd067810d8f893ba
Author: Geoff Lang <geof...@chromium.org>
Date: Fri May 10 19:11:20 2024

Reland: Add histograms of GL shader compile and program link time


Add the following histograms in Skia's GL bindings:
- Gpu.GrCompileShaderUs
- Gpu.GrLinkProgramUs

In reland Gpu.GrProgramBinaryUs has been removed and binding generation
has another layer of indirection to avoid capturing 'gl'.


Also re-enable the Gpu.GrShaderCacheLoadHitInCache histogram
for recording cache hits in GrShaderCache.

Bug: angleproject:8434

Git Watcher via monorail

unread,
May 13, 2024, 9:39:20 AM5/13/24
to angleproj...@googlegroups.com

Comment #18 on issue 8434 by Git Watcher: Optimize DrawToSwapUs metrics on Android when using ANGLE
https://bugs.chromium.org/p/angleproject/issues/detail?id=8434#c18


The following revision refers to this bug:
https://chromium.googlesource.com/angle/angle/+/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1

commit 65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1
Author: angle-autoroll <angle-a...@skia-public.iam.gserviceaccount.com>
Date: Mon May 13 10:50:26 2024

Manual roll Chromium from e8c93a04c96c to dcf49c3fc3cd (817 revisions)

Manual roll requested by ynov...@google.com
Manually update flatbuffers

https://chromium.googlesource.com/chromium/src.git/+log/e8c93a04c96c..dcf49c3fc3cd


If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll

the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/b2163519a9..ef48ed5d95
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/46a35f0196..066811c908
* third_party/android_build_tools/lint: Y5wuGPB-HfFtEVQC_0XI6n88Covm4HFDxnG0uTdV2LcC..LKVTpK4XpEG8B7rQdSi365E60QYERcaYvf2b4kv_JugC
* third_party/android_build_tools/manifest_merger: tz8dYQ_yBEZJRVhtzyyCjOlbOfujkHRWcYZy7419o_cC..Uecrn-wUXzvUON7QkiZPlANRvFr6yFM05_M_S7q8IFoC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3a1d1cc096..923a565b97
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6e32e926e9..e1385296c4
* third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/bcb9ef1876..c696275eaf
* third_party/kotlin_stdlib: 05hzFgOi0AqRK3RxbSvGj2TWTFUNeLcwkJwVzwgLttUC..bCpFA9jdfF0zeuOKYuv9n1vqxV_lykSRR1oAYrVKmFsC
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d17298ab09..a37a3aa431
* third_party/siso: git_revision:4524544994f4eac131378143f498ee4d0b7d1f36..git_revision:df7a992166415f66f6958744f149f724df138879

No update to Clang.

Bug: angleproject:8434
Change-Id: I43317335b9acc78c133aafe8dcf7ce2a3167eb36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5532860
Commit-Queue: Yuly Novikov <ynov...@chromium.org>
Reviewed-by: Roman Lavrov <rom...@google.com>

[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/flatbuffers/generated/tests/alignment_test_generated.h
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/depot_tools
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/build
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/catapult
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/testing
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/flatbuffers/DIR_METADATA
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/flatbuffers/generated/tests/arrays_test_generated.h
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/flatbuffers/src
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/flatbuffers/README.chromium
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/DEPS
[modify] https://crrev.com/65e25de725cfdb5c67ad2e2c9e7e800fa49ef3e1/third_party/libc++abi/src
Reply all
Reply to author
Forward
0 new messages