Associate a gpu memory buffer request to an AcceleratedWidget |
||
Issue descriptionThe gpu memory buffer allocation code in ozone currently takes in a gfx::AcceleratedWidget [1], which it then uses to decide which GbmDevice or HardwareDisplayController to use [2, 3]. Chrome browser specifies this AcceleratedWidget only when it requests memory for the UI [4], and not for the renderer (uses the null widget) [5]. Explanation from reveman@: The renderer using a null widget today means that contents from webgl, pepper, etc. can only take advantage of HW overlays when displayed on the primary DRM device. ARC++ is limited in the same way. We've considered that limitation acceptable for now. With mus, we could introduce some API where clients can specify which window the buffer is being allocated for (e.g. in [6]), and the window server will then have enough information to decide what accelerated widget it should use to issue the request to viz. [1] https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/gbm_surface_factory.h?type=cs&sq=package:chromium&l=44 [2] https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_thread.cc?l=113 [3] https://cs.chromium.org/chromium/src/ui/ozone/platform/drm/gpu/drm_thread.cc?l=132 [4] https://cs.chromium.org/chromium/src/content/browser/gpu/browser_gpu_memory_buffer_manager.cc?l=93 [5] https://cs.chromium.org/chromium/src/content/browser/gpu/browser_gpu_memory_buffer_manager.cc?l=108 [6] https://cs.chromium.org/chromium/src/services/ui/public/interfaces/gpu.mojom?sq=package:chromium&dr=C&l=22
,
Feb 26 2018
|
||
►
Sign in to add a comment |
||
Comment 1 by piman@chromium.org
, Jun 27 2017