1 // Copyright 2020 The ChromiumOS Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 //! renderer_utils: Utility functions and structs used by virgl_renderer and gfxstream.
6
7 use crate::rutabaga_os::OwnedDescriptor;
8 use crate::rutabaga_utils::RutabagaDebugHandler;
9 use crate::rutabaga_utils::RutabagaError;
10 use crate::rutabaga_utils::RutabagaFenceHandler;
11 use crate::rutabaga_utils::RutabagaResult;
12
13 #[repr(C)]
14 #[derive(Debug, Copy, Clone)]
15 pub struct VirglBox {
16 pub x: u32,
17 pub y: u32,
18 pub z: u32,
19 pub w: u32,
20 pub h: u32,
21 pub d: u32,
22 }
23
ret_to_res(ret: i32) -> RutabagaResult<()>24 pub fn ret_to_res(ret: i32) -> RutabagaResult<()> {
25 match ret {
26 0 => Ok(()),
27 _ => Err(RutabagaError::ComponentError(ret)),
28 }
29 }
30
31 pub struct RutabagaCookie {
32 pub render_server_fd: Option<OwnedDescriptor>,
33 pub fence_handler: Option<RutabagaFenceHandler>,
34 pub debug_handler: Option<RutabagaDebugHandler>,
35 }
36