-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
See #110959, #110957, likely others.
The assumption of the raster cache is that we can replace any layer or display list with a rasterized version of itself. At very low DPR, this is only true if that layer or display list is aligned to physical pixels. Even if we ensure that the texture of the layer or display list is rasterized pixel aligned, when we go to the draw that entry we may find the offset is not physical pixel aligned. Thus we can either snap it to a pixel, leaving it in a different location than the un-rasterized version, or we can draw it in the correct location with obvious aliasing issues.
Unfortunately, that leaves us in a bit of a bind. It means we can't get rid of pixel snapping as long as we have the raster cache. Furthermore, since we didn't notice this issue until the stable release, and there have been many refactors on top of the raster cache since then, it means that a revert is not very straight forward.
Seemingly the only idea long term solution is to revert back to pixel snapping any layers that may be raster cached. The short term change is more uncertain. I can begin working on a patch against the release branch that reverts the removal of pixel snapping. Separately I can also work on re-landing pixel snapping on ToT.
@CaseyHillers do you have a stable release engine branch I can use to investigate the feasibility of a targeted revert?
FYI @zanderso