From 4a7a033d0465bc27ed2c84a836e2e50d27a82d89 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 7 Mar 2023 22:44:03 -0800 Subject: [PATCH] Fix timer query breakage on webgl --- filament/backend/src/opengl/OpenGLDriver.cpp | 10 ---------- filament/backend/src/opengl/OpenGLTimerQuery.cpp | 16 ++-------------- filament/backend/src/opengl/gl_headers.cpp | 10 ---------- filament/backend/src/opengl/gl_headers.h | 5 ----- 4 files changed, 2 insertions(+), 39 deletions(-) diff --git a/filament/backend/src/opengl/OpenGLDriver.cpp b/filament/backend/src/opengl/OpenGLDriver.cpp index 475e29de25..0a3ab8ac9a 100644 --- a/filament/backend/src/opengl/OpenGLDriver.cpp +++ b/filament/backend/src/opengl/OpenGLDriver.cpp @@ -1258,11 +1258,6 @@ void OpenGLDriver::createSwapChainHeadlessR(Handle sch, void OpenGLDriver::createTimerQueryR(Handle tqh, int) { DEBUG_MARKER() -#if defined(GL_EXT_disjoint_timer_query) && defined(FILAMENT_IMPORT_ENTRY_POINTS) - // glGenQueries exists in core ES 3.0 and since GL 3.3 - using glext::glGenQueries; -#endif - GLTimerQuery* tq = handle_cast(tqh); glGenQueries(1u, &tq->gl.query); CHECK_GL_ERROR(utils::slog.e) @@ -1419,11 +1414,6 @@ void OpenGLDriver::destroyStream(Handle sh) { void OpenGLDriver::destroyTimerQuery(Handle tqh) { DEBUG_MARKER() -#if defined(GL_EXT_disjoint_timer_query) && defined(FILAMENT_IMPORT_ENTRY_POINTS) - // glDeleteQueries exists in core ES 3.0 and since GL 3.3 - using glext::glDeleteQueries; -#endif - if (tqh) { GLTimerQuery* tq = handle_cast(tqh); glDeleteQueries(1u, &tq->gl.query); diff --git a/filament/backend/src/opengl/OpenGLTimerQuery.cpp b/filament/backend/src/opengl/OpenGLTimerQuery.cpp index f7ba2d256b..dd07ac30f8 100644 --- a/filament/backend/src/opengl/OpenGLTimerQuery.cpp +++ b/filament/backend/src/opengl/OpenGLTimerQuery.cpp @@ -45,29 +45,17 @@ void TimerQueryNative::flush() { } void TimerQueryNative::beginTimeElapsedQuery(GLTimerQuery* query) { -#if defined(GL_EXT_disjoint_timer_query) && defined(FILAMENT_IMPORT_ENTRY_POINTS) - // glBeginQuery exists in core ES 3.0 and since GL 3.3 - using glext::glBeginQuery; -#endif glBeginQuery(GL_TIME_ELAPSED, query->gl.query); + CHECK_GL_ERROR(utils::slog.e) } void TimerQueryNative::endTimeElapsedQuery(GLTimerQuery*) { -#if defined(GL_EXT_disjoint_timer_query) && defined(FILAMENT_IMPORT_ENTRY_POINTS) - // glEndQuery exists in core ES 3.0 and since GL 3.3 - using glext::glEndQuery; -#endif glEndQuery(GL_TIME_ELAPSED); + CHECK_GL_ERROR(utils::slog.e) } bool TimerQueryNative::queryResultAvailable(GLTimerQuery* query) { GLuint available = 0; - -#if defined(GL_EXT_disjoint_timer_query) && defined(FILAMENT_IMPORT_ENTRY_POINTS) - // glGetQueryObjectuiv exists in core ES 3.0 and since GL 3.3 - using glext::glGetQueryObjectuiv; -#endif - glGetQueryObjectuiv(query->gl.query, GL_QUERY_RESULT_AVAILABLE, &available); CHECK_GL_ERROR(utils::slog.e) return available != 0; diff --git a/filament/backend/src/opengl/gl_headers.cpp b/filament/backend/src/opengl/gl_headers.cpp index c103cc5a6b..2c29aae796 100644 --- a/filament/backend/src/opengl/gl_headers.cpp +++ b/filament/backend/src/opengl/gl_headers.cpp @@ -49,11 +49,6 @@ PFNGLDEBUGMESSAGECALLBACKKHRPROC glDebugMessageCallbackKHR; PFNGLGETDEBUGMESSAGELOGKHRPROC glGetDebugMessageLogKHR; #endif #ifdef GL_EXT_disjoint_timer_query -PFNGLGENQUERIESEXTPROC glGenQueries; -PFNGLDELETEQUERIESEXTPROC glDeleteQueries; -PFNGLBEGINQUERYEXTPROC glBeginQuery; -PFNGLENDQUERYEXTPROC glEndQuery; -PFNGLGETQUERYOBJECTUIVEXTPROC glGetQueryObjectuiv; PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64v; #endif #ifdef GL_EXT_clip_control @@ -91,11 +86,6 @@ void importGLESExtensionsEntryPoints() { getProcAddress(glGetDebugMessageLogKHR, "glGetDebugMessageLogKHR"); #endif #ifdef GL_EXT_disjoint_timer_query - getProcAddress(glGenQueries, "glGenQueriesEXT"); - getProcAddress(glDeleteQueries, "glDeleteQueriesEXT"); - getProcAddress(glBeginQuery, "glBeginQueryEXT"); - getProcAddress(glEndQuery, "glEndQueryEXT"); - getProcAddress(glGetQueryObjectuiv, "glGetQueryObjectuivEXT"); getProcAddress(glGetQueryObjectui64v, "glGetQueryObjectui64vEXT"); #endif #ifdef GL_EXT_clip_control diff --git a/filament/backend/src/opengl/gl_headers.h b/filament/backend/src/opengl/gl_headers.h index 8f6e789213..e59d341cc2 100644 --- a/filament/backend/src/opengl/gl_headers.h +++ b/filament/backend/src/opengl/gl_headers.h @@ -96,11 +96,6 @@ extern PFNGLGETDEBUGMESSAGELOGKHRPROC glGetDebugMessageLogKHR; extern PFNGLCLIPCONTROLEXTPROC glClipControl; #endif #ifdef GL_EXT_disjoint_timer_query -extern PFNGLGENQUERIESEXTPROC glGenQueries; -extern PFNGLDELETEQUERIESEXTPROC glDeleteQueries; -extern PFNGLBEGINQUERYEXTPROC glBeginQuery; -extern PFNGLENDQUERYEXTPROC glEndQuery; -extern PFNGLGETQUERYOBJECTUIVEXTPROC glGetQueryObjectuiv; extern PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64v; #endif #if defined(__ANDROID__)