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_TRACES_EXPORT_H_ 9 #define ANGLE_TRACES_EXPORT_H_ 10 11 // for KHRONOS_APIENTRY 12 #include <KHR/khrplatform.h> 13 14 // See util/util_export.h for details on import/export labels. 15 #if !defined(ANGLE_TRACE_EXPORT) 16 # if defined(_WIN32) 17 # if defined(ANGLE_TRACE_IMPLEMENTATION) 18 # define ANGLE_TRACE_EXPORT __declspec(dllexport) 19 # else 20 # define ANGLE_TRACE_EXPORT __declspec(dllimport) 21 # endif 22 # elif defined(__GNUC__) 23 # define ANGLE_TRACE_EXPORT __attribute__((visibility("default"))) 24 # else 25 # define ANGLE_TRACE_EXPORT 26 # endif 27 #endif // !defined(ANGLE_TRACE_EXPORT) 28 29 #if !defined(ANGLE_TRACE_LOADER_EXPORT) 30 # if defined(_WIN32) 31 # if defined(ANGLE_TRACE_LOADER_IMPLEMENTATION) 32 # define ANGLE_TRACE_LOADER_EXPORT __declspec(dllexport) 33 # else 34 # define ANGLE_TRACE_LOADER_EXPORT __declspec(dllimport) 35 # endif 36 # elif defined(__GNUC__) 37 # define ANGLE_TRACE_LOADER_EXPORT __attribute__((visibility("default"))) 38 # else 39 # define ANGLE_TRACE_LOADER_EXPORT 40 # endif 41 #endif // !defined(ANGLE_TRACE_LOADER_EXPORT) 42 43 #if !defined(ANGLE_REPLAY_EXPORT) 44 # if defined(_WIN32) 45 # if defined(ANGLE_REPLAY_IMPLEMENTATION) 46 # define ANGLE_REPLAY_EXPORT __declspec(dllexport) 47 # else 48 # define ANGLE_REPLAY_EXPORT __declspec(dllimport) 49 # endif 50 # elif defined(__GNUC__) 51 # define ANGLE_REPLAY_EXPORT __attribute__((visibility("default"))) 52 # else 53 # define ANGLE_REPLAY_EXPORT 54 # endif 55 #endif // !defined(ANGLE_REPLAY_EXPORT) 56 57 typedef void (*GenericProc)(void); 58 typedef GenericProc(KHRONOS_APIENTRY *LoadProc)(const char *); 59 60 #if defined(__cplusplus) 61 extern "C" { 62 #endif // defined(__cplusplus) 63 ANGLE_TRACE_LOADER_EXPORT void LoadTraceEGL(LoadProc loadProc); 64 ANGLE_TRACE_LOADER_EXPORT void LoadTraceGLES(LoadProc loadProc); 65 #if defined(__cplusplus) 66 } // extern "C" 67 #endif // defined(__cplusplus) 68 69 #endif // ANGLE_TRACES_EXPORT_H_ 70