The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

u/pacing: Add u_var tracking to app pacer

+18 -3
+18 -3
src/xrt/auxiliary/util/u_pacing_app.c
··· 9 9 10 10 #include "os/os_time.h" 11 11 12 + #include "util/u_var.h" 12 13 #include "util/u_time.h" 13 14 #include "util/u_misc.h" 14 15 #include "util/u_debug.h" ··· 113 114 int64_t frame_counter; 114 115 115 116 // Minimum calculated frame (total app time). 116 - double min_app_time_ms; 117 + struct u_var_draggable_f32 min_app_time_ms; 117 118 118 119 struct 119 120 { ··· 207 208 static uint64_t 208 209 min_app_time(const struct pacing_app *pa) 209 210 { 210 - return (uint64_t)(pa->min_app_time_ms * (double)U_TIME_1MS_IN_NS); 211 + return (uint64_t)(pa->min_app_time_ms.val * (double)U_TIME_1MS_IN_NS); 211 212 } 212 213 213 214 static uint64_t ··· 647 648 static void 648 649 pa_destroy(struct u_pacing_app *upa) 649 650 { 651 + u_var_remove_root(upa); 652 + 650 653 free(upa); 651 654 } 652 655 ··· 667 670 pa->app.cpu_time_ns = U_TIME_1MS_IN_NS * 2; 668 671 pa->app.draw_time_ns = U_TIME_1MS_IN_NS * 2; 669 672 pa->app.margin_ns = U_TIME_1MS_IN_NS * 2; 670 - pa->min_app_time_ms = debug_get_float_option_min_app_time_ms(); 673 + pa->min_app_time_ms = (struct u_var_draggable_f32){ 674 + .val = (float)debug_get_float_option_min_app_time_ms(), 675 + .min = 1.0, // This can never be negative. 676 + .step = 1.0, 677 + .max = +120.0, // There are some really slow applications out there. 678 + }; 671 679 672 680 for (size_t i = 0; i < ARRAY_SIZE(pa->frames); i++) { 673 681 pa->frames[i].state = U_PA_READY; 674 682 pa->frames[i].frame_id = -1; 675 683 } 684 + 685 + // U variable tracking. 686 + u_var_add_root(pa, "App timing info", true); 687 + u_var_add_draggable_f32(pa, &pa->min_app_time_ms, "Minimum app time(ms)"); 688 + u_var_add_ro_u64(pa, &pa->app.cpu_time_ns, "CPU time(ns)"); 689 + u_var_add_ro_u64(pa, &pa->app.draw_time_ns, "Draw time(ns)"); 690 + u_var_add_ro_u64(pa, &pa->app.wait_time_ns, "GPU time(ns)"); 676 691 677 692 *out_upa = &pa->base; 678 693