From 996beb6499ad9f9cb2d8a8f88f8cfdb6ea88d764 Mon Sep 17 00:00:00 2001 From: David Riley Date: Wed, 12 Jun 2019 16:35:32 -0700 Subject: [PATCH] virtio-gpu: Allocate buffers with shared bind flag using gbm. BUG=chromium:972237 TEST=eglgears_wayland Change-Id: If5a09c1ad95dfdbd47e7810c466c127c53413f21 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1657291 Tested-by: kokoro Commit-Queue: David Riley Reviewed-by: Gurchetan Singh --- devices/src/virtio/gpu/backend.rs | 3 ++- gpu_renderer/src/lib.rs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/devices/src/virtio/gpu/backend.rs b/devices/src/virtio/gpu/backend.rs index fa6d7c5b6b..475cb105eb 100644 --- a/devices/src/virtio/gpu/backend.rs +++ b/devices/src/virtio/gpu/backend.rs @@ -21,6 +21,7 @@ use gpu_display::*; use gpu_renderer::{ format_fourcc as renderer_fourcc, Box3, Context as RendererContext, Image as RendererImage, Renderer, Resource as GpuRendererResource, ResourceCreateArgs, VIRGL_RES_BIND_SCANOUT, + VIRGL_RES_BIND_SHARED, }; use super::protocol::{ @@ -704,7 +705,7 @@ impl Backend { } pub fn allocate_using_minigbm(args: ResourceCreateArgs) -> bool { - args.bind & VIRGL_RES_BIND_SCANOUT != 0 + args.bind & (VIRGL_RES_BIND_SCANOUT | VIRGL_RES_BIND_SHARED) != 0 && args.depth == 1 && args.array_size == 1 && args.last_level == 0 diff --git a/gpu_renderer/src/lib.rs b/gpu_renderer/src/lib.rs index 08112548c0..726f91228c 100644 --- a/gpu_renderer/src/lib.rs +++ b/gpu_renderer/src/lib.rs @@ -39,6 +39,7 @@ use crate::generated::virglrenderer::*; pub use crate::command_buffer::CommandBufferBuilder; pub use crate::generated::virglrenderer::{ virgl_renderer_resource_create_args, virgl_renderer_resource_info, VIRGL_RES_BIND_SCANOUT, + VIRGL_RES_BIND_SHARED, }; pub use crate::pipe_format_fourcc::pipe_format_fourcc as format_fourcc;