• danakj@chromium.org's avatar
    cc: Allow copy requests to provide a texture. · 5128ada4
    danakj@chromium.org authored
    When many readbacks will be occuring in a row, we don't want to have
    texture create/delete calls constantly churning through GPU memory.
    In particular, this has been a severe performance bottleneck on some
    intel drivers.
    
    Instead provide a way for the copy request client to provide a texture
    to the compositor that it will use, and then the texture can be reused
    for as long as the client wishes.
    
    In the case of tab capture, the client (in RenderWidgetHostViewAura)
    wants to use the GLHelper to act on the given texture. Since the
    GLHelper lives on the main thread, and the compositor draws on the
    compositor thread, we provide the texture from the client through
    the main thread CopyOutputRequest API rather than hooking directly
    into the compositor thread.
    
    I moved the async readback unit tests out to their own file as
    there are now quite a few.
    
    Tests:
    LayerTreeHostCopyRequestTestCreatesTexture
    LayerTreeHostCopyRequestTestProvideTexture
    
    R=piman@chromium.org
    BUG=312497
    
    Review URL: https://codereview.chromium.org/99253004
    
    git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238324 0039d316-1c4b-4281-b951-d872f2087c98
    5128ada4
layer_tree_host_unittest.cc 153 KB