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