• Xida Chen's avatar
    [OT-PW] Make it work with OOP-R · 044ad8ad
    Xida Chen authored
    This CL makes off-thread paint worklet work with OOP-R. OOP-R serialize
    an PaintOp and stores the serialized buffer in a shared memory. GPU
    then reads the memory and de-serialize it.
    
    For off-thread paint worklet, we are producing a DrawImageRectOp. Note
    that this DrawImageRectOp is different than a normal one. It is a
    DrawImageRectOp that contains a DrawRecord that contains multiple
    PaintOps in it. So this CL adds a special code path to serialize it,
    for paint worklet DrawImageRectOp only. The way to serialize it is to
    iterate over all the PaintOps inside the DrawRecord. In this way, we
    do not need to change anything on the GPU de-serialize code.
    
    We also changed the layout tests. We changed some tests, now using
    fillRect instead of strokeRect.
    The problem with strokeRect is that using GPU rasterization could
    easily result in subpixel difference on different platforms. Using
    fillRect will avoid that.
    
    Bug: 1020238
    Change-Id: Ie0aadfe217e462547cc16a273d09ec8a64f055a0
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1957012Reviewed-by: default avatarYi Gu <yigu@chromium.org>
    Reviewed-by: default avatarKhushal <khushalsagar@chromium.org>
    Commit-Queue: Xida Chen <xidachen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#725554}
    044ad8ad
paint_op_writer.cc 27.2 KB