From 7f781d155221c4067c93f85b4153c204423f49f2 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Mon, 9 Aug 2010 18:35:43 -0700 Subject: [PATCH] improve a bit the implementation of eglGetProcAddress Change-Id: Ie07f33ae2162830df1e4f3d3b5e00fcfb8c350d6 --- opengl/libs/EGL/getProcAddress.cpp | 112 ++++++++--------------------- 1 file changed, 29 insertions(+), 83 deletions(-) diff --git a/opengl/libs/EGL/getProcAddress.cpp b/opengl/libs/EGL/getProcAddress.cpp index 23837efa9..dcf8735c6 100644 --- a/opengl/libs/EGL/getProcAddress.cpp +++ b/opengl/libs/EGL/getProcAddress.cpp @@ -27,9 +27,12 @@ namespace android { // ---------------------------------------------------------------------------- #undef API_ENTRY -#undef CALL_GL_API +#undef CALL_GL_EXTENSION_API #undef GL_EXTENSION #undef GL_EXTENSION_NAME +#undef GL_EXTENSION_ARRAY +#undef GL_EXTENSION_LIST +#undef GET_TLS #if defined(__arm__) @@ -60,7 +63,7 @@ namespace android { : \ ); - #define GL_EXTENSION_NAME(_n) __glExtFwd##_n + #define GL_EXTENSION_NAME(_n) __glExtFwd##_n #define GL_EXTENSION(_n) \ void API_ENTRY(GL_EXTENSION_NAME(_n))() { \ @@ -78,97 +81,40 @@ namespace android { #endif -GL_EXTENSION(0) -GL_EXTENSION(1) -GL_EXTENSION(2) -GL_EXTENSION(3) -GL_EXTENSION(4) -GL_EXTENSION(5) -GL_EXTENSION(6) -GL_EXTENSION(7) -GL_EXTENSION(8) -GL_EXTENSION(9) -GL_EXTENSION(10) -GL_EXTENSION(11) -GL_EXTENSION(12) -GL_EXTENSION(13) -GL_EXTENSION(14) -GL_EXTENSION(15) +#define GL_EXTENSION_LIST(name) \ + name(0) name(1) name(2) name(3) \ + name(4) name(5) name(6) name(7) \ + name(8) name(9) name(10) name(11) \ + name(12) name(13) name(14) name(15) \ + name(16) name(17) name(18) name(19) \ + name(20) name(21) name(22) name(23) \ + name(24) name(25) name(26) name(27) \ + name(28) name(29) name(30) name(31) \ + name(32) name(33) name(34) name(35) \ + name(36) name(37) name(38) name(39) \ + name(40) name(41) name(42) name(43) \ + name(44) name(45) name(46) name(47) \ + name(48) name(49) name(50) name(51) \ + name(52) name(53) name(54) name(55) \ + name(56) name(57) name(58) name(59) \ + name(60) name(61) name(62) name(63) -GL_EXTENSION(16) -GL_EXTENSION(17) -GL_EXTENSION(18) -GL_EXTENSION(19) -GL_EXTENSION(20) -GL_EXTENSION(21) -GL_EXTENSION(22) -GL_EXTENSION(23) -GL_EXTENSION(24) -GL_EXTENSION(25) -GL_EXTENSION(26) -GL_EXTENSION(27) -GL_EXTENSION(28) -GL_EXTENSION(29) -GL_EXTENSION(30) -GL_EXTENSION(31) -GL_EXTENSION(32) -GL_EXTENSION(33) -GL_EXTENSION(34) -GL_EXTENSION(35) -GL_EXTENSION(36) -GL_EXTENSION(37) -GL_EXTENSION(38) -GL_EXTENSION(39) -GL_EXTENSION(40) -GL_EXTENSION(41) -GL_EXTENSION(42) -GL_EXTENSION(43) -GL_EXTENSION(44) -GL_EXTENSION(45) -GL_EXTENSION(46) -GL_EXTENSION(47) +GL_EXTENSION_LIST( GL_EXTENSION ) -GL_EXTENSION(48) -GL_EXTENSION(49) -GL_EXTENSION(50) -GL_EXTENSION(51) -GL_EXTENSION(52) -GL_EXTENSION(53) -GL_EXTENSION(54) -GL_EXTENSION(55) -GL_EXTENSION(56) -GL_EXTENSION(57) -GL_EXTENSION(58) -GL_EXTENSION(59) -GL_EXTENSION(60) -GL_EXTENSION(61) -GL_EXTENSION(62) -GL_EXTENSION(63) +#define GL_EXTENSION_ARRAY(_n) GL_EXTENSION_NAME(_n), extern const __eglMustCastToProperFunctionPointerType gExtensionForwarders[MAX_NUMBER_OF_GL_EXTENSIONS] = { - GL_EXTENSION_NAME(0), GL_EXTENSION_NAME(1), GL_EXTENSION_NAME(2), GL_EXTENSION_NAME(3), - GL_EXTENSION_NAME(4), GL_EXTENSION_NAME(5), GL_EXTENSION_NAME(6), GL_EXTENSION_NAME(7), - GL_EXTENSION_NAME(8), GL_EXTENSION_NAME(9), GL_EXTENSION_NAME(10), GL_EXTENSION_NAME(11), - GL_EXTENSION_NAME(12), GL_EXTENSION_NAME(13), GL_EXTENSION_NAME(14), GL_EXTENSION_NAME(15), - GL_EXTENSION_NAME(16), GL_EXTENSION_NAME(17), GL_EXTENSION_NAME(18), GL_EXTENSION_NAME(19), - GL_EXTENSION_NAME(20), GL_EXTENSION_NAME(21), GL_EXTENSION_NAME(22), GL_EXTENSION_NAME(23), - GL_EXTENSION_NAME(24), GL_EXTENSION_NAME(25), GL_EXTENSION_NAME(26), GL_EXTENSION_NAME(27), - GL_EXTENSION_NAME(28), GL_EXTENSION_NAME(29), GL_EXTENSION_NAME(30), GL_EXTENSION_NAME(31), - GL_EXTENSION_NAME(32), GL_EXTENSION_NAME(33), GL_EXTENSION_NAME(34), GL_EXTENSION_NAME(35), - GL_EXTENSION_NAME(36), GL_EXTENSION_NAME(37), GL_EXTENSION_NAME(38), GL_EXTENSION_NAME(39), - GL_EXTENSION_NAME(40), GL_EXTENSION_NAME(41), GL_EXTENSION_NAME(42), GL_EXTENSION_NAME(43), - GL_EXTENSION_NAME(44), GL_EXTENSION_NAME(45), GL_EXTENSION_NAME(46), GL_EXTENSION_NAME(47), - GL_EXTENSION_NAME(48), GL_EXTENSION_NAME(49), GL_EXTENSION_NAME(50), GL_EXTENSION_NAME(51), - GL_EXTENSION_NAME(52), GL_EXTENSION_NAME(53), GL_EXTENSION_NAME(54), GL_EXTENSION_NAME(55), - GL_EXTENSION_NAME(56), GL_EXTENSION_NAME(57), GL_EXTENSION_NAME(58), GL_EXTENSION_NAME(59), - GL_EXTENSION_NAME(60), GL_EXTENSION_NAME(61), GL_EXTENSION_NAME(62), GL_EXTENSION_NAME(63) + GL_EXTENSION_LIST( GL_EXTENSION_ARRAY ) }; +#undef GET_TLS +#undef GL_EXTENSION_LIST +#undef GL_EXTENSION_ARRAY #undef GL_EXTENSION_NAME #undef GL_EXTENSION #undef API_ENTRY -#undef CALL_GL_API +#undef CALL_GL_EXTENSION_API // ---------------------------------------------------------------------------- }; // namespace android