embedded_3dgfx/
telemetry.rs1#[cfg(feature = "raycast")]
3pub use crate::bsp::BspTelemetry;
4
5#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
6pub struct RecordTelemetry {
7 pub meshes_total: usize,
8 pub meshes_visible: usize,
9 pub unique_textures: usize,
10 pub draw_commands: usize,
11 pub fallback_used: bool,
12 pub degradation_steps_applied: usize,
13 pub dropped_meshes: usize,
14}
15
16#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
17pub struct ExecuteTelemetry {
18 pub commands_total: usize,
19 pub draw_commands: usize,
20 pub clear_color_commands: usize,
21 pub clear_depth_commands: usize,
22}
23
24#[cfg(test)]
25mod tests {
26 use super::{ExecuteTelemetry, RecordTelemetry};
27
28 #[test]
29 fn record_telemetry_defaults_to_zero_and_false() {
30 let t = RecordTelemetry::default();
31 assert_eq!(t.meshes_total, 0);
32 assert_eq!(t.meshes_visible, 0);
33 assert_eq!(t.unique_textures, 0);
34 assert_eq!(t.draw_commands, 0);
35 assert!(!t.fallback_used);
36 assert_eq!(t.degradation_steps_applied, 0);
37 assert_eq!(t.dropped_meshes, 0);
38 }
39
40 #[test]
41 fn execute_telemetry_defaults_to_zero() {
42 let t = ExecuteTelemetry::default();
43 assert_eq!(t.commands_total, 0);
44 assert_eq!(t.draw_commands, 0);
45 assert_eq!(t.clear_color_commands, 0);
46 assert_eq!(t.clear_depth_commands, 0);
47 }
48}