From 8b2aece30198ccdc8ea5e6fbd4dc2d9730a6649d Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Wed, 4 Jun 2025 22:01:10 +0900 Subject: [PATCH] Add EXT function to egl proxy resolver In Tizen 10.0, Skia gl context init fails because glMultiDrawArraysIndirectEXT, glMultiDrawElementsIndirectEXT are not found. in engine/src/flutter/third_party/skia/src/gpu/ganesh/gl/GrGLInterfaceAutogen.cpp ``` 370 if ((GR_IS_GR_GL(fStandard) && ( 371 (glVer >= GR_GL_VER(4,3)) || 372 fExtensions.has("GL_ARB_multi_draw_indirect"))) || 373 (GR_IS_GR_GL_ES(fStandard) && ( 374 fExtensions.has("GL_EXT_multi_draw_indirect")))) { 375 if (!fFunctions.fMultiDrawArraysIndirect || 376 !fFunctions.fMultiDrawElementsIndirect) { 377 RETURN_FALSE_INTERFACE; 378 } 379 } ``` --- flutter/shell/platform/tizen/tizen_renderer_egl.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/flutter/shell/platform/tizen/tizen_renderer_egl.cc b/flutter/shell/platform/tizen/tizen_renderer_egl.cc index 84643d8..2379395 100644 --- a/flutter/shell/platform/tizen/tizen_renderer_egl.cc +++ b/flutter/shell/platform/tizen/tizen_renderer_egl.cc @@ -443,6 +443,13 @@ void* TizenRendererEgl::OnProcResolver(const char* name) { GL_FUNC(glVertexAttrib4fv) GL_FUNC(glVertexAttribPointer) GL_FUNC(glViewport) +#define GL_FUNC_EXT(ExtFunctionName, FunctionName) \ + else if (strcmp(name, #ExtFunctionName) == 0) { \ + return reinterpret_cast(eglGetProcAddress(#FunctionName)); \ + } + GL_FUNC_EXT(glMultiDrawArraysIndirectEXT, glMultiDrawArraysIndirect) + GL_FUNC_EXT(glMultiDrawElementsIndirectEXT, glMultiDrawElementsIndirect) +#undef GL_FUNC_EXT #undef GL_FUNC FT_LOG(Warn) << "Could not resolve: " << name;