Skip to content

Commit

Permalink
Merge pull request godotengine#6 from Ansraer/profiling-everywhere
Browse files Browse the repository at this point in the history
Add fallback profiling information to the renderer
Useful on e.g. android devices that don't support khr_debug
  • Loading branch information
Ansraer authored May 9, 2023
2 parents a57e19a + 49dc44b commit c63370a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
10 changes: 9 additions & 1 deletion drivers/gles3/rasterizer_gles3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,12 +194,14 @@ void RasterizerGLES3::initialize() {
glGetIntegerv(GL_NUM_EXTENSIONS, &extension_count);

bool found_arb_timer_query = false;

bool found_ext_disjoint_timer_query = false; // fallback for android devices
for (int i = 0; i < extension_count; ++i) {
if (strcmp((const char *)glGetStringi(GL_EXTENSIONS, i), "GL_KHR_debug") == 0) {
khr_debug_enabled = true;
} else if (strcmp((const char *)glGetStringi(GL_EXTENSIONS, i), "GL_ARB_timer_query") == 0) {
found_arb_timer_query = true;
} else if (strcmp((const char *)glGetStringi(GL_EXTENSIONS, i), "GL_EXT_disjoint_timer_query") == 0) {
found_ext_disjoint_timer_query = true;
}
}
if (khr_debug_enabled) {
Expand All @@ -213,6 +215,12 @@ void RasterizerGLES3::initialize() {
query_counter_func = (void (*)(unsigned int, unsigned int))eglGetProcAddress("glQueryCounter");
get_query_func = (void (*)(unsigned int, unsigned int, uint64_t *))eglGetProcAddress("glGetQueryObjectui64v");
enable_frame_timings();
} else if (found_ext_disjoint_timer_query) {
gen_queries_func = (void (*)(int, unsigned int *))eglGetProcAddress("glGenQueriesEXT");
del_queries_func = (void (*)(int, unsigned int *))eglGetProcAddress("glDeleteQueriesEXT");
query_counter_func = (void (*)(unsigned int, unsigned int))eglGetProcAddress("glQueryCounterEXT");
get_query_func = (void (*)(unsigned int, unsigned int, uint64_t *))eglGetProcAddress("glGetQueryObjectui64vEXT");
enable_frame_timings();
}

#endif
Expand Down
6 changes: 4 additions & 2 deletions servers/visual/rasterizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,10 @@ void Rasterizer::begin_frame_timings() {
}
}
float time_ms = USEC_TO_SEC(time / 1000);
values.push_back(name);
values.push_back(time_ms);
if (time_ms < 200) {
values.push_back(name);
values.push_back(time_ms);
}
}
}

Expand Down

0 comments on commit c63370a

Please sign in to comment.