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

Issue 799639 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression
GPU



Sign in to add a comment

GLMark2 performance regression

Project Member Reported by dbehr@chromium.org, Jan 5 2018

Issue description

Comment 1 by dbehr@chromium.org, Jan 5 2018

It looks to me the culprit is


minigbm: replace DRM_FORMAT_MOD_INVALID with DRM_FORMAT_MOD_LINEAR
    
    CL:737409 replaced DRM_FORMAT_MOD_NONE with DRM_FORMAT_MOD_INVALID in
    struct kms_item. We use drv_query_kms() to add the scanout flag to most
    buffer combinations. That means anything with DRM_FORMAT_MOD_LINEAR
    will not get the scanout flag, since drv_query_kms returns combinations
    with DRM_FORMAT_MOD_INVALID. This leads to artifacts in the zero latency
    app, since we end up picking a X-tiled buffer since we don't advertise
    a linear buffer with scanout.
    
    Since all hardware can scanout linear buffers, replace DRM_FORMAT_MOD_INVALID
    with DRM_FORMAT_MOD_LINEAR.
    
    BUG=chromium:762324
    TEST=no overlay artifacts running Zero latency app
    
    Change-Id: Ib8a33b9e8dde3767337b9cd32c5b2849f9c8aa04
    Reviewed-on: https://chromium-review.googlesource.com/823258
    Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org>
    Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
    Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>

GLMark2 on link
with the change
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2                                              [  PASSED  ]
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                             [  PASSED  ]
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_false.update-dispersion_0.9.update-fraction_0.5.update-method_map     6.944
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_false.update-dispersion_0.9.update-fraction_0.5.update-method_subdata 7.299
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_true.update-dispersion_0.9.update-fraction_0.5.update-method_map      6.623
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               build.use-vbo_false                                                                                 6.711
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               build.use-vbo_true                                                                                  5.236
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_height                                                                             5.208
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_high-poly                                                                          6.098
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_normals                                                                            5.208
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_0.vertex-steps_0                                                        5.405
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_0.vertex-steps_5                                                        5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_5.vertex-steps_0                                                        5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               desktop.blur-radius_5.effect_blur.passes_1.separable_true.windows_4                                 6.667
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               desktop.effect_shadow.windows_4                                                                     6.024
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               effect2d.kernel_0-1-0_1--4-1_0-1-0_                                                                 5.435
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               effect2d.kernel_1-1-1-1-1_1-1-1-1-1_1-1-1-1-1_                                                      5.988
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               function.fragment-complexity_low.fragment-steps_5                                                   5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               function.fragment-complexity_medium.fragment-steps_5                                                5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               glmark2_score                                                                                       170
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               ideas.speed_duration                                                                                5.780
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               jellyfish.default                                                                                   5.952
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-loop_false.fragment-steps_5.vertex-steps_5                                            5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-steps_5.fragment-uniform_false.vertex-steps_5                                         5.405
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-steps_5.fragment-uniform_true.vertex-steps_5                                          5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               pulsar.light_false.quads_5.texture_false                                                            5.319
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               refract.default                                                                                     11.236
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_blinn-phong-inf                                                                     5.405
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_cel                                                                                 5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_gouraud                                                                             5.376
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_phong                                                                               5.405
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               shadow.default                                                                                      6.452
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               terrain.default                                                                                     13.514
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_linear                                                                       5.291
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_mipmap                                                                       5.236
/tmp/test_that_results_gL5Rk2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_nearest                                                                      5.319


and after reverting it
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2                                              [  PASSED  ]
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                             [  PASSED  ]
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_false.update-dispersion_0.9.update-fraction_0.5.update-method_map     2.907
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_false.update-dispersion_0.9.update-fraction_0.5.update-method_subdata 3.356
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               buffer.columns_200.interleave_true.update-dispersion_0.9.update-fraction_0.5.update-method_map      2.532
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               build.use-vbo_false                                                                                 2.370
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               build.use-vbo_true                                                                                  0.340
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_height                                                                             0.253
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_high-poly                                                                          1.155
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               bump.bump-render_normals                                                                            0.254
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_0.vertex-steps_0                                                        0.353
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_0.vertex-steps_5                                                        0.359
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               conditionals.fragment-steps_5.vertex-steps_0                                                        0.343
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               desktop.blur-radius_5.effect_blur.passes_1.separable_true.windows_4                                 1.473
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               desktop.effect_shadow.windows_4                                                                     1.088
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               effect2d.kernel_0-1-0_1--4-1_0-1-0_                                                                 0.483
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               effect2d.kernel_1-1-1-1-1_1-1-1-1-1_1-1-1-1-1_                                                      0.978
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               function.fragment-complexity_low.fragment-steps_5                                                   0.348
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               function.fragment-complexity_medium.fragment-steps_5                                                0.339
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               glmark2_score                                                                                       1979
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               ideas.speed_duration                                                                                1.042
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               jellyfish.default                                                                                   0.794
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-loop_false.fragment-steps_5.vertex-steps_5                                            0.348
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-steps_5.fragment-uniform_false.vertex-steps_5                                         0.348
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               loop.fragment-steps_5.fragment-uniform_true.vertex-steps_5                                          0.344
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               pulsar.light_false.quads_5.texture_false                                                            0.374
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               refract.default                                                                                     5.917
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_blinn-phong-inf                                                                     0.452
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_cel                                                                                 0.460
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_gouraud                                                                             0.467
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               shading.shading_phong                                                                               0.456
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               shadow.default                                                                                      1.312
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               terrain.default                                                                                     9.524
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_linear                                                                       0.333
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_mipmap                                                                       0.272
/tmp/test_that_results_MeWNd2/results-1-graphics_GLMark2/graphics_GLMark2                               texture.texture-filter_nearest                                                                      0.322

Cc: -gurcheta...@chromium.org dbehr@chromium.org
Owner: gurcheta...@chromium.org
I can take a look.
Hmmmm... can't seem to reproduce the improvement running this command (which is what autotest runs via python) on Falco:

/usr/local/autotest/deps/glmark2/glmark2 --data-path /usr/local/autotest/deps/glmark2/data --size 800x600 --annotate -b :duration=2

I'm mainly looking at terrain.default, which regressed to 13.5 from 9.5:

https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgICQ6IzqogoM

I get similar results with with or without the CL mentioned in #2.  However, the results vary depending on whether I run through autotest or on the command line.  In fact, with or without the CL in #2, via autotest terrain.default doesn't seem to have regressed. 


dbher@, don't tear down your Link setup, let's examine next week ;-) 

Comment 4 by dbehr@chromium.org, Jan 8 2018

Labels: Gfx-Guard GPU
Cc: -dbehr@chromium.org gurcheta...@chromium.org
Owner: dbehr@chromium.org
We're having issues reproducing the improvement after the revert on Link, re-assigning back to dbehr@ for investigation.
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/minigbm/+/9ad07155dd9e5370e507d266766a8bcfbb4fa4d7

commit 9ad07155dd9e5370e507d266766a8bcfbb4fa4d7
Author: Dominik Behr <dbehr@chromium.org>
Date: Tue Jan 09 01:22:58 2018

Revert "minigbm: replace DRM_FORMAT_MOD_INVALID with DRM_FORMAT_MOD_LINEAR"

This reverts commit 9927d78669f67c2446888aa32a3e9f9c71f7228b.

BUG=chromium:799639
TEST=run graphics_GLMark2

Change-Id: Idcf25de31fe2a17cc28900558e19145ca33dbff5
Reviewed-on: https://chromium-review.googlesource.com/853223
Commit-Ready: Dominik Behr <dbehr@chromium.org>
Tested-by: Dominik Behr <dbehr@chromium.org>
Reviewed-by: Robert Tarasov <tutankhamen@chromium.org>

[modify] https://crrev.com/9ad07155dd9e5370e507d266766a8bcfbb4fa4d7/drv_priv.h
[modify] https://crrev.com/9ad07155dd9e5370e507d266766a8bcfbb4fa4d7/i915.c
[modify] https://crrev.com/9ad07155dd9e5370e507d266766a8bcfbb4fa4d7/helpers.c

Comment 7 by pwang@chromium.org, Jan 9 2018

Cc: pwang@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/minigbm/+/d118a0e7466ce9ccabea300fafa2c4c28d468cb5

commit d118a0e7466ce9ccabea300fafa2c4c28d468cb5
Author: Gurchetan Singh <gurchetansingh@chromium.org>
Date: Thu Jan 18 03:44:38 2018

Revert "Revert "minigbm: replace DRM_FORMAT_MOD_INVALID with DRM_FORMAT_MOD_LINEAR""

This reverts commit 9ad07155dd9e5370e507d266766a8bcfbb4fa4d7.

Reason for revert: We haven't seen improvements in the graphs after the speculative
revert that landed in 10292.0.0:

https://chromeperf.appspot.com/group_report?keys=agxzfmNocm9tZXBlcmZyFAsSB0Fub21hbHkYgICQ6IzqogoM

Original change's description:
> Revert "minigbm: replace DRM_FORMAT_MOD_INVALID with DRM_FORMAT_MOD_LINEAR"
>
> This reverts commit 9927d78669f67c2446888aa32a3e9f9c71f7228b.
>
> BUG=chromium:799639
> TEST=run graphics_GLMark2
>
> Change-Id: Idcf25de31fe2a17cc28900558e19145ca33dbff5
> Reviewed-on: https://chromium-review.googlesource.com/853223
> Commit-Ready: Dominik Behr <dbehr@chromium.org>
> Tested-by: Dominik Behr <dbehr@chromium.org>
> Reviewed-by: Robert Tarasov <tutankhamen@chromium.org>

Bug: chromium:799639
Change-Id: I100b93e41f43c026181eef0777f76b5c2cd93d6c
Reviewed-on: https://chromium-review.googlesource.com/865773
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>

[modify] https://crrev.com/d118a0e7466ce9ccabea300fafa2c4c28d468cb5/drv_priv.h
[modify] https://crrev.com/d118a0e7466ce9ccabea300fafa2c4c28d468cb5/i915.c
[modify] https://crrev.com/d118a0e7466ce9ccabea300fafa2c4c28d468cb5/helpers.c

Comment 9 by osh...@chromium.org, Jan 26 2018

Components: OS>Kernel>Graphics

Sign in to add a comment