New issue
Advanced search Search tips

Issue 801580 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 19
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 746956



Sign in to add a comment

Support jumbo in components/viz

Project Member Reported by brat...@opera.com, Jan 12 2018

Issue description

components/viz is the second slowest component to compile, and the slowest one, components/sync, already has jumbo support.

When compiling chrome+content_shell+blink_tests components/viz needs 7.3 CPU minutes, or 0.9-1.8% of the compilation time so giving components/viz jumbo support has the potential to speed up a full build by about 1%.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 15 2018

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

commit bd0a8738015bb53b26791e12e1e54669baa58228
Author: Daniel Bratell <bratell@opera.com>
Date: Mon Jan 15 11:02:02 2018

Deduplicate IsScaleAndIntegerTranslate

There are two identical implementations iof IsScaleAndIntegerTranslate() in
components/viz/service/display. One in skia_renderer.cc and one in
software_renderer.cc.

When building components/viz with jumbo (not yet on master) those end
up in the same translation unit and cause compilation errors.

This CL deduplicates the functions and puts it in a shared utility file,
renderer_utils.cc.

Bug:  801580 
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: Ifcc39032bffcfcb752cee60719689d94dfbd2df6
Reviewed-on: https://chromium-review.googlesource.com/864643
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#529245}
[modify] https://crrev.com/bd0a8738015bb53b26791e12e1e54669baa58228/components/viz/service/BUILD.gn
[add] https://crrev.com/bd0a8738015bb53b26791e12e1e54669baa58228/components/viz/service/display/renderer_utils.cc
[add] https://crrev.com/bd0a8738015bb53b26791e12e1e54669baa58228/components/viz/service/display/renderer_utils.h
[modify] https://crrev.com/bd0a8738015bb53b26791e12e1e54669baa58228/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/bd0a8738015bb53b26791e12e1e54669baa58228/components/viz/service/display/software_renderer.cc

Components: Build
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 17

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

commit e6e227bde18b6cb0520c463edb5f95f3a520d739
Author: Daniel Bratell <bratell@opera.com>
Date: Tue Jul 17 18:12:24 2018

[jumbo] Merged two GetActiveTextureUnit functions

In jumbo build experiments, two (identical but small)
GetActiveTextureUnit() functions ended up in the same translation
unit which caused the compiler to fail.

This patch moves the useful function into a shared utility file.

Bug:  801580 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Id6f8f1002db18593150bec30f1e8b7092f464e13
Reviewed-on: https://chromium-review.googlesource.com/1136308
Reviewed-by: danakj <danakj@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#575721}
[modify] https://crrev.com/e6e227bde18b6cb0520c463edb5f95f3a520d739/components/viz/service/display/display_resource_provider.cc

Blocking: 746956
Owner: brat...@opera.com
Status: Fixed (was: Untriaged)
This landed last Thursday but I failed to reference this bug.

The commit message is:

    Support jumbo builds in components/viz
    
    Jumbo is a unity build system for Chromium. By combining many cc files
    in the same translation unit, the compiler doesn't have to repeat all
    the work triggered by shared header. This normally makes building 5-20
    times faster.
    
    The downside to jumbo is that code intended to be local to one cc file
    suddenly becomes more exposed and might clash with other code.
    
    Jumbo support in components/viz currently saves about 5 CPU minutes of effort,
    about 1% of the total reference build effort.
    
    Bug: viz bug
    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: I7bff566b96b2caeac66aa8e6fb67495231206d51
    Reviewed-on: https://chromium-review.googlesource.com/951791
    Commit-Queue: Daniel Bratell <bratell@opera.com>
    Reviewed-by: danakj <danakj@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#590954}

Sign in to add a comment