youtube android app doesn't work under virgl |
|||
Issue descriptionIn logcat: E [minigbm:gralloc0.cc(119)]: Unsupported combination -- HAL format: 842094169, HAL usage: 10544, drv_format: 9997, use_flags: 131584 04-17 13:57:49.972 22 30 E Gralloc1On0Adapter: gralloc0 allocation failed: -22 (Invalid argument) 04-17 13:57:49.972 22 30 E GraphicBufferAllocator: Failed to allocate (1920 x 798) format 842094169 usage 10544: 5
,
May 26 2018
I've got some hack to make this work. But it's hack, I asked upstream to seek some more advices: https://lists.freedesktop.org/archives/virglrenderer-devel/2018-May/000593.html
,
May 31 2018
Why can't one buffer object backing the YV12 texture not work? It's what we do for all other drivers.
,
May 31 2018
I'm not sure I understand how we end up with three BOs for YV12 to begin with. lepton: do you mind clarifying the path of allocation for those buffers and why we end up with three BOs instead of one?
,
May 31 2018
In current code path for virgl, we are creating 3 bo for multi plane format buffer here: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/master/virtio_gpu.c#84 arc-cros-gralloc doesn't like this with code here: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/master/cros_gralloc/cros_gralloc_buffer.cc#59 https://chromium.googlesource.com/chromiumos/platform/minigbm/+/master/cros_gralloc/cros_gralloc_driver.cc#123 I have a WIP CL which change them to one bo, but then here come another issue: In current virgl code, every guest buffer is backed by one host gl texture and you can only create one guest texture from one host texture. But in mesa yv12 code path, actually we need 3 textures for 1 yuv12 buffer to create sampler view. For example, this is a code piece for a real hardware, you can see it can create "different" texture with same buffer but different offset: https://chromium.googlesource.com/chromiumos/third_party/mesa/+/master/src/gallium/drivers/r600/r600_texture.c#1119 Over all, I am working on a solution which will add something to virgl so we can create multiple texture with same buffer.
,
Jun 4 2018
Yes, one buffer with different offsets for different planes should work (it works for AMD, another Gallium driver). Does this not work for Virgl?
,
Aug 3
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
,
Aug 29
Here is my patch to upstream virgl, also we need some changes to kernel/mesa/minigbm, let's see if we can get it accepted upsteam. https://lists.freedesktop.org/archives/virglrenderer-devel/2018-August/001579.html kernel: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1194613 mesa: https://chromium-review.googlesource.com/c/chromiumos/third_party/mesa/+/1195011 minigbm: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/1195587 |
|||
►
Sign in to add a comment |
|||
Comment 1 by lepton@chromium.org
, May 15 2018