buffer size is flipped with with certain clip rect? |
|
Issue descriptionI noticed that when I specified tighter shelf size, fast ink buffer gets flipped, which prevents the layer from overlay. I printed the candidates in DrmOverlayManager::CheckOverlaySupport, and here are outputs. On Slate, Portrait (2000x3000): Not Working (shelf size = 127) [9634:9634:0109/182146.942798:ERROR:drm_overlay_manager.cc(79)] Candidate DisplayRect:127.000000,0.000000 2689.000000x2000.000000, handled=1, buffer size=2000x2689, crop rect=0.000000,0.000000 1.000000x1.000000, clip rect=126,0 2802x2000, is_clipped=1, plane z order=1 Working (shelf size = 128) [14360:14360:0109/182815.693442:ERROR:drm_overlay_manager.cc(79)] Candidate DisplayRect:127.999977,0.000000 2688.000000x2000.000000, handled=1, buffer size=2688x2000, crop rect=0.000000,0.000000 1.000000x1.000000, clip rect=128,0 2800x2000, is_clipped=1, plane z order=1 Notice that the buffer size is flipped (2000x2689) when shelf size is set to 127 pixels. I checked in exo/buffer, and transformed buffer size is correct (not flipped). dcastagna@, do you have any clue why?
,
Jan 14
The latter doesn't seem to use overlay. The former works, but the issue happens when it fails to use overlay with certain clipping, so i couldn't repro the issue. I also think I didn't explain this clearly. This happens when the device is rotated, and the client sends the rotated frame. The biffer size shows rotated (on chrome side) size when overlay is working, but showns original size when not working.
,
Jan 17
(5 days ago)
here is the resource information when added to render pass, and candidate info in overlay manager. When working: in surface: origin=0,112, content_size=2000x2688, resource size=2688x2000, buffer transform=90 overlay candidate: transform=1, format=6, buffer_size=2688x2000, display_rect=127.999977,0.000000 2688.000000x2000.000000, crop_rect=0.000000,0.000000 1.000000x1.000000, is_clipped=1, z_order=1 When not working(1px smaller shelf size) origin=0,112, quad_rect=0,0 1x1, size=2000x2689, resource size=2689x2000, buffer transform=90 overlay candidate: transform=4, format=6, buffer_size=2000x2689, display_rect=127.000000,0.000000 2689.000000x2000.000000, crop_rect=0.000000,0.000000 1.000000x1.000000, is_clipped=1, z_order=1 When working, the candidate information is "post transform", while when not working, the candidate has pre transform information.
,
Jan 17
(5 days ago)
Looks like GetOverlayTransform gives different result depending on quad_to_target transform. |
|
►
Sign in to add a comment |
|
Comment 1 by dcasta...@chromium.org
, Jan 11