xref: /aosp_15_r20/external/crosvm/rutabaga_gfx/src/renderer_utils.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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