1 // 2 // Copyright 2021 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // restricted_traces_export: Export definitions for restricted traces. 7 8 #ifndef ANGLE_RESTRICTED_TRACES_EXPORT_H_ 9 #define ANGLE_RESTRICTED_TRACES_EXPORT_H_ 10 11 // See util/util_export.h for details on import/export labels. 12 #if !defined(ANGLE_TRACE_EXPORT) 13 # if defined(_WIN32) 14 # if defined(ANGLE_TRACE_IMPLEMENTATION) 15 # define ANGLE_TRACE_EXPORT __declspec(dllexport) 16 # else 17 # define ANGLE_TRACE_EXPORT __declspec(dllimport) 18 # endif 19 # elif defined(__GNUC__) 20 # define ANGLE_TRACE_EXPORT __attribute__((visibility("default"))) 21 # else 22 # define ANGLE_TRACE_EXPORT 23 # endif 24 #endif // !defined(ANGLE_TRACE_EXPORT) 25 26 #if !defined(ANGLE_TRACE_LOADER_EXPORT) 27 # if defined(_WIN32) 28 # if defined(ANGLE_TRACE_LOADER_IMPLEMENTATION) 29 # define ANGLE_TRACE_LOADER_EXPORT __declspec(dllexport) 30 # else 31 # define ANGLE_TRACE_LOADER_EXPORT __declspec(dllimport) 32 # endif 33 # elif defined(__GNUC__) 34 # define ANGLE_TRACE_LOADER_EXPORT __attribute__((visibility("default"))) 35 # else 36 # define ANGLE_TRACE_LOADER_EXPORT 37 # endif 38 #endif // !defined(ANGLE_TRACE_LOADER_EXPORT) 39 40 namespace trace_angle 41 { 42 using GenericProc = void (*)(); 43 using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *); 44 ANGLE_TRACE_LOADER_EXPORT void LoadEGL(LoadProc loadProc); 45 ANGLE_TRACE_LOADER_EXPORT void LoadGLES(LoadProc loadProc); 46 } // namespace trace_angle 47 48 #endif // ANGLE_RESTRICTED_TRACES_EXPORT_H_ 49