aboutsummaryrefslogtreecommitdiffstats
path: root/src/profiling.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-04-23 20:45:37 +0200
committerBad Diode <bd@badd10de.dev>2023-04-23 20:45:37 +0200
commit4959741a7eaac3b429912a1ccfd7ebe06d41ef0d (patch)
treeb6d9a25de3cd38af4b9214534c066538cc3f783a /src/profiling.c
parenteeeacde00c589cb227746b164a39372356d1eeec (diff)
downloadstepper-4959741a7eaac3b429912a1ccfd7ebe06d41ef0d.tar.gz
stepper-4959741a7eaac3b429912a1ccfd7ebe06d41ef0d.zip
Add back cursor drawing
Diffstat (limited to 'src/profiling.c')
-rw-r--r--src/profiling.c85
1 files changed, 45 insertions, 40 deletions
diff --git a/src/profiling.c b/src/profiling.c
index a3b073b..0255552 100644
--- a/src/profiling.c
+++ b/src/profiling.c
@@ -60,8 +60,9 @@ static bool profile_show = true;
60 txt_printf(">PARAM %.8lu\n", avg_draw_param_cycles);\ 60 txt_printf(">PARAM %.8lu\n", avg_draw_param_cycles);\
61 txt_printf(">PIANO %.8lu\n", avg_draw_piano_cycles);\ 61 txt_printf(">PIANO %.8lu\n", avg_draw_piano_cycles);\
62 txt_printf(">CURSOR %.8lu\n", avg_draw_cursor_cycles);\ 62 txt_printf(">CURSOR %.8lu\n", avg_draw_cursor_cycles);\
63 txt_printf("RENDER %.8lu\n", avg_render_cycles);\ 63 txt_printf("UPDATE %.8lu\n", avg_update_cycles);\
64 txt_printf("INPUT %.8lu\n", avg_input_cycles);\ 64 txt_printf("INPUT %.8lu\n", avg_input_cycles);\
65 txt_printf("RENDER %.8lu\n", avg_render_cycles);\
65 txt_printf("TOTAL %.8lu\n", avg_frame_cycles);\ 66 txt_printf("TOTAL %.8lu\n", avg_frame_cycles);\
66 txt_render();\ 67 txt_render();\
67 }\ 68 }\
@@ -82,53 +83,57 @@ static bool profile_show = true;
82 83
83static u32 prof_frame_counter = 0; 84static u32 prof_frame_counter = 0;
84 85
85static u32 frame_cycles = 0; 86static u32 frame_cycles = 0;
86static u32 flip_cycles = 0; 87static u32 flip_cycles = 0;
87static u32 clear_cycles = 0; 88static u32 clear_cycles = 0;
88static u32 input_cycles = 0; 89static u32 input_cycles = 0;
89static u32 draw_trigs_cycles = 0; 90static u32 draw_trigs_cycles = 0;
90static u32 draw_btn_cycles = 0; 91static u32 draw_btn_cycles = 0;
91static u32 draw_piano_cycles = 0; 92static u32 draw_piano_cycles = 0;
92static u32 draw_param_cycles = 0; 93static u32 draw_param_cycles = 0;
93static u32 draw_cursor_cycles = 0; 94static u32 draw_cursor_cycles = 0;
94static u32 render_cycles = 0; 95static u32 render_cycles = 0;
96static u32 update_cycles = 0;
95 97
96static u32 avg_frame_cycles = 0; 98static u32 avg_frame_cycles = 0;
97static u32 avg_flip_cycles = 0; 99static u32 avg_flip_cycles = 0;
98static u32 avg_clear_cycles = 0; 100static u32 avg_clear_cycles = 0;
99static u32 avg_input_cycles = 0; 101static u32 avg_input_cycles = 0;
100static u32 avg_draw_trigs_cycles = 0; 102static u32 avg_draw_trigs_cycles = 0;
101static u32 avg_draw_btns_cycles = 0; 103static u32 avg_draw_btns_cycles = 0;
102static u32 avg_draw_piano_cycles = 0; 104static u32 avg_draw_piano_cycles = 0;
103static u32 avg_draw_param_cycles = 0; 105static u32 avg_draw_param_cycles = 0;
104static u32 avg_draw_cursor_cycles = 0; 106static u32 avg_draw_cursor_cycles = 0;
105static u32 avg_render_cycles = 0; 107static u32 avg_render_cycles = 0;
108static u32 avg_update_cycles = 0;
106 109
107#if PROF_ENABLE == 1 110#if PROF_ENABLE == 1
108#define FRAME_START()\ 111#define FRAME_START()\
109 do { \ 112 do { \
110 if (prof_frame_counter == PROF_N_FRAMES) {\ 113 if (prof_frame_counter == PROF_N_FRAMES) {\
111 avg_frame_cycles = frame_cycles / prof_frame_counter;\ 114 avg_frame_cycles = frame_cycles / prof_frame_counter;\
112 avg_flip_cycles = flip_cycles / prof_frame_counter;\ 115 avg_flip_cycles = flip_cycles / prof_frame_counter;\
113 avg_clear_cycles = clear_cycles / prof_frame_counter;\ 116 avg_clear_cycles = clear_cycles / prof_frame_counter;\
114 avg_draw_trigs_cycles = draw_trigs_cycles / prof_frame_counter;\ 117 avg_draw_trigs_cycles = draw_trigs_cycles / prof_frame_counter;\
115 avg_draw_btns_cycles = draw_btn_cycles / prof_frame_counter;\ 118 avg_draw_btns_cycles = draw_btn_cycles / prof_frame_counter;\
116 avg_draw_piano_cycles = draw_piano_cycles / prof_frame_counter;\ 119 avg_draw_piano_cycles = draw_piano_cycles / prof_frame_counter;\
117 avg_draw_param_cycles = draw_param_cycles / prof_frame_counter;\ 120 avg_draw_param_cycles = draw_param_cycles / prof_frame_counter;\
118 avg_draw_cursor_cycles = draw_cursor_cycles / prof_frame_counter;\ 121 avg_draw_cursor_cycles = draw_cursor_cycles / prof_frame_counter;\
119 avg_input_cycles = input_cycles / prof_frame_counter;\ 122 avg_input_cycles = input_cycles / prof_frame_counter;\
120 avg_render_cycles = render_cycles / prof_frame_counter;\ 123 avg_render_cycles = render_cycles / prof_frame_counter;\
121 frame_cycles = 0;\ 124 avg_update_cycles = update_cycles / prof_frame_counter;\
122 flip_cycles = 0;\ 125 frame_cycles = 0;\
123 clear_cycles = 0;\ 126 flip_cycles = 0;\
124 input_cycles = 0;\ 127 clear_cycles = 0;\
128 input_cycles = 0;\
125 render_cycles = 0;\ 129 render_cycles = 0;\
126 draw_trigs_cycles = 0;\ 130 update_cycles = 0;\
127 draw_param_cycles = 0;\ 131 draw_trigs_cycles = 0;\
132 draw_param_cycles = 0;\
128 draw_cursor_cycles = 0;\ 133 draw_cursor_cycles = 0;\
129 draw_btn_cycles = 0;\ 134 draw_btn_cycles = 0;\
130 draw_piano_cycles = 0;\ 135 draw_piano_cycles = 0;\
131 prof_frame_counter = 0;\ 136 prof_frame_counter = 0;\
132 }\ 137 }\
133 profile_start();\ 138 profile_start();\
134 } while (0) 139 } while (0)