Hugely variable WebGL performance on Adreno 306 GPU
Reported by
w...@playcanvas.com,
Apr 20 2018
|
||||||||||||||||
Issue descriptionSteps to reproduce the problem: 1. Run https://playcanv.as/b/A1kNhj1o/ on an Adreno 306-powered Moto G3. It may be that any Adreno 3xx equipped device exhibits the problem but I've only tested the Moto G3. What is the expected behavior? Frame rate is steady/consistent. Firefox on Android maintains a much lower average framerate but at least it is very steady. What went wrong? Frame rate is wildly variable in Chrome. If you look at a Performance capture in Chrome Dev Tools (see attached), you'll see that several frames are fast with the occasional frame up to 5x slower. Did this work before? No Does this work in other browsers? Yes Chrome version: 65.0.3325.109 Channel: stable OS Version: 6.0 Flash Version:
,
Apr 21 2018
Not off the top of my head. I asked the PlayCanvas folks to file this so we can follow up. Wondering whether it might be related to the GPU scheduler. James, when you get back, can you triage this similarly to the other problem you've been investigating with too many glFlushes happening?
,
May 1 2018
Yes, this is definitely caused by context switching. My build with less context switching runs very smoothly at 30 Hz. It looks like switching contexts sometimes triggers a slow path in the driver that causes a frame to take 100ms or more.
,
May 2 2018
Very interesting. Do you have an ETA for when your local changes might reach Canary? I'd love to test any improvements on my end.
,
May 2 2018
,
May 2 2018
No ETA yet but with a demonstrated serious performance issue this just became much higher priority. The change I'm testing is here: https://chromium-review.googlesource.com/c/chromium/src/+/1013377 If you are adventurous you can try building Chromium with it. It can't be submitted as is because it pretty much disables context switching. We still want the browser UI to be able to preempt WebGL rendering if it's taking an unreasonably long time.
,
May 31 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62ca13ce4a8fda4f316692596f9bf61c74a58e34 commit 62ca13ce4a8fda4f316692596f9bf61c74a58e34 Author: James Darpinian <jdarpinian@chromium.org> Date: Thu May 31 04:12:06 2018 GPU: Make command buffer autoflush more conservative. This is change #1 of 3 reducing context switching during WebGL rendering. On tiled rendering GPUs context switches are slow and can even cause multisampling artifacts. Every time the command buffer is flushed, a context switch is possible. Before, the command buffer helper would always autoflush eventually if no explicit flush was received. Commands would accumulate across multiple frames until the autoflush threshold was reached. Implicit flushes caused by ordering barriers were not taken into account. Now the autoflush decision is based on the last ordering barrier instead of the last explicit flush. Since there's an ordering barrier at least once a frame, autoflush will only happen if the threshold is reached within a single frame. Bug: 828363,835353 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I168be6892620b1813c598a912e59147f9c45896f Reviewed-on: https://chromium-review.googlesource.com/1077435 Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#563149} [modify] https://crrev.com/62ca13ce4a8fda4f316692596f9bf61c74a58e34/gpu/command_buffer/client/cmd_buffer_helper.cc [modify] https://crrev.com/62ca13ce4a8fda4f316692596f9bf61c74a58e34/gpu/command_buffer/client/cmd_buffer_helper_test.cc
,
May 31 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dcfaac01164977c0e9862880ba33ba6edb5639c2 commit dcfaac01164977c0e9862880ba33ba6edb5639c2 Author: James Darpinian <jdarpinian@chromium.org> Date: Thu May 31 22:29:56 2018 GPU: Remove transfer buffer autoflushing. This is change #2 of 3 reducing context switching during WebGL rendering. On tiled rendering GPUs context switches are slow and can even cause multisampling artifacts. Every time the command buffer is flushed, a context switch is possible. Before, the transfer buffer would flush the command buffer after an arbitrary number of bytes were sent. This change removes that threshold. Any performance benefit of early flushing is killed by the additional context switching. Bug: 828363,835353 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I8f71668d4b976332820d290868282d41286ab4fe Reviewed-on: https://chromium-review.googlesource.com/1077568 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#563404} [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/implementation_base.cc [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/implementation_base.h [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/mock_transfer_buffer.cc [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/mock_transfer_buffer.h [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/transfer_buffer.h [modify] https://crrev.com/dcfaac01164977c0e9862880ba33ba6edb5639c2/gpu/command_buffer/client/transfer_buffer_unittest.cc
,
Jun 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b63225bbef75dc91b78029ad8f8b1e516934b268 commit b63225bbef75dc91b78029ad8f8b1e516934b268 Author: James Darpinian <jdarpinian@chromium.org> Date: Wed Jun 06 19:45:58 2018 Revert "GPU: Remove transfer buffer autoflushing." This reverts commit dcfaac01164977c0e9862880ba33ba6edb5639c2. Reason for revert: Regressed canvas 2d performance in some MotionMark tests. Will redo as a WebGL-specific change. Original change's description: > GPU: Remove transfer buffer autoflushing. > > This is change #2 of 3 reducing context switching during WebGL > rendering. On tiled rendering GPUs context switches are slow and can > even cause multisampling artifacts. Every time the command buffer is > flushed, a context switch is possible. > > Before, the transfer buffer would flush the command buffer after an > arbitrary number of bytes were sent. This change removes that threshold. > Any performance benefit of early flushing is killed by the additional > context switching. > > Bug: 828363,835353 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: I8f71668d4b976332820d290868282d41286ab4fe > Reviewed-on: https://chromium-review.googlesource.com/1077568 > Commit-Queue: James Darpinian <jdarpinian@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#563404} TBR=piman@chromium.org,jdarpinian@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 828363, 835353, 849348 Change-Id: Iba27bae33f5395333f54db4bea4e79e41cca7e31 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/1087370 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#565006} [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/implementation_base.cc [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/implementation_base.h [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/mock_transfer_buffer.cc [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/mock_transfer_buffer.h [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/transfer_buffer.h [modify] https://crrev.com/b63225bbef75dc91b78029ad8f8b1e516934b268/gpu/command_buffer/client/transfer_buffer_unittest.cc
,
Jun 6 2018
,
Jun 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e commit 7a59e08137d5c51fa6695fe8ce0557ee257f4a8e Author: James Darpinian <jdarpinian@chromium.org> Date: Fri Jun 15 00:19:53 2018 GPU: Don't flush when destroying transfer buffers. Destroying a transfer buffer now requires only an ordering barrier, not a full flush. This removes a source of unnecessary flushes and makes resizing the transfer buffer more efficient. Bug: 850271 , 835353, 828363 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I9bfe43c46c00f8e9fc29e6450da788f86e74bc52 Reviewed-on: https://chromium-review.googlesource.com/1093580 Reviewed-by: Robert Sesek <rsesek@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#567494} [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/command_buffer/client/cmd_buffer_helper.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/command_buffer/client/cmd_buffer_helper_test.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/command_buffer/client/mapped_memory.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/command_buffer/client/transfer_buffer_unittest.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/client/command_buffer_proxy_impl.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/client/gpu_channel_host.cc [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/client/gpu_channel_host.h [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/common/flush_params.h [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/common/gpu_param_traits_macros.h [modify] https://crrev.com/7a59e08137d5c51fa6695fe8ce0557ee257f4a8e/gpu/ipc/service/gpu_channel.cc
,
Jun 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a49da30d841e14aaabe40748de574908c3f6c58 commit 5a49da30d841e14aaabe40748de574908c3f6c58 Author: Francois Doray <fdoray@chromium.org> Date: Fri Jun 15 14:04:36 2018 Revert "GPU: Don't flush when destroying transfer buffers." This reverts commit 7a59e08137d5c51fa6695fe8ce0557ee257f4a8e. Reason for revert: https://crbug.com/853194 Original change's description: > GPU: Don't flush when destroying transfer buffers. > > Destroying a transfer buffer now requires only an ordering barrier, not > a full flush. This removes a source of unnecessary flushes and makes > resizing the transfer buffer more efficient. > > Bug: 850271 , 835353, 828363 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: I9bfe43c46c00f8e9fc29e6450da788f86e74bc52 > Reviewed-on: https://chromium-review.googlesource.com/1093580 > Reviewed-by: Robert Sesek <rsesek@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> > Commit-Queue: James Darpinian <jdarpinian@chromium.org> > Cr-Commit-Position: refs/heads/master@{#567494} TBR=sunnyps@chromium.org,rsesek@chromium.org,piman@chromium.org,jdarpinian@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 850271 , 835353, 828363 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I7cd21d6cee9beca02ae28da8614a58e2f53dc848 Reviewed-on: https://chromium-review.googlesource.com/1102346 Commit-Queue: François Doray <fdoray@chromium.org> Reviewed-by: François Doray <fdoray@chromium.org> Cr-Commit-Position: refs/heads/master@{#567631} [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/command_buffer/client/cmd_buffer_helper.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/command_buffer/client/cmd_buffer_helper_test.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/command_buffer/client/mapped_memory.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/command_buffer/client/transfer_buffer_unittest.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/client/command_buffer_proxy_impl.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/client/gpu_channel_host.cc [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/client/gpu_channel_host.h [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/common/flush_params.h [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/common/gpu_param_traits_macros.h [modify] https://crrev.com/5a49da30d841e14aaabe40748de574908c3f6c58/gpu/ipc/service/gpu_channel.cc
,
Jun 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1b4ae2892b05cf622b3f649cb38b995ed2d1733 commit d1b4ae2892b05cf622b3f649cb38b995ed2d1733 Author: James Darpinian <jdarpinian@chromium.org> Date: Tue Jun 19 19:49:08 2018 GPU: Don't flush when destroying transfer buffers. This reverts commit 5a49da30d841e14aaabe40748de574908c3f6c58. 2nd try due to http://crbug.com/853194 1st try was here: https://chromium-review.googlesource.com/c/chromium/src/+/1093580 Destroying a transfer buffer now requires only an ordering barrier, not a full flush. This removes a source of unnecessary flushes and makes resizing the transfer buffer more efficient. Bug: 850271 , 835353, 828363, 853194 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Ibc5e72fcf4538a3f10022a613e9d0f15e4e7a95a Reviewed-on: https://chromium-review.googlesource.com/1105466 Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#568575} [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/command_buffer/client/cmd_buffer_helper.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/command_buffer/client/cmd_buffer_helper_test.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/command_buffer/client/mapped_memory.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/command_buffer/client/transfer_buffer_unittest.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/client/command_buffer_proxy_impl.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/client/gpu_channel_host.cc [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/client/gpu_channel_host.h [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/common/flush_params.h [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/common/gpu_param_traits_macros.h [modify] https://crrev.com/d1b4ae2892b05cf622b3f649cb38b995ed2d1733/gpu/ipc/service/gpu_channel.cc
,
Jul 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c9afd79a9b8dddba6169dd805f60d8f4b14b82c7 commit c9afd79a9b8dddba6169dd805f60d8f4b14b82c7 Author: James Darpinian <jdarpinian@chromium.org> Date: Tue Jul 03 01:31:40 2018 GPU: Fix transfer buffers not being freed promptly A previous change removed the command buffer flush when destroying a transfer buffer: https://chromium-review.googlesource.com/c/chromium/src/+/1105466 If we want to free a transfer buffer promptly, we now need to flush separately, and we do. Unfortunately if no commands were issued between the call to DestroyTransferBuffer and the flush, the flush might not execute because the CommandBufferProxy would pass an outdated flush ID to GpuChannelHost::EnsureFlush. The fix is to inform the CommandBufferProxy about the new flush ID when it calls DestroyTransferBuffer. This should fix the memory regressions on the perf waterfall noted in bug 855402. Bug: 855402, 850271 , 835353, 828363 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Id125c5124b26763e692c1fe8067df28761fa6dab Reviewed-on: https://chromium-review.googlesource.com/1121590 Reviewed-by: Antoine Labour <piman@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#572074} [modify] https://crrev.com/c9afd79a9b8dddba6169dd805f60d8f4b14b82c7/gpu/ipc/client/command_buffer_proxy_impl.cc [modify] https://crrev.com/c9afd79a9b8dddba6169dd805f60d8f4b14b82c7/gpu/ipc/client/gpu_channel_host.cc [modify] https://crrev.com/c9afd79a9b8dddba6169dd805f60d8f4b14b82c7/gpu/ipc/client/gpu_channel_host.h
,
Jul 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783 commit 65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783 Author: James Darpinian <jdarpinian@chromium.org> Date: Tue Jul 03 07:23:17 2018 GPU: Grow and shrink transfer buffer Automatically grow the transfer buffer when it is full and shrink it when the full capacity is not being used. Allow choosing larger and smaller sizes than before. Before we would only grow it when a single transfer request was larger than the whole buffer; requests smaller than the whole buffer would just block if the buffer was full. Also we would not ever shrink the buffer until someone called Free() manually. Bug: 850271 , 835353, 828363, 856347 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: If2f2235a1d5297c63663398b37e1e30791347a3e Reviewed-on: https://chromium-review.googlesource.com/1105505 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#572135} [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/client_test_helper.cc [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/client_test_helper.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/gles2_implementation.cc [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/implementation_base.cc [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/implementation_base.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/mock_transfer_buffer.cc [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/mock_transfer_buffer.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/ring_buffer.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/shared_memory_limits.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/transfer_buffer.h [modify] https://crrev.com/65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783/gpu/command_buffer/client/transfer_buffer_unittest.cc
,
Jul 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6df2efa5313f48302a51d510fa9b5983811c2328 commit 6df2efa5313f48302a51d510fa9b5983811c2328 Author: Brian Sheedy <bsheedy@chromium.org> Date: Tue Jul 03 17:42:32 2018 Revert "GPU: Grow and shrink transfer buffer" This reverts commit 65c38f54b0ae666e8b27bfa5aef6d3ab92d4a783. Reason for revert: Causing DCHECK failures in VR instrumentation tests Original change's description: > GPU: Grow and shrink transfer buffer > > Automatically grow the transfer buffer when it is full and shrink it > when the full capacity is not being used. Allow choosing larger and > smaller sizes than before. > > Before we would only grow it when a single transfer request was larger > than the whole buffer; requests smaller than the whole buffer would just > block if the buffer was full. Also we would not ever shrink the buffer > until someone called Free() manually. > > Bug: 850271 , 835353, 828363, 856347 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: If2f2235a1d5297c63663398b37e1e30791347a3e > Reviewed-on: https://chromium-review.googlesource.com/1105505 > Commit-Queue: James Darpinian <jdarpinian@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#572135} TBR=jdarpinian@chromium.org,sunnyps@chromium.org,piman@chromium.org Change-Id: I031b30234cdcfbd8a4e48c7ebb6fd23312ec10ed No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 850271 , 835353, 828363, 856347 , 859952 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/1124822 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#572277} [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/client_test_helper.cc [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/client_test_helper.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/gles2_implementation.cc [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/implementation_base.cc [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/implementation_base.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/mock_transfer_buffer.cc [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/mock_transfer_buffer.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/ring_buffer.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/shared_memory_limits.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/transfer_buffer.h [modify] https://crrev.com/6df2efa5313f48302a51d510fa9b5983811c2328/gpu/command_buffer/client/transfer_buffer_unittest.cc
,
Jul 7
Taking over from James while he's OOO.
,
Jul 9
James isn't OOO yet.
,
Jul 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c3333c5acf70c841a66feba15273b1dc7d76da0 commit 1c3333c5acf70c841a66feba15273b1dc7d76da0 Author: James Darpinian <jdarpinian@chromium.org> Date: Fri Jul 13 01:56:36 2018 GPU: Grow and shrink transfer buffer Second try after revert 6df2efa5313f48302a51d510fa9b5983811c2328. Original at https://crrev.com/c/1105505 Automatically grow the transfer buffer when it is full and shrink it when the full capacity is not being used. Start at a smaller size. Before we would only grow it when a single transfer request was larger than the whole buffer; requests smaller than the whole buffer would just block if the buffer was full. Also we would not ever shrink the buffer until someone called Free() manually. Bug: 850271 , 835353, 828363, 856347 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: Id1223267d0ab444afe18f62f45ae5f365131e18c Reviewed-on: https://chromium-review.googlesource.com/1125503 Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: James Darpinian <jdarpinian@chromium.org> Cr-Commit-Position: refs/heads/master@{#574816} [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/client_test_helper.cc [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/client_test_helper.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/gles2_implementation.cc [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/implementation_base.cc [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/implementation_base.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/mock_transfer_buffer.cc [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/mock_transfer_buffer.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/ring_buffer.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/shared_memory_limits.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/transfer_buffer.cc [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/transfer_buffer.h [modify] https://crrev.com/1c3333c5acf70c841a66feba15273b1dc7d76da0/gpu/command_buffer/client/transfer_buffer_unittest.cc
,
Jul 14
There are two more CLs to submit before I'll call this fixed. Canvas/WebGL: Block RAF to limit queued frames. http://crrev.com/c/1137709 GPU: Wait for a minimum time before preempting. http://crrev.com/c/1137710 They both still need work. I've left comments about the remaining work in the CL descriptions, in case I go on paternity leave before I can finish them.
,
Jul 18
I'm likely going on leave now. The CL I'm currently working on is cc: Use a counter to keep track of commit deferment requests https://chromium-review.googlesource.com/c/chromium/src/+/1139224 This is a prerequisite to http://crrev.com/c/1137709 (Canvas/WebGL: Block RAF to limit queued frames).
,
Aug 29
,
Aug 29
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/19aa861c604a5a0c5a9170344be264bab7dea173 commit 19aa861c604a5a0c5a9170344be264bab7dea173 Author: Eric Karl <ericrk@chromium.org> Date: Wed Aug 29 22:15:35 2018 Remove OnCompositorLockStateChanged from CompositorObserver This function was only used in a single test which ensured that it was called. Removing it. TBR=sadrul for uninteresting chnage (removing unused interface fn) in power_event_observer.cc TBR=thakis for uninteresting change (removing unused interface fn) in chrome/browser/* Bug: 835353 Change-Id: Icdd8b073e84f54a43d31d2de1690ed6280c194bb Reviewed-on: https://chromium-review.googlesource.com/1195671 Reviewed-by: Eric Karl <ericrk@chromium.org> Reviewed-by: ccameron <ccameron@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#587321} [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ash/system/power/power_event_observer.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/chrome/browser/chromeos/login/ui/login_display_host_webui.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/chrome/browser/metrics/browser_window_histogram_helper.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/chrome/browser/ui/views/omnibox/omnibox_view_views.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/chrome/browser/ui/views/omnibox/omnibox_view_views.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/content/browser/renderer_host/delegated_frame_host.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/content/browser/renderer_host/delegated_frame_host.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/aura/window_tree_host.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/aura/window_tree_host.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/compositor.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/compositor_observer.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/compositor_unittest.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/layer_unittest.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/recyclable_compositor_mac.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/test/draw_waiter_for_test.cc [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/compositor/test/draw_waiter_for_test.h [modify] https://crrev.com/19aa861c604a5a0c5a9170344be264bab7dea173/ui/views/controls/scroll_view_unittest.cc
,
Aug 31
Creating blocking bugs for various sub-issues to organize merge requests to 70.
,
Aug 31
,
Aug 31
,
Aug 31
,
Sep 1
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/30e36bccb4ba16bd0528901e6f371f33fb13871c commit 30e36bccb4ba16bd0528901e6f371f33fb13871c Author: Eric Karl <ericrk@chromium.org> Date: Sat Sep 01 16:15:00 2018 Bump WebGL stream to high-priority on Adreno 3xx. WebGL has performance issues on Adreno 3xx when we switch contexts from/to the WebGL context mid-frame. To avoid this issue, we can bump scheduler priority for the WebGL stream to high, avoiding most mid-frame interruptions. In local testing this (in combination with a backpressure fix) addresses known issues. Bug: 879649, 835353 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I896456b29f3b80e3e443720b9ce444e6825c1c03 Reviewed-on: https://chromium-review.googlesource.com/1200242 Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#588287} [modify] https://crrev.com/30e36bccb4ba16bd0528901e6f371f33fb13871c/content/common/gpu_stream_constants.h [modify] https://crrev.com/30e36bccb4ba16bd0528901e6f371f33fb13871c/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/30e36bccb4ba16bd0528901e6f371f33fb13871c/gpu/config/gpu_driver_bug_list.json [modify] https://crrev.com/30e36bccb4ba16bd0528901e6f371f33fb13871c/gpu/config/gpu_workaround_list.txt
,
Sep 4
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b76e1f535c4248882bebebe53cf329e245c6efe1 commit b76e1f535c4248882bebebe53cf329e245c6efe1 Author: Eric Karl <ericrk@chromium.org> Date: Tue Sep 04 13:24:22 2018 cc: Use a counter to keep track of commit deferment requests Before, one call to SetDeferCommits(false) would clobber any number of SetDeferCommits(true) calls that happened before. This change refactors SetDeferCommits(bool) into DeferCommits() that returns a ScopedDeferCommits object. We stop deferring commits when the ScopedDeferCommits object is destroyed. This required a minor refactor to WebViewImpl, ChromeClientImpl and SimCompositor. Previously these classes would defer / un-defer commits independently, relying on global state. Now ChromeClientImpl and SimCompositor interact with WebViewImpl who maintains the state of commit deferral. Bug: 835353, 879656 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I50fd8f54ff908b703643f670cabea986426cc935 Reviewed-on: https://chromium-review.googlesource.com/1195704 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: ccameron <ccameron@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#588500} [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest_context.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/public/platform/web_layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/page/chrome_client_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/android/delegated_frame_host_android_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock_unittest.cc
,
Sep 4
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b76e1f535c4248882bebebe53cf329e245c6efe1 commit b76e1f535c4248882bebebe53cf329e245c6efe1 Author: Eric Karl <ericrk@chromium.org> Date: Tue Sep 04 13:24:22 2018 cc: Use a counter to keep track of commit deferment requests Before, one call to SetDeferCommits(false) would clobber any number of SetDeferCommits(true) calls that happened before. This change refactors SetDeferCommits(bool) into DeferCommits() that returns a ScopedDeferCommits object. We stop deferring commits when the ScopedDeferCommits object is destroyed. This required a minor refactor to WebViewImpl, ChromeClientImpl and SimCompositor. Previously these classes would defer / un-defer commits independently, relying on global state. Now ChromeClientImpl and SimCompositor interact with WebViewImpl who maintains the state of commit deferral. Bug: 835353, 879656 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I50fd8f54ff908b703643f670cabea986426cc935 Reviewed-on: https://chromium-review.googlesource.com/1195704 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: ccameron <ccameron@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#588500} [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest_context.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/public/platform/web_layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/page/chrome_client_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/android/delegated_frame_host_android_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock_unittest.cc
,
Sep 4
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b76e1f535c4248882bebebe53cf329e245c6efe1 commit b76e1f535c4248882bebebe53cf329e245c6efe1 Author: Eric Karl <ericrk@chromium.org> Date: Tue Sep 04 13:24:22 2018 cc: Use a counter to keep track of commit deferment requests Before, one call to SetDeferCommits(false) would clobber any number of SetDeferCommits(true) calls that happened before. This change refactors SetDeferCommits(bool) into DeferCommits() that returns a ScopedDeferCommits object. We stop deferring commits when the ScopedDeferCommits object is destroyed. This required a minor refactor to WebViewImpl, ChromeClientImpl and SimCompositor. Previously these classes would defer / un-defer commits independently, relying on global state. Now ChromeClientImpl and SimCompositor interact with WebViewImpl who maintains the state of commit deferral. Bug: 835353, 879656 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I50fd8f54ff908b703643f670cabea986426cc935 Reviewed-on: https://chromium-review.googlesource.com/1195704 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: ccameron <ccameron@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#588500} [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/test/layer_tree_test.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/cc/trees/layer_tree_host_unittest_context.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/browser/renderer_host/compositor_impl_android.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/content/renderer/gpu/layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/public/platform/web_layer_tree_view.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/exported/web_view_impl.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/page/chrome_client_impl.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/third_party/blink/renderer/core/testing/sim/sim_compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/android/delegated_frame_host_android_unittest.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.cc [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock.h [modify] https://crrev.com/b76e1f535c4248882bebebe53cf329e245c6efe1/ui/compositor/compositor_lock_unittest.cc
,
Sep 8
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/67b6d035baea05e2d01946dc85355e09e844f3e8 commit 67b6d035baea05e2d01946dc85355e09e844f3e8 Author: Eric Karl <ericrk@chromium.org> Date: Sat Sep 08 15:52:01 2018 Add missing |host_| check to DeferCommits in CompositorImplAndroid We should have checked for |host_| before calling DeferCommits in the last CL. Adding this to match previous behavior. TBR=khushalsagar@chromium.org Bug: 881706, 835353, 879656 Change-Id: I27a1e6fc67478b2e50c33ae48339adb58749b980 Reviewed-on: https://chromium-review.googlesource.com/1215084 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#589782} [modify] https://crrev.com/67b6d035baea05e2d01946dc85355e09e844f3e8/content/browser/renderer_host/compositor_impl_android.cc
,
Sep 8
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0dd63a3394566a94619974f91ce14f8d7680512c commit 0dd63a3394566a94619974f91ce14f8d7680512c Author: Eric Karl <ericrk@chromium.org> Date: Sat Sep 08 17:47:51 2018 Canvas/WebGL: Defer commits to limit queued frames. This change adds more backpressure to Canvas/WebGL rendering in GPU bound situations. Before, the renderer could have three or four frames of drawing commands queued and waiting for execution by the GPU process. The GPU process does not know which drawing commands are associated with which display frame. Sometimes it would run multiple frames of queued drawing commands in one display frame, causing frame rate hiccups. Now when the TextureLayer has more than one buffer in flight, it calls DeferCommits to block the next requestAnimationFrame callback from running until one of the buffers is returned, indicating that the GPU process has executed the commands for that frame. The shorter pipeline reduces latency and prevents the GPU process from trying to execute multiple Canvas/WebGL frames in one display frame. Bug: 835353, 879658 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I7e5484add5fbd79757b205b1124ed7c2c5836dbb Reviewed-on: https://chromium-review.googlesource.com/1199699 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#589784} [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/cc/layers/texture_layer.cc [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/cc/layers/texture_layer.h [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/cc/layers/texture_layer_unittest.cc [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc [modify] https://crrev.com/0dd63a3394566a94619974f91ce14f8d7680512c/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
,
Sep 10
Will, with the CLs above landed, perf issues should be addressed for your test case. Can you try out Chrome Canary on your device and let me know if you see any remaining problems? We're still working on more general fixes, but the above is a scoped set of fixes that we should be able to merge to Chrome 70. Thanks!
,
Sep 13
Hi Eric! This is excellent. I definitely notice a stable 30Hz on a Moto G3 now. However, I did a performance capture in Chrome Dev Tools, and I'm actually a little confused as to why the originally linked demo doesn't hit 60Hz. Both CPU and GPU seem to be completing in less than 16.66ms for the most part. Do you know why this is?
,
Sep 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0405474407dff675506e6895f267b3bb3495a388 commit 0405474407dff675506e6895f267b3bb3495a388 Author: Eric Karl <ericrk@chromium.org> Date: Thu Sep 13 22:18:06 2018 Revert "Canvas/WebGL: Defer commits to limit queued frames." This reverts commit 0dd63a3394566a94619974f91ce14f8d7680512c. Reason for revert: Causes flakiness for a large number of tests. See crbug.com/882951 Original change's description: > Canvas/WebGL: Defer commits to limit queued frames. > > This change adds more backpressure to Canvas/WebGL rendering in GPU > bound situations. > > Before, the renderer could have three or four frames of drawing commands > queued and waiting for execution by the GPU process. The GPU process > does not know which drawing commands are associated with which display > frame. Sometimes it would run multiple frames of queued drawing commands > in one display frame, causing frame rate hiccups. > > Now when the TextureLayer has more than one buffer in flight, it calls > DeferCommits to block the next requestAnimationFrame callback from > running until one of the buffers is returned, indicating that the GPU > process has executed the commands for that frame. The shorter pipeline > reduces latency and prevents the GPU process from trying to execute > multiple Canvas/WebGL frames in one display frame. > > Bug: 835353, 879658 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I7e5484add5fbd79757b205b1124ed7c2c5836dbb > Reviewed-on: https://chromium-review.googlesource.com/1199699 > Commit-Queue: Eric Karl <ericrk@chromium.org> > Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> > Reviewed-by: Chris Harrelson <chrishtr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#589784} TBR=chrishtr@chromium.org,sunnyps@chromium.org,ericrk@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 835353, 879658, 882951 , 883364 , 883358 , 883057 , 882618 Change-Id: I3bee10c8f43c2868966cedb638afbb4b0d9babab Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1224456 Commit-Queue: Eric Karl <ericrk@chromium.org> Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#591181} [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer.cc [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer.h [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/cc/layers/texture_layer_unittest.cc [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.cc [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc [modify] https://crrev.com/0405474407dff675506e6895f267b3bb3495a388/third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc
,
Sep 14
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/76c456ca17976b3fcc977527b21f883ebc5274fe commit 76c456ca17976b3fcc977527b21f883ebc5274fe Author: Eric Karl <ericrk@chromium.org> Date: Fri Sep 14 20:33:42 2018 Bump WebGL stream to high-priority on Adreno 3xx. WebGL has performance issues on Adreno 3xx when we switch contexts from/to the WebGL context mid-frame. To avoid this issue, we can bump scheduler priority for the WebGL stream to high, avoiding most mid-frame interruptions. In local testing this (in combination with a backpressure fix) addresses known issues. TBR=ericrk@chromium.org (cherry picked from commit 30e36bccb4ba16bd0528901e6f371f33fb13871c) Bug: 879649, 835353 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I896456b29f3b80e3e443720b9ce444e6825c1c03 Reviewed-on: https://chromium-review.googlesource.com/1200242 Reviewed-by: Nasko Oskov <nasko@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#588287} Reviewed-on: https://chromium-review.googlesource.com/1227300 Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#425} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} [modify] https://crrev.com/76c456ca17976b3fcc977527b21f883ebc5274fe/content/common/gpu_stream_constants.h [modify] https://crrev.com/76c456ca17976b3fcc977527b21f883ebc5274fe/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/76c456ca17976b3fcc977527b21f883ebc5274fe/gpu/config/gpu_driver_bug_list.json [modify] https://crrev.com/76c456ca17976b3fcc977527b21f883ebc5274fe/gpu/config/gpu_workaround_list.txt
,
Sep 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07e6a68dfca48c7a1e5ae6ac3fc4a8db4ef63e82 commit 07e6a68dfca48c7a1e5ae6ac3fc4a8db4ef63e82 Author: Eric Karl <ericrk@chromium.org> Date: Mon Sep 17 20:48:26 2018 DescheduleUntilFinishedCHROMIUM after each GL frame on Android The DescheduleUntilFinishedCHROMIUM command was added for mac to provide backpressure to WebGL workflows. Despite its name, the call actually deschedules until the *previous* WebGL frame is finished, allowing 2 frames of backpressure. Bug: 835353, 879658 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I476a585086cf4e36c4685162119368503e3ec53a Reviewed-on: https://chromium-review.googlesource.com/1227184 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#591806} [modify] https://crrev.com/07e6a68dfca48c7a1e5ae6ac3fc4a8db4ef63e82/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
,
Sep 18
Hi Will! I think what you're seeing may be an issue with the performance profiler in Devtools. I tried on a build from a couple days ago and the performance profiler seems to be ignoring certain GPU work in its trace... taking a trace using Chrome's about:tracing UI, I see that the GPU thread is busy waiting on swap. See attached images. I tried on today's canary and was seeing the work in the devtools performance trace as well, so hopefully this is fixed.
,
Sep 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/527dfdef5ad73b9803d329e773e3dacd3abbdfae commit 527dfdef5ad73b9803d329e773e3dacd3abbdfae Author: Eric Karl <ericrk@chromium.org> Date: Fri Sep 21 21:25:28 2018 DescheduleUntilFinishedCHROMIUM after each GL frame on Android The DescheduleUntilFinishedCHROMIUM command was added for mac to provide backpressure to WebGL workflows. Despite its name, the call actually deschedules until the *previous* WebGL frame is finished, allowing 2 frames of backpressure. TBR=ericrk@chromium.org (cherry picked from commit 07e6a68dfca48c7a1e5ae6ac3fc4a8db4ef63e82) Bug: 835353, 879658 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I476a585086cf4e36c4685162119368503e3ec53a Reviewed-on: https://chromium-review.googlesource.com/1227184 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#591806} Reviewed-on: https://chromium-review.googlesource.com/1239417 Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#566} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811} [modify] https://crrev.com/527dfdef5ad73b9803d329e773e3dacd3abbdfae/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer.cc
,
Sep 21
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/527dfdef5ad73b9803d329e773e3dacd3abbdfae Commit: 527dfdef5ad73b9803d329e773e3dacd3abbdfae Author: ericrk@chromium.org Commiter: ericrk@chromium.org Date: 2018-09-21 21:25:28 +0000 UTC DescheduleUntilFinishedCHROMIUM after each GL frame on Android The DescheduleUntilFinishedCHROMIUM command was added for mac to provide backpressure to WebGL workflows. Despite its name, the call actually deschedules until the *previous* WebGL frame is finished, allowing 2 frames of backpressure. TBR=ericrk@chromium.org (cherry picked from commit 07e6a68dfca48c7a1e5ae6ac3fc4a8db4ef63e82) Bug: 835353, 879658 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I476a585086cf4e36c4685162119368503e3ec53a Reviewed-on: https://chromium-review.googlesource.com/1227184 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Eric Karl <ericrk@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#591806} Reviewed-on: https://chromium-review.googlesource.com/1239417 Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/branch-heads/3538@{#566} Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
,
Sep 27
,
Sep 27
Actually, over to sunnyps@ to close once the alternative workaround for bumping WebGL priority is landed. Thanks!
,
Sep 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5358dbe0785f91b2208e77853e6ff3691fc1d43e commit 5358dbe0785f91b2208e77853e6ff3691fc1d43e Author: Sunny Sachanandani <sunnyps@chromium.org> Date: Thu Sep 27 02:45:42 2018 Defer returning resources from display compositor During aggregation, SurfaceAggregator marks all resources used for a draw in the resource provider. This has the side effect of deleting unused resources and their textures, generating sync tokens, and returning the resources to the client. This involves GL work which is issued before drawing commands, and gets prioritized by GPU scheduler because sync token dependencies aren't issued until the draw. This CL extends ScopedBatchReturnResources to include all places where the resource provider deletes resouces including marking used resources, and makes Display hold a ScopedBatchReturnResources for the entire duration of draw including surface aggregation. This defers the GL commands for deleting resources to after the draw, and prevents context switching because the scheduler knows sync token dependencies at that time. This has a big impact on WebGL performance in general, and especially on certain older Adreno 3xx devices. Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I0e0ba47b54c3bb2c0a7bc344f65f2caba7d8c117 Bug: 835353 Reviewed-on: https://chromium-review.googlesource.com/1200414 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: danakj <danakj@chromium.org> Cr-Commit-Position: refs/heads/master@{#594573} [modify] https://crrev.com/5358dbe0785f91b2208e77853e6ff3691fc1d43e/components/viz/service/display/display.cc [modify] https://crrev.com/5358dbe0785f91b2208e77853e6ff3691fc1d43e/components/viz/service/display/display_resource_provider.cc [modify] https://crrev.com/5358dbe0785f91b2208e77853e6ff3691fc1d43e/components/viz/service/display/display_resource_provider.h [modify] https://crrev.com/5358dbe0785f91b2208e77853e6ff3691fc1d43e/components/viz/service/display/display_resource_provider_unittest.cc
,
Sep 27
This sounds great. When you say 'This has a big impact on WebGL performance in general, and especially on certain older Adreno 3xx devices.', do you have any numbers for the improvements you're observing?
,
Sep 28
On Nexus 5X, frame times for webgl particles demo[1] goes from ~54ms to ~36ms[2]. It hasn't recovered to pre-regression levels because we changed the CPU/GPU frequency on the 5X in our benchmarks for stability[3] in that time. The above CL hasn't shown a change on Nexus 5 because that was addressed by Eric's webgl context priority bump workaround[4] on those devices. The above CL should let us remove that workaround. Eric has verified locally this. An estimate for the improvement would be frame times go from ~54ms to ~38ms which is the improvement[5] we saw with the workaround. [1] https://cs.chromium.org/chromium/src/tools/perf/page_sets/rendering/tough_webgl_cases.py?rcl=9ce0aebce8925c536dec9d63e6c8277ec239ec92&l=53 [2] https://chromeperf.appspot.com/report?sid=2fef004a35007d7d8466f0601d20517363f52f265f2e35bbe885dcdf4741abc7&start_rev=583583&end_rev=595142 [3] https://chromium.googlesource.com/catapult.git/+/88dc49aaadb0d1295042023255f6bdceb706fa71 [4] https://chromium.googlesource.com/chromium/src.git/+/30e36bccb4ba16bd0528901e6f371f33fb13871c [5] https://chromeperf.appspot.com/report?sid=de8cdaeff5820dcd5155e8cdd79d17452ecda158e02ec9e440629636a6216cce&start_rev=582445&end_rev=595152
,
Sep 28
Great work Sunny and Eric!
,
Nov 1
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/036c0ce3185444f745a514111dc2e8160a8356a6 commit 036c0ce3185444f745a514111dc2e8160a8356a6 Author: Sunny Sachanandani <sunnyps@chromium.org> Date: Thu Nov 01 03:16:24 2018 Revert "Bump WebGL stream to high-priority on Adreno 3xx." This reverts commit 30e36bccb4ba16bd0528901e6f371f33fb13871c. Reason for revert: Display compositor doesn't cause mid-frame flushes any more, so workaround isn't needed. Original change's description: > Bump WebGL stream to high-priority on Adreno 3xx. > > WebGL has performance issues on Adreno 3xx when we switch contexts > from/to the WebGL context mid-frame. > > To avoid this issue, we can bump scheduler priority for the WebGL stream > to high, avoiding most mid-frame interruptions. In local testing this > (in combination with a backpressure fix) addresses known issues. > > Bug: 879649, 835353 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: I896456b29f3b80e3e443720b9ce444e6825c1c03 > Reviewed-on: https://chromium-review.googlesource.com/1200242 > Reviewed-by: Nasko Oskov <nasko@chromium.org> > Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> > Commit-Queue: Eric Karl <ericrk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#588287} TBR=nasko@chromium.org,sunnyps@chromium.org,ericrk@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 879649, 835353 Change-Id: I0e0c75f5162789b457c2a4cdfa29dc8557972208 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/c/1311658 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by: Eric Karl <ericrk@chromium.org> Cr-Commit-Position: refs/heads/master@{#604505} [modify] https://crrev.com/036c0ce3185444f745a514111dc2e8160a8356a6/content/public/common/gpu_stream_constants.h [modify] https://crrev.com/036c0ce3185444f745a514111dc2e8160a8356a6/content/renderer/renderer_blink_platform_impl.cc [modify] https://crrev.com/036c0ce3185444f745a514111dc2e8160a8356a6/gpu/config/gpu_driver_bug_list.json [modify] https://crrev.com/036c0ce3185444f745a514111dc2e8160a8356a6/gpu/config/gpu_workaround_list.txt |
||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||
Comment 1 by reve...@chromium.org
, Apr 20 2018Status: Assigned (was: Unconfirmed)