1// GENERATED FILE - DO NOT EDIT.
2// Generated by gen_packed_gl_enums.py using data from packed_egl_enums.json.
3//
4// Copyright 2019 The ANGLE Project Authors. All rights reserved.
5// Use of this source code is governed by a BSD-style license that can be
6// found in the LICENSE file.
7//
8// PackedEGLEnums_autogen.h:
9// Declares ANGLE-specific enums classes for EGLenums and functions operating
10// on them.
11
12#ifndef COMMON_PACKEDEGLENUMS_AUTOGEN_H_
13#define COMMON_PACKEDEGLENUMS_AUTOGEN_H_
14
15#include <EGL/egl.h>
16#include <EGL/eglext.h>
17#include <angle_gl.h>
18
19#include <cstdint>
20
21namespace egl
22{
23
24template <typename Enum>
25Enum FromEGLenum(EGLenum from);
26
27enum class CompositorTiming : uint8_t
28{
29 CompositeDeadline = 0,
30 CompositInterval = 1,
31 CompositToPresentLatency = 2,
32
33 InvalidEnum = 3,
34 EnumCount = 3,
35};
36
37template <>
38CompositorTiming FromEGLenum<CompositorTiming>(EGLenum from);
39EGLenum ToEGLenum(CompositorTiming from);
40
41enum class MessageType : uint8_t
42{
43 Critical = 0,
44 Error = 1,
45 Warn = 2,
46 Info = 3,
47
48 InvalidEnum = 4,
49 EnumCount = 4,
50};
51
52template <>
53MessageType FromEGLenum<MessageType>(EGLenum from);
54EGLenum ToEGLenum(MessageType from);
55
56enum class ObjectType : uint8_t
57{
58 Thread = 0,
59 Display = 1,
60 Context = 2,
61 Surface = 3,
62 Image = 4,
63 Sync = 5,
64 Stream = 6,
65
66 InvalidEnum = 7,
67 EnumCount = 7,
68};
69
70template <>
71ObjectType FromEGLenum<ObjectType>(EGLenum from);
72EGLenum ToEGLenum(ObjectType from);
73
74enum class TextureFormat : uint8_t
75{
76 NoTexture = 0,
77 RGB = 1,
78 RGBA = 2,
79
80 InvalidEnum = 3,
81 EnumCount = 3,
82};
83
84template <>
85TextureFormat FromEGLenum<TextureFormat>(EGLenum from);
86EGLenum ToEGLenum(TextureFormat from);
87
88enum class Timestamp : uint8_t
89{
90 RequestedPresentTime = 0,
91 RenderingCompleteTime = 1,
92 CompositionLatchTime = 2,
93 FirstCompositionStartTime = 3,
94 LastCompositionStartTime = 4,
95 FirstCompositionGPUFinishedTime = 5,
96 DisplayPresentTime = 6,
97 DequeueReadyTime = 7,
98 ReadsDoneTime = 8,
99
100 InvalidEnum = 9,
101 EnumCount = 9,
102};
103
104template <>
105Timestamp FromEGLenum<Timestamp>(EGLenum from);
106EGLenum ToEGLenum(Timestamp from);
107
108} // namespace egl
109
110#endif // COMMON_PACKEDEGLENUMS_AUTOGEN_H_
111