skia /
skia /
709deddd904faa428d2ad8a97f04cafea57090fe [graphite] Tweaks to atlas path renderer selection
Previously, `Device::chooseRenderer()` fell beck to a tessellating path
renderer when a shape got rejected from the compute path atlas. In
single-sample mode (when MSAA is not available), the compute atlas
renderer could get selected shapes that it cannot efficiently render.
This has now been tweaked, such that:
1. If the compute atlas is available but it rejects a shape, and MSAA is
supported, choose a tessellating technique and rely on hardware
MSAA.
2. If the compute atlas is available but it rejects a shape, and MSAA is
NOT supported, choose the raster path atlas instead. This avoids
single-sample rendering.
3. If the compute atlas is unavailable and MSAA is supported, choose a
tessellating technique and rely on hardware MSAA.
4. If the compute atlas is unavailable and MSAA is NOT supported, always
use raster path atlas.
5. The path strategy options work as before with one major difference:
when compute is available and a compute AA technique is explicitly
requested BUT the compute atlas rejects a shape, then one of the fall
backs in 1-2 applies. Previously we would send all shapes to the
compute atlas regardless of whether it can be rendered. This can no
longer be forced using path strategy option.
Bug: b/339478836
Change-Id: I8127b288f891f42155a23a65615f1a2b4ecb7b79
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/851277
Commit-Queue: Arman Uguray <armansito@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
4 files changed