How to reproduce (as case TEST_F(SkiaOutputSurfaceImplTest, ReshapeFail)):
1), ResizeAndDrawFrame(first draw), the draw rect size is the same as surface size
2), Draw (second draw), the draw rect size is the same as surface size.
What is the expected result?
The second draw should update the output.
What happens instead?
The output remains the same as the first draw.
Issue analyze:
Skia will turn the drawRect to Clear when the draw rect size is the same as surface size.
If the draw rect size is smaller that the surface size, such as TEST_F(SkiaOutputSurfaceImplTest, ReshapePass), the case pass.
The code for the failed case:
https://chromium-review.googlesource.com/c/chromium/src/+/1388020/2/components/viz/service/display_embedder/skia_output_surface_impl_unittest.cc#251
BTW, I am willing to work on this.
Comment 1 by xing...@intel.com
, Jan 4