1use skia_bindings as sb;
2use skia_bindings::skgpu_GpuStats;
3
4pub use sb::skgpu_BackendApi as BackendApi;
5variant_name!(BackendApi::Metal);
6
7#[repr(C)]
8#[derive(Copy, Clone, PartialEq, Eq, Debug)]
9pub struct Budgeted(bool);
10native_transmutable!(sb::skgpu_Budgeted, Budgeted, budgeted_layout);
11
12#[allow(non_upper_case_globals)]
13impl Budgeted {
14 pub const No: Budgeted = Budgeted(false);
16 pub const Yes: Budgeted = Budgeted(true);
17}
18
19pub use skia_bindings::skgpu_Mipmapped as Mipmapped;
22
23pub use skia_bindings::skgpu_Protected as Protected;
24variant_name!(Protected::Yes);
25
26pub use skia_bindings::skgpu_Renderable as Renderable;
27variant_name!(Renderable::No);
28
29pub use skia_bindings::skgpu_Origin as Origin;
30variant_name!(Origin::TopLeft);
31
32bitflags! {
33 #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
34 pub struct GpuStatsFlags : u32 {
35 const NONE = sb::skgpu_GpuStatsFlags_kNone as _;
36 const ELAPSED_TIME = sb::skgpu_GpuStatsFlags_kElapsedTime as _;
37 }
38}
39
40#[repr(C)]
41#[derive(Debug, Copy, Clone, PartialEq, Eq)]
42pub struct GpuStats {
43 pub elapsed_time: u64,
44}
45
46native_transmutable!(skgpu_GpuStats, GpuStats, gpu_stats_layout);