New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 769415 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Feature

Blocked on:
issue 769866

Blocking:
issue 790761



Sign in to add a comment

Add support for eglGetFrameTimestamps

Project Member Reported by briander...@chromium.org, Sep 27 2017

Issue description

Now that eglGetFrameTimestamps is live in Android O, hook it up to LatencyInfo and add trace events.

This will help debug latency issues, performance bottlenecks, and enable better metrics.
 
Blockedon: 769866
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 5 2017

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

commit f4356922d03f30a608b805df60f6f35dea0ee079
Author: Brian Anderson <brianderson@chromium.org>
Date: Thu Oct 05 22:16:19 2017

egl: Update khronos EGL headers.

Copy latest khronos EGL headers to pick up
eglGetFrameTimstampsANDROID.

Also copy over existing chromium-specific edits.

BUG=769415

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ibd9b185d568c9e714e664e7380e15138f30fc3d2
Reviewed-on: https://chromium-review.googlesource.com/703076
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506880}
[modify] https://crrev.com/f4356922d03f30a608b805df60f6f35dea0ee079/gpu/ipc/service/image_transport_surface_android.cc
[modify] https://crrev.com/f4356922d03f30a608b805df60f6f35dea0ee079/third_party/khronos/EGL/egl.h
[modify] https://crrev.com/f4356922d03f30a608b805df60f6f35dea0ee079/third_party/khronos/EGL/eglext.h
[modify] https://crrev.com/f4356922d03f30a608b805df60f6f35dea0ee079/third_party/khronos/EGL/eglplatform.h
[modify] https://crrev.com/f4356922d03f30a608b805df60f6f35dea0ee079/third_party/khronos/README.chromium

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 6 2017

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

commit 1cf8f23156a1caf64158f3d5b10b7ff14226c1b5
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Oct 06 02:36:40 2017

gl: Add bindings for eglGetFrameTimestampsANDROID

Bug: 769415
Test: Trace events that use this extension look good.
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I3f051d4f86894f9029774e73b1327262c514fd53
Reviewed-on: https://chromium-review.googlesource.com/685402
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506954}
[modify] https://crrev.com/1cf8f23156a1caf64158f3d5b10b7ff14226c1b5/ui/gl/generate_bindings.py
[modify] https://crrev.com/1cf8f23156a1caf64158f3d5b10b7ff14226c1b5/ui/gl/gl_bindings_api_autogen_egl.h
[modify] https://crrev.com/1cf8f23156a1caf64158f3d5b10b7ff14226c1b5/ui/gl/gl_bindings_autogen_egl.cc
[modify] https://crrev.com/1cf8f23156a1caf64158f3d5b10b7ff14226c1b5/ui/gl/gl_bindings_autogen_egl.h

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 6 2017

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

commit 6c1f5306e33a3a9ca1b427e3341f73aba6b7d77e
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Oct 06 02:47:48 2017

egl: Use khronos version of __APPLE__ section in eglplatform.h

Bug: 769415
Change-Id: I8e16a2a35286144eaa2d97b4d5f7cf239a00a8e5
Reviewed-on: https://chromium-review.googlesource.com/703739
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506957}
[modify] https://crrev.com/6c1f5306e33a3a9ca1b427e3341f73aba6b7d77e/third_party/khronos/EGL/eglplatform.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 6 2017

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

commit 2f2c446254ddc743af534c08b342725887ec89b3
Author: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri Oct 06 03:16:27 2017

Revert "egl: Use khronos version of __APPLE__ section in eglplatform.h"

This reverts commit 6c1f5306e33a3a9ca1b427e3341f73aba6b7d77e.

Reason for revert:
Speculative revert for build failures on the Mac bot
https://build.chromium.org/p/chromium/builders/Mac/builds/33456

Original change's description:
> egl: Use khronos version of __APPLE__ section in eglplatform.h
> 
> Bug: 769415
> Change-Id: I8e16a2a35286144eaa2d97b4d5f7cf239a00a8e5
> Reviewed-on: https://chromium-review.googlesource.com/703739
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Brian Anderson <brianderson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#506957}

TBR=brianderson@chromium.org,kbr@chromium.org,cwallez@chromium.org

Change-Id: Ia96b247a9080be24a8c53dca6a7033aed43eb40f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 769415
Reviewed-on: https://chromium-review.googlesource.com/704334
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506958}
[modify] https://crrev.com/2f2c446254ddc743af534c08b342725887ec89b3/third_party/khronos/EGL/eglplatform.h

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 6 2017

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

commit 822c07c6ef35e5b1cbb36fdabf5fe9a276c49aba
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Oct 06 18:39:05 2017

gl: Add TraceEvents for eglGetFrameTimestamps.

Sorts the events by timestamp and records:
1) A trace event for the entire range.
2) Nested ranges within (1) of the remaining events, which provide
  a nice visual representation of a frames events and durations,
  making anomalous frames very apparent.
3) Nested instant events within (1) for a more detailed description
  of the event.

Bug: 769415
Test: Traces look niice.
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Iaff6867f7f9eea48d3a456264e36978da9991abb
Reviewed-on: https://chromium-review.googlesource.com/685409
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Reviewed-by: oysteine <oysteine@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507125}
[modify] https://crrev.com/822c07c6ef35e5b1cbb36fdabf5fe9a276c49aba/base/trace_event/common/trace_event_common.h
[modify] https://crrev.com/822c07c6ef35e5b1cbb36fdabf5fe9a276c49aba/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/822c07c6ef35e5b1cbb36fdabf5fe9a276c49aba/ui/gl/gl_surface_egl.h

Cc: klausw@chromium.org
Change r507125 seems to break WebVR with a GPU process crash, and reverting that change fixes it.

How to reproduce:

- open https://webvr.info/samples/03-vr-presentation.html on Android
- press "Enter VR" button"

10-09 11:06:37.135  9347  9369 E libEGL  : eglGetFrameTimestampsANDROID:2371 error 3002 (EGL_BAD_ACCESS)
10-09 11:06:37.136  9347  9369 F libc    : stack corruption detected (-fstack-protector)
10-09 11:06:37.136  9347  9369 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 9369 (CrGpuMain), pid 9347 (ileged_process0)
10-09 11:06:37.158  9752  9785 W YouTube : ECatcher disabled: level: ERROR, category: logging, message: Failed delayed event dispatch, no dispatchers.
10-09 11:06:37.158  9752  9785 W YouTube : java.lang.Exception
10-09 11:06:37.158  9752  9785 W YouTube :      at xer.a(SourceFile:3)
10-09 11:06:37.158  9752  9785 W YouTube :      at xcj.c(SourceFile:97)
10-09 11:06:37.158  9752  9785 W YouTube :      at xcr.run(Unknown Source:2)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
10-09 11:06:37.158  9752  9785 W YouTube :      at qux.run(SourceFile:24)
10-09 11:06:37.158  9752  9785 W YouTube :      at java.lang.Thread.run(Thread.java:764)
10-09 11:06:37.230  9825  9825 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
10-09 11:06:37.231   743   743 I /system/bin/tombstoned: received crash request for pid 9347
10-09 11:06:37.238  9825  9825 I crash_dump32: performing dump of process 9347 (target tid = 9369)
10-09 11:06:37.238  9825  9825 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-09 11:06:37.238  9825  9825 F DEBUG   : Build fingerprint: 'google/marlin/marlin:8.1.0/OPM1.170928.003/4367109:userdebug/dev-keys'
10-09 11:06:37.238  9825  9825 F DEBUG   : Revision: '0'
10-09 11:06:37.239  9825  9825 F DEBUG   : ABI: 'arm'
10-09 11:06:37.239  9825  9825 F DEBUG   : pid: 9347, tid: 9369, name: CrGpuMain  >>> org.chromium.chrome:privileged_process0 <<<
10-09 11:06:37.239  9825  9825 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
10-09 11:06:37.247  9825  9825 F DEBUG   : Abort message: 'stack corruption detected (-fstack-protector)'
10-09 11:06:37.247  9825  9825 F DEBUG   :     r0 00000000  r1 00002499  r2 00000006  r3 00000008
10-09 11:06:37.247  9825  9825 F DEBUG   :     r4 00002483  r5 00002499  r6 c9e77e3c  r7 0000010c
10-09 11:06:37.247  9825  9825 F DEBUG   :     r8 00000000  r9 dc233c40  sl 00000000  fp ffffffff
10-09 11:06:37.247  9825  9825 F DEBUG   :     ip c74d43df  sp c9e77e28  lr e523fbdf  pc e52395ec  cpsr 20070030
10-09 11:06:37.252  9825  9825 F DEBUG   : 
10-09 11:06:37.252  9825  9825 F DEBUG   : backtrace:
10-09 11:06:37.253  9825  9825 F DEBUG   :     #00 pc 0001a5ec  /system/lib/libc.so (abort+63)
10-09 11:06:37.253  9825  9825 F DEBUG   :     #01 pc 00049269  /system/lib/libc.so (__stack_chk_fail+8)
10-09 11:06:37.253  9825  9825 F DEBUG   :     #02 pc 0099caeb  /data/app/org.chromium.chrome-5eGKbYgsE0idX9RehfmE8A==/base.apk (offset 0xfe3000)
10-09 11:06:37.253  9825  9825 F DEBUG   :     #03 pc fffffffd  <unknown>

Translated to:

Stack Trace:
  RELADDR   FUNCTION                                                         FILE:LINE
  0001a5ec  abort+63                                                         /system/lib/libc.so
  00049269  __stack_chk_fail+8                                               /system/lib/libc.so
  0099cafb  gl::NativeViewGLSurfaceEGL::TraceSwapEvents(unsigned long long)  /usr/local/google/home/klausw/chromium2/src/ui/gl/gl_surface_egl.cc:1138
  00008b86                                                                   <unknown>

Re comment #8: I have what I think is a fix for that here: https://chromium-review.googlesource.com/c/chromium/src/+/706546
Project Member

Comment 10 by bugdroid1@chromium.org, Oct 9 2017

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

commit 0e7fb2f9e40213ddc37e5ee457399159eec8903a
Author: Brian Anderson <brianderson@chromium.org>
Date: Mon Oct 09 22:48:28 2017

gl: Protect against unexpected calls to NativeViewGLSurfaceEGL::Initialize.

Extra calls to Initialize() would append timestamps supported by
eglGetFrameTimestampsANDROID without resetting the original vector,
which would result in stack overflow in TraceSwapEvents once the
size of the supported vector is greater than the number of
supportable timestamps.

This patch resets the vectors in Initialize() to avoid the double
counting. It also clamps the supported count in TraceSwapEvents
just in case.

Bug: 772743, 769415
TBR: kbr@chromium.org
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I944b506c3022c4f6b373685dab6acf0d1ce87af0
Reviewed-on: https://chromium-review.googlesource.com/706546
Reviewed-by: Brian Anderson <brianderson@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507515}
[modify] https://crrev.com/0e7fb2f9e40213ddc37e5ee457399159eec8903a/ui/gl/gl_surface_egl.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 9 2017

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

commit 17e5bbe6b2bf33a075db985bce9dcae991fd99e5
Author: Brian Anderson <brianderson@chromium.org>
Date: Mon Oct 09 23:13:17 2017

egl: Use official khronos version of eglext.h

The remaining chromium-specific extension definitions aren't
actually used from this header.

Bug: 769415
Test: Compiles
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I097c93e456e6e7c8b89f15dab61aed281e7ab8db
Reviewed-on: https://chromium-review.googlesource.com/703734
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507524}
[modify] https://crrev.com/17e5bbe6b2bf33a075db985bce9dcae991fd99e5/third_party/khronos/EGL/eglext.h

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 9 2017

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

commit 3fe13ca8f244535aee53771e6e8545810e9ac5e3
Author: Brian Anderson <brianderson@chromium.org>
Date: Mon Oct 09 23:17:37 2017

egl: Use khronos version of __APPLE__ section in eglplatform.h

Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I5586b1ff0405fddbf950fe3d2ca877594ea39d95
Reviewed-on: https://chromium-review.googlesource.com/705877
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507526}
[modify] https://crrev.com/3fe13ca8f244535aee53771e6e8545810e9ac5e3/gpu/gles2_conform_support/egl/display.cc
[modify] https://crrev.com/3fe13ca8f244535aee53771e6e8545810e9ac5e3/third_party/khronos/EGL/eglplatform.h

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 9 2017

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

commit c5dff3b05d1cfa98e705130d2b037b6ef696ce6e
Author: Vincent Scheib <scheib@chromium.org>
Date: Mon Oct 09 23:35:09 2017

Revert "egl: Use official khronos version of eglext.h"

This reverts commit 17e5bbe6b2bf33a075db985bce9dcae991fd99e5.

Reason for revert: Compile failure
FAILED: obj/ui/gl/gl/gl_image_dxgi.obj 
ninja -t msvc -e environment.x64 -- C:\b\c\goma_client/gomacc.exe "c:\b\c\win_toolchain\vs_files\9bc7ccbf9f4bd50d4a3bd185e8ca94ff1618de0b\vc\tools\msvc\14.11.25503\bin\hostx64\x64/cl.exe" /nologo /showIncludes  @obj/ui/gl/gl/gl_image_dxgi.obj.rsp /c ../../ui/gl/gl_image_dxgi.cc /Foobj/ui/gl/gl/gl_image_dxgi.obj /Fd"obj/ui/gl/gl_cc.pdb"
../../ui/gl/gl_image_dxgi.cc(116): error C2065: 'EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE': undeclared identifier

on build:
https://build.chromium.org/p/chromium.win/builders/Win%20x64%20Builder%20%28dbg%29/builds/58992


Original change's description:
> egl: Use official khronos version of eglext.h
> 
> The remaining chromium-specific extension definitions aren't
> actually used from this header.
> 
> Bug: 769415
> Test: Compiles
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: I097c93e456e6e7c8b89f15dab61aed281e7ab8db
> Reviewed-on: https://chromium-review.googlesource.com/703734
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Brian Anderson <brianderson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#507524}

TBR=brianderson@chromium.org,kbr@chromium.org

Change-Id: I14baa9ee558aa92b057325cb4ec5d95a69575655
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/708054
Reviewed-by: Vincent Scheib <scheib@chromium.org>
Commit-Queue: Vincent Scheib <scheib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507535}
[modify] https://crrev.com/c5dff3b05d1cfa98e705130d2b037b6ef696ce6e/third_party/khronos/EGL/eglext.h

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 2 2017

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

commit 5971d3d542606026db209ed86dd40568d36e81b8
Author: Brian Anderson <brianderson@chromium.org>
Date: Thu Nov 02 18:02:40 2017

gl: Work around sync_merge kernel bug with eglGetFrameTimestamps.

Discard timestamps of 0. Although technically valid, they
are unexpected in practice and are likely a result of a
bug in newer versions of the linux kernel.

Test: Trace events on the Pixel 2 don't start at 0.
Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ie20b8cf82f7a3b634420460b4d4ec66bc69a5e5d
Reviewed-on: https://chromium-review.googlesource.com/750201
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513549}
[modify] https://crrev.com/5971d3d542606026db209ed86dd40568d36e81b8/ui/gl/gl_surface_egl.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 3 2017

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

commit 0f5a741df316bfe38448177b647b4ac7d934e76c
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Nov 03 00:58:51 2017

gl: Only use eglGetFrametimestamps when tracing.

The existing code attepts to do this but failed to dereference
a pointer, causing the tracing logic to always be executed since
the pointer was always not NULL.

Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I497b87c51d4e0012213d7f1231693dc5d04cf38c
Reviewed-on: https://chromium-review.googlesource.com/748029
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513640}
[modify] https://crrev.com/0f5a741df316bfe38448177b647b4ac7d934e76c/ui/gl/gl_surface_egl.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 4 2017

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

commit 776b28a0b3efd650371a23949e1e08a097ceda31
Author: Brian Anderson <brianderson@chromium.org>
Date: Sat Nov 04 00:35:21 2017

gl: Make eglGetFrameTimestamps opt-in.

eglGetFrameTimestamps can't be used with WebVR surfaces since they
aren't consumed by SurfaceFlinger. Attempting to enable it for WebVR
surfaces results in logcat spam.

There isn't an easy way to detect WebVR surfaces service-side, so
this patch requires some client-side changes.

Client side:
Adds a |enable_swap_timestamps| surface attribute that is only set
for the default onscreen surfaces.

Service side:
Adds SupportsSwapTimestamps and SetEnableSwapTimestamps to GLSurface,
which are properly overriden by NativeViewGLSurfaceEGL based on
eglGetFrameTimestamps support.

Test: No more logcat spam with WebVR.
Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Idb7314aceb2e84e8b886d881dc262fb1b9c7e1ba
Reviewed-on: https://chromium-review.googlesource.com/748106
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513992}
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/gpu/command_buffer/common/gles2_cmd_utils.h
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/ui/gl/gl_surface.cc
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/ui/gl/gl_surface.h
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/776b28a0b3efd650371a23949e1e08a097ceda31/ui/gl/gl_surface_egl.h

Comment 17 by kbr@chromium.org, Nov 4 2017

Cc: geoffl...@chromium.org
In two builds on the new Quadro P400 bots after this landed:
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win7%20Release%20%28NVIDIA%20Quadro%20P400%29/151
https://chromium-swarm.appspot.com/task?id=399da18f782ed110&refresh=10&show_raw=1

and:
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win7%20Release%20%28NVIDIA%29/31981
https://chromium-swarm.appspot.com/task?id=399deea2efdc8d10&refresh=10&show_raw=1

WebglConformance_conformance2_textures_canvas_sub_rectangle_tex_2d_rgb565_rgb_unsigned_byte started failing in the webgl2_conformance_gl_tests suite.

The crash stack in the GPU process is suspicious and involves files touched by the CL above, even though ANGLE doesn't support the extension. It's identical between the two builds:

  Last event: a14.1140: Break instruction exception - code 80000003 (first/second chance not available)
    debugger time: Fri Nov  3 20:41:01.598 2017 (UTC - 7:00)
  ChildEBP RetAddr  Args to Child              
  002fe84c 67689487 6969e020 00000114 02866b81 chrome_child!base::debug::BreakDebugger+0xc
  002fe874 667670be 02821820 002fe8c0 002fe8c4 chrome_child!?Run@?$Invoker@U?$BindState@P6AXPBDHV?$BasicStringPiece@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@base@@1@Z$$V@internal@base@@$$A6AXPBDHV?$BasicStringPiece@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@3@1@Z@internal@base@@SAXPAVBindStateBase@23@$$QAPBD$$QAH$$QAV?$BasicStringPiece@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@3@3@Z+0x25
  002fed08 673155fa 00000003 002fed20 69205174 chrome_child!logging::LogMessage::~LogMessage+0x41e
  002fedd4 6731528d 028698d8 002fedec 667f076b chrome_child!gl::GLContextEGL::IsCurrent+0xa8
  002feeec 6840919c 028698d8 02867ffc 00736290 chrome_child!gl::GLContextEGL::MakeCurrent+0x61
  002fef30 6840e429 02867f68 0869c9f0 002fef4c chrome_child!gpu::GpuCommandBufferStub::Destroy+0x128
  002fef40 6840de37 0284e630 002fef68 68408e4a chrome_child!gpu::GpuCommandBufferStub::~GpuCommandBufferStub+0x47
  002fef4c 68408e4a 00000001 0284e644 0284e630 chrome_child!gpu::GpuCommandBufferStub::`scalar deleting destructor'+0xb
  002fef68 6840820d 0284d07c 002fef8c 675a3982 chrome_child!gpu::GpuChannel::~GpuChannel+0x34
  002fef74 675a3982 00000001 0284d078 02855f10 chrome_child!gpu::GpuChannel::`scalar deleting destructor'+0xb
  002fef8c 68402e2a 002fefa0 420b58a2 0284d078 chrome_child!std::list<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> > >,std::allocator<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> > > > >::clear+0x2e
  002fefa4 68402cc9 002fefc0 02855f10 0284d078 chrome_child!std::_Hash<std::_Umap_traits<int,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> >,std::_Uhash_compare<int,std::hash<int>,std::equal_to<int> >,std::allocator<std::pair<int const ,std::unique_ptr<gpu::GpuChannel,std::default_delete<gpu::GpuChannel> > > >,0> >::clear+0x1a
  002fefb8 67553dc7 028570b8 002fefb8 002fefb8 chrome_child!gpu::GpuChannelManager::~GpuChannelManager+0xd
  002ff0a8 6754f55b 0283f21c 002ff188 6667494b chrome_child!viz::GpuServiceImpl::~GpuServiceImpl+0x1f7
  002ff0b4 6667494b 00000001 7769715c 76a2865d chrome_child!viz::GpuServiceImpl::`scalar deleting destructor'+0xb
  002ff188 67d7704c 02856620 420b58a2 0283f100 chrome_child!viz::VizMainImpl::~VizMainImpl+0x115
  002ff1a0 67d778d7 002ff3b0 002ff280 676ea436 chrome_child!content::GpuChildThread::~GpuChildThread+0xec
  002ff1ac 676ea436 00000001 69fa7f90 6678a212 chrome_child!content::GpuChildThread::`scalar deleting destructor'+0xb
  002ff280 67d764af 02835940 01400284 027e2538 chrome_child!content::ChildProcess::~ChildProcess+0xac
  002ff474 6675ad7a 002ff560 027e2d20 00000000 chrome_child!content::GpuMain+0x38f
  002ff544 6675b2e2 002ff578 002ff560 002ff7cc chrome_child!content::RunNamedProcessTypeMain+0x10a
  002ff640 66760cd3 002ff590 00000003 002ff760 chrome_child!content::ContentMainRunnerImpl::Run+0x116
  002ff750 6675ac49 002ff75c 002ff760 693f34e0 chrome_child!service_manager::Main+0x2a3
  002ff790 65831120 002ff7b4 002ff79c 002ff798 chrome_child!content::ContentMain+0x31
 

Rather than suppress this one test failure I'm going to do a speculative revert of the patch above. If it clears up the failure then it seems something's wrong with it. If not I'll reland it. (The tryservers have been switched to the P400 bots and so if there is a real persistent failure it will show up in the tryjobs the next time.)

Comment 18 by kbr@chromium.org, Nov 4 2017

I was wrong, since the failure was in webgl2_conformance_gl_tests and not webgl2_conformance_tests, this isn't tested on the win_optional_gpu_tests_rel so wouldn't show up on the tryservers. (We don't have the capacity to run the WebGL 2.0 tests against CLs in multiple configurations.)

Project Member

Comment 19 by bugdroid1@chromium.org, Nov 4 2017

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

commit 1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507
Author: Kenneth Russell <kbr@chromium.org>
Date: Sat Nov 04 06:15:38 2017

Revert "gl: Make eglGetFrameTimestamps opt-in."

This reverts commit 776b28a0b3efd650371a23949e1e08a097ceda31.

Reason for revert: speculative revert for GPU process crash: see https://bugs.chromium.org/p/chromium/issues/detail?id=769415#c17 .

Original change's description:
> gl: Make eglGetFrameTimestamps opt-in.
> 
> eglGetFrameTimestamps can't be used with WebVR surfaces since they
> aren't consumed by SurfaceFlinger. Attempting to enable it for WebVR
> surfaces results in logcat spam.
> 
> There isn't an easy way to detect WebVR surfaces service-side, so
> this patch requires some client-side changes.
> 
> Client side:
> Adds a |enable_swap_timestamps| surface attribute that is only set
> for the default onscreen surfaces.
> 
> Service side:
> Adds SupportsSwapTimestamps and SetEnableSwapTimestamps to GLSurface,
> which are properly overriden by NativeViewGLSurfaceEGL based on
> eglGetFrameTimestamps support.
> 
> Test: No more logcat spam with WebVR.
> Bug: 769415
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: Idb7314aceb2e84e8b886d881dc262fb1b9c7e1ba
> Reviewed-on: https://chromium-review.googlesource.com/748106
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Brian Anderson <brianderson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#513992}

TBR=dcheng@chromium.org,brianderson@chromium.org,kbr@chromium.org,klausw@chromium.org

Change-Id: I992667635217406a77e820a52aee6d3066d20d2c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/754127
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514034}
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/gpu/command_buffer/common/gles2_cmd_utils.h
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/ui/gl/gl_surface.cc
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/ui/gl/gl_surface.h
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507/ui/gl/gl_surface_egl.h

Comment 20 by kbr@chromium.org, Nov 6 2017

The build in which the revert landed was:
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win7%20Release%20%28NVIDIA%29/31983

Shard:
https://chromium-swarm.appspot.com/task?id=39a83dab25ed3a10&refresh=10&show_raw=1

and the test still failed. Re-landing (reverting the revert).

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 6 2017

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

commit 698351b0ed14eb7e162e90f57a615c3f714ff1f8
Author: Kenneth Russell <kbr@chromium.org>
Date: Mon Nov 06 06:58:09 2017

Revert "Revert "gl: Make eglGetFrameTimestamps opt-in.""

This reverts commit 1d6cfdd22a5890b0d1bf429d2e9b04a0b39a8507.

Reason for revert: not the cause of the test failure; see https://bugs.chromium.org/p/chromium/issues/detail?id=769415#c20 .

Original change's description:
> Revert "gl: Make eglGetFrameTimestamps opt-in."
> 
> This reverts commit 776b28a0b3efd650371a23949e1e08a097ceda31.
> 
> Reason for revert: speculative revert for GPU process crash: see https://bugs.chromium.org/p/chromium/issues/detail?id=769415#c17 .
> 
> Original change's description:
> > gl: Make eglGetFrameTimestamps opt-in.
> > 
> > eglGetFrameTimestamps can't be used with WebVR surfaces since they
> > aren't consumed by SurfaceFlinger. Attempting to enable it for WebVR
> > surfaces results in logcat spam.
> > 
> > There isn't an easy way to detect WebVR surfaces service-side, so
> > this patch requires some client-side changes.
> > 
> > Client side:
> > Adds a |enable_swap_timestamps| surface attribute that is only set
> > for the default onscreen surfaces.
> > 
> > Service side:
> > Adds SupportsSwapTimestamps and SetEnableSwapTimestamps to GLSurface,
> > which are properly overriden by NativeViewGLSurfaceEGL based on
> > eglGetFrameTimestamps support.
> > 
> > Test: No more logcat spam with WebVR.
> > Bug: 769415
> > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> > Change-Id: Idb7314aceb2e84e8b886d881dc262fb1b9c7e1ba
> > Reviewed-on: https://chromium-review.googlesource.com/748106
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
> > Commit-Queue: Brian Anderson <brianderson@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#513992}
> 
> TBR=dcheng@chromium.org,brianderson@chromium.org,kbr@chromium.org,klausw@chromium.org
> 
> Change-Id: I992667635217406a77e820a52aee6d3066d20d2c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 769415
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Reviewed-on: https://chromium-review.googlesource.com/754127
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#514034}

TBR=dcheng@chromium.org,brianderson@chromium.org,kbr@chromium.org,klausw@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 769415
Change-Id: Ifd5155f0058010ade2e4e4276eb2621a1704feb5
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/754118
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514095}
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/gpu/command_buffer/common/gles2_cmd_utils.h
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/gpu/ipc/common/gpu_command_buffer_traits_multi.h
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/ui/gl/gl_surface.cc
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/ui/gl/gl_surface.h
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/ui/gl/gl_surface_egl.cc
[modify] https://crrev.com/698351b0ed14eb7e162e90f57a615c3f714ff1f8/ui/gl/gl_surface_egl.h

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 10 2017

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

commit d98d5728326275faa69c03c20ac2cd48e0b1897a
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Nov 10 20:05:54 2017

gl: Use heap in NativeViewGLSurfaceEGL::TraceSwapEvents

The std::min negating the DCHECK just above it is an anti pattern.
Remove the std::min requirement by using heap allocated vectors and
strings that can vary in size.

Keep the DCHECK since it would be unexpected that we call
eglGetFrameTimestampsANDROID with more timestamps than it can
support.

Too bad MSVC doesn't support C99's variable length arrays and C++
doesn't yet support something like std::dynarray.

Bug: 772743, 769415
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4e96cce8ba1ff81a69e3cd2778e565ddda7d1d98
Reviewed-on: https://chromium-review.googlesource.com/758629
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515653}
[modify] https://crrev.com/d98d5728326275faa69c03c20ac2cd48e0b1897a/ui/gl/gl_surface_egl.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 17 2017

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

commit feaa47c68a99a0817c2b945801fdc9d2873fc6b6
Author: Brian Anderson <brianderson@chromium.org>
Date: Fri Nov 17 23:40:21 2017

gpu: Remove gpu's dependency on ui/latency_info.

Add a gfx::SwapResponse that contains the swap result and the timing
information for every swap.

Let the client add those timestamps to cached LatencyInfos rather
than passing LatencyInfo to the GPU service to modify and send back.

Behaviorally, this patch is a no-op, but the intent is to:
1) Simplify later patches that will add timestamps to the SwapResponse.
2) Step towards removing PassThroughImageTransportSurface.
3) Remove gpu's dependency on ui/latency_info, which was a layering smell.

Bug: 769415
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I9e1ac97d32600d13ee05467d70fad5674e1355f0
Reviewed-on: https://chromium-review.googlesource.com/767572
Commit-Queue: Brian Anderson <brianderson@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517614}
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/cc/test/test_context_support.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/cc/test/test_context_support.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/components/viz/service/display/output_surface.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/components/viz/service/display/output_surface.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/components/viz/service/display_embedder/display_output_surface.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/components/viz/service/display_embedder/display_output_surface.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_browser_compositor_output_surface.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_browser_compositor_output_surface.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_output_surface_mac.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_output_surface_mac.mm
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/compositor/gpu_surfaceless_browser_compositor_output_surface.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/content/test/BUILD.gn
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/BUILD.gn
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/client/client_test_helper.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/client/context_support.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/client/gles2_implementation.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/client/gles2_implementation.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/client/gpu_control.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/tests/decoder_perftest.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/tests/gl_manager.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/command_buffer/tests/gl_manager.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/gles2_conform_support/egl/context.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/gles2_conform_support/egl/context.h
[delete] https://crrev.com/c3f2c900f54d80b6ad801abe20d5c7731a6186e3/gpu/ipc/DEPS
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/client/BUILD.gn
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/client/command_buffer_proxy_impl.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/client/command_buffer_proxy_impl.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/client/gpu_channel_host.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/client/gpu_channel_host.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/common/BUILD.gn
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/common/flush_params.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/common/gpu_messages.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/common/gpu_param_traits_macros.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/in_process_command_buffer.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/in_process_command_buffer.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/BUILD.gn
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/direct_composition_surface_win_unittest.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/gpu_channel.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/gpu_command_buffer_stub.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/gpu_command_buffer_stub.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/gpu_vsync_provider_unittest_win.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/image_transport_surface_delegate.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/image_transport_surface_overlay_mac.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/image_transport_surface_overlay_mac.mm
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/pass_through_image_transport_surface.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/gpu/ipc/service/pass_through_image_transport_surface.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/ppapi/proxy/ppapi_command_buffer_proxy.cc
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/ppapi/proxy/ppapi_command_buffer_proxy.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/ui/gfx/ipc/gfx_param_traits_macros.h
[modify] https://crrev.com/feaa47c68a99a0817c2b945801fdc9d2873fc6b6/ui/gfx/swap_result.h

Blocking: 790761
Cc: sadrul@chromium.org
Cc: yiyix@chromium.org chiniforooshan@chromium.org tdres...@chromium.org
Components: Internals>GPU>Metrics
Owner: ----
Status: Available (was: Started)

Sign in to add a comment