• Michael Ludwig's avatar
    SkiaRenderer: Support non-identity transforms for passthrough quads · 1d8dc55d
    Michael Ludwig authored
    This relaxes the requirements for tiled draw quads that can bypass a RenderPass.
    Previously, the content quad had to have an identity transform and fill the
    RenderPass's layer.
    
    With this change, the geometry and transform constraints go away, and the RPDQ
    params struct is updated to remember the additional transform that has to be
    applied to draw the content correctly. The base transform and the new transform
    are kept separate because the image filters of the render pass have to be
    processed in the base transform's coordinate space. However, we also don't want
    to just draw the base geometry with the content quad's textures because the
    texture coordinates may not map to a gfx::Rect anymore. Storing separate transforms
    cleanly handles both of these challenges.
    
    Bug: 1013735
    Change-Id: I0a05d2aa318238dae093899c697fac6a84e5c261
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1860302
    Commit-Queue: Michael Ludwig <michaelludwig@google.com>
    Reviewed-by: default avatarweiliangc <weiliangc@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#708787}
    1d8dc55d
skia_renderer.cc 96.2 KB