rutabaga_gfx: add venus flags to VirglRendererFlags

BUG=b:178104043
TEST=cargo build

Change-Id: I944219f90e81be749a5698ec850dfad74a3e937d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2823010
Tested-by: kokoro <noreply+kokoro@google.com>
Tested-by: Chia-I Wu <olv@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: David Riley <davidriley@chromium.org>
Commit-Queue: Chia-I Wu <olv@google.com>
This commit is contained in:
Chia-I Wu 2021-04-12 10:14:28 -07:00 committed by Commit Bot
parent 5e185834fc
commit 2a5e5794dd
2 changed files with 16 additions and 0 deletions

View file

@ -11,6 +11,8 @@ pub const VIRGL_RENDERER_USE_GLX: u32 = 4;
pub const VIRGL_RENDERER_USE_SURFACELESS: u32 = 8;
pub const VIRGL_RENDERER_USE_GLES: u32 = 16;
pub const VIRGL_RENDERER_USE_EXTERNAL_BLOB: u32 = 32;
pub const VIRGL_RENDERER_VENUS: u32 = 64;
pub const VIRGL_RENDERER_NO_VIRGL: u32 = 128;
pub const VIRGL_RES_BIND_DEPTH_STENCIL: u32 = 1;
pub const VIRGL_RES_BIND_RENDER_TARGET: u32 = 2;
pub const VIRGL_RES_BIND_SAMPLER_VIEW: u32 = 8;

View file

@ -271,6 +271,8 @@ const VIRGLRENDERER_USE_GLX: u32 = 1 << 2;
const VIRGLRENDERER_USE_SURFACELESS: u32 = 1 << 3;
const VIRGLRENDERER_USE_GLES: u32 = 1 << 4;
const VIRGLRENDERER_USE_EXTERNAL_BLOB: u32 = 1 << 5;
const VIRGLRENDERER_VENUS: u32 = 1 << 6;
const VIRGLRENDERER_NO_VIRGL: u32 = 1 << 7;
/// virglrenderer flag struct.
#[derive(Copy, Clone)]
@ -279,6 +281,8 @@ pub struct VirglRendererFlags(u32);
impl Default for VirglRendererFlags {
fn default() -> VirglRendererFlags {
VirglRendererFlags::new()
.use_virgl(true)
.use_venus(false)
.use_egl(true)
.use_surfaceless(true)
.use_gles(true)
@ -305,6 +309,16 @@ impl VirglRendererFlags {
}
}
/// Enable virgl support
pub fn use_virgl(self, v: bool) -> VirglRendererFlags {
self.set_flag(VIRGLRENDERER_NO_VIRGL, !v)
}
/// Enable venus support
pub fn use_venus(self, v: bool) -> VirglRendererFlags {
self.set_flag(VIRGLRENDERER_VENUS, v)
}
/// Use EGL for context creation.
pub fn use_egl(self, v: bool) -> VirglRendererFlags {
self.set_flag(VIRGLRENDERER_USE_EGL, v)