• Adrienne Walker's avatar
    cc: Separate out task vs gpu TileManager signals · 0e90c5f5
    Adrienne Walker authored
    Signals in the TileManager are somewhat muddled.  Prior to this patch:
    
    * PrepareTiles resets the signals.
    * When a task set completes (draw/activate/all), it sets the signal
      and then schedules CheckAndIssueSignals
    * CheckAndIssueSignals unconditionally calls CheckPendingGpuWorKTiles
    * CPGWT clobbers the value of ready to draw and ready to activate
      based on whether or not there is pending gpu work.
    * If not in smoothness mode, then there are no pending gpu work tiles
      and so finishing activate tiles calling CheckAndIssueSignals will
      also set ready to draw, but the THIRD IsReadyToDraw check will fail
      and so it never does anything.
    * Sending a signal to the client also unsets ready to draw / activate / etc.
    
    This patch separates out tile task completion from gpu work completion,
    which means that no values are ever unset except for PrepareTiles and
    we only do ready to draw/activate checks when both the tile work and
    the gpu work is done.
    
    Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
    Change-Id: I77db37729761d99daa7ce747a4b3809a6d033363
    Reviewed-on: https://chromium-review.googlesource.com/993157Reviewed-by: default avatarKhushal <khushalsagar@chromium.org>
    Commit-Queue: enne <enne@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#547840}
    0e90c5f5
tile_manager.h 16.9 KB