• Adrienne Walker's avatar
    cc: Split up blending tests to avoid timeouts · d1f9ed88
    Adrienne Walker authored
    The current tests time out quite a bit when using swiftshader.  I
    suspect that this is due to shader compilation on a per-blend mode
    basis, as reducing pixels rastered did not seem to make any difference.
    The goal here is to reduce the maximum length of any one test so that
    fewer tests time out and these tests keep causing flakiness and getting
    disabled.
    
    This test breaks up each individual blend mode test into parameterizing
    by blend mode and rastering what used to be a single column in a larger
    image into its own image.  Instead of saving out a million data pngs,
    instead this modifies the test framework to use expected pngs as well.
    This assumes that Skia's blend modes work properly and verifies that
    software and gl renderer match the output of those blend modes on an
    SkCanvas.
    
    In terms of total time of the test, splitting each test up into 16
    different tests on Linux debug for me has each individual test
    completing in 1/4 of the time of the original (1/4x * 16 = 4x increase
    overall).  However, when running the entire test suite in parallel, this
    patch speeds up running cc_unittests from ~70s to ~60s overall.  So,
    I think this is overall a win, both in terms of individual and total
    test time.
    
    Bug: 870326,872733
    Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I4791a0a2369f9f17af7bb2a6ba95d7f29dee8b42
    Reviewed-on: https://chromium-review.googlesource.com/1180570Reviewed-by: default avatarweiliangc <weiliangc@chromium.org>
    Commit-Queue: enne <enne@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#584616}
    d1f9ed88
layer_tree_pixel_resource_test.cc 4.55 KB