Update ANGLE API loaders to avoid C++ syntax.

This replaces "using" with "typedef" in the various loaders.
This will allow C traces to use the loaders, which in turn will
allow us to implement a C interpreter.

Bug: angleproject:7731
Change-Id: I37838bcafc290502fca0038d1b50554b6a301e65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966533
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
This commit is contained in:
Jamie Madill
2022-10-19 11:59:10 -04:00
committed by Angle LUCI CQ
parent 35549c3a37
commit bba4758882
14 changed files with 97 additions and 27 deletions

View File

@@ -2,15 +2,15 @@
"scripts/egl_angle_ext.xml":
"a325465cb2fd6e5bad81ab508e51885a",
"scripts/generate_loader.py":
"e2a560777802620b27b99d0d10473d58",
"93c78a8d11323fa311fed5118fbcf083",
"scripts/gl_angle_ext.xml":
"8dd9662655c39ce22fecdc2449594e54",
"scripts/registry_xml.py":
"a532782ba7caa6af314e535b7e467a5b",
"src/libEGL/egl_loader_autogen.cpp":
"0d2f3d26eb1214f6d17ac91797796349",
"1742cbfa95f2337d69164d573bb5c09a",
"src/libEGL/egl_loader_autogen.h":
"532a5de05e40aa853f78258a30d94b2a",
"901fd3262845ce7b7f179de16dabacf6",
"third_party/EGL-Registry/src/api/egl.xml":
"2056d54ea07156f1988ca1366bdee21a",
"third_party/OpenCL-Docs/src/xml/cl.xml":
@@ -22,23 +22,23 @@
"third_party/OpenGL-Registry/src/xml/wgl.xml":
"eae784bf4d1b983a42af5671b140b7c4",
"util/capture/trace_egl_loader_autogen.cpp":
"ed267043f0078d0b8910d6da388bf35b",
"b79476571f7af9477360a6ddcdaa71db",
"util/capture/trace_egl_loader_autogen.h":
"abbb750fab0b01f51b3730c84f49a09e",
"2bfa2e4bd11749ab7e6ce4b9765d1450",
"util/capture/trace_gles_loader_autogen.cpp":
"01b25c54f1a0a895f69f5e30bc58cda6",
"a62f41b3b56b9454bdad919d8167bbcf",
"util/capture/trace_gles_loader_autogen.h":
"7bc2bbe810f47c85567ab2ad66eb2efe",
"05c8419a7285198f02651d757cdf934b",
"util/egl_loader_autogen.cpp":
"89b342dcfd31b0efb0cf52c991ee12cc",
"7aa5b75db6b748f2131edf6f9c170825",
"util/egl_loader_autogen.h":
"2e667afeab740cbad87ffada0f6b0aa7",
"4d2cf7529fdd9d542415f325062a0f00",
"util/gles_loader_autogen.cpp":
"09a6929777e2f3e9f66ef97d17f2411b",
"63607a814918619be4bd9df28e173a76",
"util/gles_loader_autogen.h":
"f0fac0302f09d1675d9100b8f5c4609a",
"991b63a72e39c6f4e8eb0a85333167df",
"util/windows/wgl_loader_autogen.cpp":
"e62135b1dc8997ef6eb3c944550acc78",
"373b062587eab8a163121255f54597dc",
"util/windows/wgl_loader_autogen.h":
"0007c5b1362fe52056b82fe8533ea890"
"0551e9c28a8d3902bcd5d6e5b1ed3c6f"
}

View File

@@ -360,12 +360,20 @@ template_loader_h = """// GENERATED FILE - DO NOT EDIT.
{preamble}
{defines}
#if defined(__cplusplus)
extern "C" {{
#endif // defined(__cplusplus)
{function_pointers}
using GenericProc = void (*)();
using LoadProc = GenericProc (KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc (KHRONOS_APIENTRY *LoadProc)(const char *);
{export}void {load_fn_name}(LoadProc loadProc);
#if defined(__cplusplus)
}} // extern "C"
#endif // defined(__cplusplus)
#endif // {lib}_{api_upper}_LOADER_AUTOGEN_H_
"""
@@ -381,12 +389,14 @@ template_loader_cpp = """// GENERATED FILE - DO NOT EDIT.
#include "{file_prefix}{api_lower}_loader_autogen.h"
extern "C" {{
{function_pointers}
void {load_fn_name}(LoadProc loadProc)
{{
{set_pointers}
}}
}} // extern "C"
"""
if __name__ == '__main__':

View File

@@ -10,6 +10,7 @@
#include "egl_loader_autogen.h"
extern "C" {
PFNEGLCHOOSECONFIGPROC l_EGL_ChooseConfig;
PFNEGLCOPYBUFFERSPROC l_EGL_CopyBuffers;
PFNEGLCREATECONTEXTPROC l_EGL_CreateContext;
@@ -318,3 +319,4 @@ void LoadLibEGL_EGL(LoadProc loadProc)
reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(
loadProc("EGL_StreamConsumerGLTextureExternalAttribsNV"));
}
} // extern "C"

View File

@@ -124,6 +124,10 @@
#define EGL_WaitSyncKHR l_EGL_WaitSyncKHR
#define EGL_PostSubBufferNV l_EGL_PostSubBufferNV
#define EGL_StreamConsumerGLTextureExternalAttribsNV l_EGL_StreamConsumerGLTextureExternalAttribsNV
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
ANGLE_NO_EXPORT extern PFNEGLCHOOSECONFIGPROC l_EGL_ChooseConfig;
ANGLE_NO_EXPORT extern PFNEGLCOPYBUFFERSPROC l_EGL_CopyBuffers;
ANGLE_NO_EXPORT extern PFNEGLCREATECONTEXTPROC l_EGL_CreateContext;
@@ -243,8 +247,12 @@ ANGLE_NO_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC l_EGL_PostSubBufferNV;
ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
l_EGL_StreamConsumerGLTextureExternalAttribsNV;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
ANGLE_NO_EXPORT void LoadLibEGL_EGL(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // LIBEGL_EGL_LOADER_AUTOGEN_H_

View File

@@ -10,6 +10,7 @@
#include "trace_egl_loader_autogen.h"
extern "C" {
ANGLE_TRACE_LOADER_EXPORT PFNEGLCHOOSECONFIGPROC t_eglChooseConfig;
ANGLE_TRACE_LOADER_EXPORT PFNEGLCOPYBUFFERSPROC t_eglCopyBuffers;
ANGLE_TRACE_LOADER_EXPORT PFNEGLCREATECONTEXTPROC t_eglCreateContext;
@@ -319,3 +320,4 @@ void LoadTraceEGL(LoadProc loadProc)
reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(
loadProc("eglStreamConsumerGLTextureExternalAttribsNV"));
}
} // extern "C"

View File

@@ -125,6 +125,10 @@
#define eglWaitSyncKHR t_eglWaitSyncKHR
#define eglPostSubBufferNV t_eglPostSubBufferNV
#define eglStreamConsumerGLTextureExternalAttribsNV t_eglStreamConsumerGLTextureExternalAttribsNV
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLCHOOSECONFIGPROC t_eglChooseConfig;
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLCOPYBUFFERSPROC t_eglCopyBuffers;
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLCREATECONTEXTPROC t_eglCreateContext;
@@ -251,8 +255,12 @@ ANGLE_TRACE_LOADER_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC t_eglPostSubBufferNV;
ANGLE_TRACE_LOADER_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
t_eglStreamConsumerGLTextureExternalAttribsNV;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
ANGLE_TRACE_LOADER_EXPORT void LoadTraceEGL(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // ANGLE_TRACES_UTIL_EGL_LOADER_AUTOGEN_H_

View File

@@ -10,6 +10,7 @@
#include "trace_gles_loader_autogen.h"
extern "C" {
ANGLE_TRACE_LOADER_EXPORT PFNGLALPHAFUNCPROC t_glAlphaFunc;
ANGLE_TRACE_LOADER_EXPORT PFNGLCLIPPLANEFPROC t_glClipPlanef;
ANGLE_TRACE_LOADER_EXPORT PFNGLCOLOR4FPROC t_glColor4f;
@@ -2241,3 +2242,4 @@ void LoadTraceGLES(LoadProc loadProc)
t_glTexGenxOES = reinterpret_cast<PFNGLTEXGENXOESPROC>(loadProc("glTexGenxOES"));
t_glTexGenxvOES = reinterpret_cast<PFNGLTEXGENXVOESPROC>(loadProc("glTexGenxvOES"));
}
} // extern "C"

View File

@@ -836,6 +836,10 @@
#define glTexGenivOES t_glTexGenivOES
#define glTexGenxOES t_glTexGenxOES
#define glTexGenxvOES t_glTexGenxvOES
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
ANGLE_TRACE_LOADER_EXPORT extern PFNGLALPHAFUNCPROC t_glAlphaFunc;
ANGLE_TRACE_LOADER_EXPORT extern PFNGLCLIPPLANEFPROC t_glClipPlanef;
ANGLE_TRACE_LOADER_EXPORT extern PFNGLCOLOR4FPROC t_glColor4f;
@@ -1754,8 +1758,12 @@ ANGLE_TRACE_LOADER_EXPORT extern PFNGLTEXGENIVOESPROC t_glTexGenivOES;
ANGLE_TRACE_LOADER_EXPORT extern PFNGLTEXGENXOESPROC t_glTexGenxOES;
ANGLE_TRACE_LOADER_EXPORT extern PFNGLTEXGENXVOESPROC t_glTexGenxvOES;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
ANGLE_TRACE_LOADER_EXPORT void LoadTraceGLES(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // ANGLE_TRACES_UTIL_GLES_LOADER_AUTOGEN_H_

View File

@@ -10,6 +10,7 @@
#include "egl_loader_autogen.h"
extern "C" {
ANGLE_UTIL_EXPORT PFNEGLCHOOSECONFIGPROC l_eglChooseConfig;
ANGLE_UTIL_EXPORT PFNEGLCOPYBUFFERSPROC l_eglCopyBuffers;
ANGLE_UTIL_EXPORT PFNEGLCREATECONTEXTPROC l_eglCreateContext;
@@ -314,3 +315,4 @@ void LoadUtilEGL(LoadProc loadProc)
reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(
loadProc("eglStreamConsumerGLTextureExternalAttribsNV"));
}
} // extern "C"

View File

@@ -125,6 +125,10 @@
#define eglWaitSyncKHR l_eglWaitSyncKHR
#define eglPostSubBufferNV l_eglPostSubBufferNV
#define eglStreamConsumerGLTextureExternalAttribsNV l_eglStreamConsumerGLTextureExternalAttribsNV
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC l_eglChooseConfig;
ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC l_eglCopyBuffers;
ANGLE_UTIL_EXPORT extern PFNEGLCREATECONTEXTPROC l_eglCreateContext;
@@ -244,8 +248,12 @@ ANGLE_UTIL_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC l_eglPostSubBufferNV;
ANGLE_UTIL_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
l_eglStreamConsumerGLTextureExternalAttribsNV;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
ANGLE_UTIL_EXPORT void LoadUtilEGL(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // UTIL_EGL_LOADER_AUTOGEN_H_

View File

@@ -10,6 +10,7 @@
#include "gles_loader_autogen.h"
extern "C" {
ANGLE_UTIL_EXPORT PFNGLALPHAFUNCPROC l_glAlphaFunc;
ANGLE_UTIL_EXPORT PFNGLCLIPPLANEFPROC l_glClipPlanef;
ANGLE_UTIL_EXPORT PFNGLCOLOR4FPROC l_glColor4f;
@@ -2210,3 +2211,4 @@ void LoadUtilGLES(LoadProc loadProc)
l_glTexGenxOES = reinterpret_cast<PFNGLTEXGENXOESPROC>(loadProc("glTexGenxOES"));
l_glTexGenxvOES = reinterpret_cast<PFNGLTEXGENXVOESPROC>(loadProc("glTexGenxvOES"));
}
} // extern "C"

View File

@@ -836,6 +836,10 @@
#define glTexGenivOES l_glTexGenivOES
#define glTexGenxOES l_glTexGenxOES
#define glTexGenxvOES l_glTexGenxvOES
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
ANGLE_UTIL_EXPORT extern PFNGLALPHAFUNCPROC l_glAlphaFunc;
ANGLE_UTIL_EXPORT extern PFNGLCLIPPLANEFPROC l_glClipPlanef;
ANGLE_UTIL_EXPORT extern PFNGLCOLOR4FPROC l_glColor4f;
@@ -1695,8 +1699,12 @@ ANGLE_UTIL_EXPORT extern PFNGLTEXGENIVOESPROC l_glTexGenivOES;
ANGLE_UTIL_EXPORT extern PFNGLTEXGENXOESPROC l_glTexGenxOES;
ANGLE_UTIL_EXPORT extern PFNGLTEXGENXVOESPROC l_glTexGenxvOES;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
ANGLE_UTIL_EXPORT void LoadUtilGLES(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // UTIL_GLES_LOADER_AUTOGEN_H_

View File

@@ -10,6 +10,7 @@
#include "wgl_loader_autogen.h"
extern "C" {
PFNCHOOSEPIXELFORMATPROC l__ChoosePixelFormat;
PFNDESCRIBEPIXELFORMATPROC l__DescribePixelFormat;
PFNGETENHMETAFILEPIXELFORMATPROC l__GetEnhMetaFilePixelFormat;
@@ -104,3 +105,4 @@ void LoadWGL(LoadProc loadProc)
l__wglSwapIntervalEXT =
reinterpret_cast<PFNWGLSWAPINTERVALEXTPROC>(loadProc("wglSwapIntervalEXT"));
}
} // extern "C"

View File

@@ -51,6 +51,10 @@
#define _wglGetPixelFormatAttribivARB l__wglGetPixelFormatAttribivARB
#define _wglGetSwapIntervalEXT l__wglGetSwapIntervalEXT
#define _wglSwapIntervalEXT l__wglSwapIntervalEXT
#if defined(__cplusplus)
extern "C" {
#endif // defined(__cplusplus)
extern PFNCHOOSEPIXELFORMATPROC l__ChoosePixelFormat;
extern PFNDESCRIBEPIXELFORMATPROC l__DescribePixelFormat;
extern PFNGETENHMETAFILEPIXELFORMATPROC l__GetEnhMetaFilePixelFormat;
@@ -85,8 +89,12 @@ extern PFNWGLGETPIXELFORMATATTRIBIVARBPROC l__wglGetPixelFormatAttribivARB;
extern PFNWGLGETSWAPINTERVALEXTPROC l__wglGetSwapIntervalEXT;
extern PFNWGLSWAPINTERVALEXTPROC l__wglSwapIntervalEXT;
using GenericProc = void (*)();
using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
typedef void (*GenericProc)(void);
typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *);
void LoadWGL(LoadProc loadProc);
#if defined(__cplusplus)
} // extern "C"
#endif // defined(__cplusplus)
#endif // UTIL_WINDOWS_WGL_LOADER_AUTOGEN_H_