• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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