1*8975f5c5SAndroid Build Coastguard Worker // GENERATED FILE - DO NOT EDIT.
2*8975f5c5SAndroid Build Coastguard Worker // Generated by gen_packed_gl_enums.py using data from packed_egl_enums.json.
3*8975f5c5SAndroid Build Coastguard Worker //
4*8975f5c5SAndroid Build Coastguard Worker // Copyright 2017 The ANGLE Project Authors. All rights reserved.
5*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
6*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file.
7*8975f5c5SAndroid Build Coastguard Worker //
8*8975f5c5SAndroid Build Coastguard Worker // PackedEGLEnums_autogen.cpp:
9*8975f5c5SAndroid Build Coastguard Worker // Implements ANGLE-specific enums classes for EGLenums and functions operating
10*8975f5c5SAndroid Build Coastguard Worker // on them.
11*8975f5c5SAndroid Build Coastguard Worker
12*8975f5c5SAndroid Build Coastguard Worker #include "common/PackedEGLEnums_autogen.h"
13*8975f5c5SAndroid Build Coastguard Worker #include "common/debug.h"
14*8975f5c5SAndroid Build Coastguard Worker
15*8975f5c5SAndroid Build Coastguard Worker namespace egl
16*8975f5c5SAndroid Build Coastguard Worker {
17*8975f5c5SAndroid Build Coastguard Worker
18*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)19*8975f5c5SAndroid Build Coastguard Worker ColorSpace FromEGLenum<ColorSpace>(EGLenum from)
20*8975f5c5SAndroid Build Coastguard Worker {
21*8975f5c5SAndroid Build Coastguard Worker switch (from)
22*8975f5c5SAndroid Build Coastguard Worker {
23*8975f5c5SAndroid Build Coastguard Worker case EGL_COLORSPACE_sRGB:
24*8975f5c5SAndroid Build Coastguard Worker return ColorSpace::sRGB;
25*8975f5c5SAndroid Build Coastguard Worker case EGL_COLORSPACE_LINEAR:
26*8975f5c5SAndroid Build Coastguard Worker return ColorSpace::Linear;
27*8975f5c5SAndroid Build Coastguard Worker default:
28*8975f5c5SAndroid Build Coastguard Worker return ColorSpace::InvalidEnum;
29*8975f5c5SAndroid Build Coastguard Worker }
30*8975f5c5SAndroid Build Coastguard Worker }
31*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(ColorSpace from)32*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(ColorSpace from)
33*8975f5c5SAndroid Build Coastguard Worker {
34*8975f5c5SAndroid Build Coastguard Worker switch (from)
35*8975f5c5SAndroid Build Coastguard Worker {
36*8975f5c5SAndroid Build Coastguard Worker case ColorSpace::sRGB:
37*8975f5c5SAndroid Build Coastguard Worker return EGL_COLORSPACE_sRGB;
38*8975f5c5SAndroid Build Coastguard Worker case ColorSpace::Linear:
39*8975f5c5SAndroid Build Coastguard Worker return EGL_COLORSPACE_LINEAR;
40*8975f5c5SAndroid Build Coastguard Worker default:
41*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
42*8975f5c5SAndroid Build Coastguard Worker return 0;
43*8975f5c5SAndroid Build Coastguard Worker }
44*8975f5c5SAndroid Build Coastguard Worker }
45*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ColorSpace value)46*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ColorSpace value)
47*8975f5c5SAndroid Build Coastguard Worker {
48*8975f5c5SAndroid Build Coastguard Worker switch (value)
49*8975f5c5SAndroid Build Coastguard Worker {
50*8975f5c5SAndroid Build Coastguard Worker case ColorSpace::sRGB:
51*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COLORSPACE_sRGB";
52*8975f5c5SAndroid Build Coastguard Worker break;
53*8975f5c5SAndroid Build Coastguard Worker case ColorSpace::Linear:
54*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COLORSPACE_LINEAR";
55*8975f5c5SAndroid Build Coastguard Worker break;
56*8975f5c5SAndroid Build Coastguard Worker default:
57*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
58*8975f5c5SAndroid Build Coastguard Worker break;
59*8975f5c5SAndroid Build Coastguard Worker }
60*8975f5c5SAndroid Build Coastguard Worker return os;
61*8975f5c5SAndroid Build Coastguard Worker }
62*8975f5c5SAndroid Build Coastguard Worker
63*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)64*8975f5c5SAndroid Build Coastguard Worker CompositorTiming FromEGLenum<CompositorTiming>(EGLenum from)
65*8975f5c5SAndroid Build Coastguard Worker {
66*8975f5c5SAndroid Build Coastguard Worker switch (from)
67*8975f5c5SAndroid Build Coastguard Worker {
68*8975f5c5SAndroid Build Coastguard Worker case EGL_COMPOSITE_DEADLINE_ANDROID:
69*8975f5c5SAndroid Build Coastguard Worker return CompositorTiming::CompositeDeadline;
70*8975f5c5SAndroid Build Coastguard Worker case EGL_COMPOSITE_INTERVAL_ANDROID:
71*8975f5c5SAndroid Build Coastguard Worker return CompositorTiming::CompositInterval;
72*8975f5c5SAndroid Build Coastguard Worker case EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID:
73*8975f5c5SAndroid Build Coastguard Worker return CompositorTiming::CompositToPresentLatency;
74*8975f5c5SAndroid Build Coastguard Worker default:
75*8975f5c5SAndroid Build Coastguard Worker return CompositorTiming::InvalidEnum;
76*8975f5c5SAndroid Build Coastguard Worker }
77*8975f5c5SAndroid Build Coastguard Worker }
78*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(CompositorTiming from)79*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(CompositorTiming from)
80*8975f5c5SAndroid Build Coastguard Worker {
81*8975f5c5SAndroid Build Coastguard Worker switch (from)
82*8975f5c5SAndroid Build Coastguard Worker {
83*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositeDeadline:
84*8975f5c5SAndroid Build Coastguard Worker return EGL_COMPOSITE_DEADLINE_ANDROID;
85*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositInterval:
86*8975f5c5SAndroid Build Coastguard Worker return EGL_COMPOSITE_INTERVAL_ANDROID;
87*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositToPresentLatency:
88*8975f5c5SAndroid Build Coastguard Worker return EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID;
89*8975f5c5SAndroid Build Coastguard Worker default:
90*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
91*8975f5c5SAndroid Build Coastguard Worker return 0;
92*8975f5c5SAndroid Build Coastguard Worker }
93*8975f5c5SAndroid Build Coastguard Worker }
94*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,CompositorTiming value)95*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, CompositorTiming value)
96*8975f5c5SAndroid Build Coastguard Worker {
97*8975f5c5SAndroid Build Coastguard Worker switch (value)
98*8975f5c5SAndroid Build Coastguard Worker {
99*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositeDeadline:
100*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COMPOSITE_DEADLINE_ANDROID";
101*8975f5c5SAndroid Build Coastguard Worker break;
102*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositInterval:
103*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COMPOSITE_INTERVAL_ANDROID";
104*8975f5c5SAndroid Build Coastguard Worker break;
105*8975f5c5SAndroid Build Coastguard Worker case CompositorTiming::CompositToPresentLatency:
106*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COMPOSITE_TO_PRESENT_LATENCY_ANDROID";
107*8975f5c5SAndroid Build Coastguard Worker break;
108*8975f5c5SAndroid Build Coastguard Worker default:
109*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
110*8975f5c5SAndroid Build Coastguard Worker break;
111*8975f5c5SAndroid Build Coastguard Worker }
112*8975f5c5SAndroid Build Coastguard Worker return os;
113*8975f5c5SAndroid Build Coastguard Worker }
114*8975f5c5SAndroid Build Coastguard Worker
115*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)116*8975f5c5SAndroid Build Coastguard Worker ContextPriority FromEGLenum<ContextPriority>(EGLenum from)
117*8975f5c5SAndroid Build Coastguard Worker {
118*8975f5c5SAndroid Build Coastguard Worker switch (from)
119*8975f5c5SAndroid Build Coastguard Worker {
120*8975f5c5SAndroid Build Coastguard Worker case EGL_CONTEXT_PRIORITY_LOW_IMG:
121*8975f5c5SAndroid Build Coastguard Worker return ContextPriority::Low;
122*8975f5c5SAndroid Build Coastguard Worker case EGL_CONTEXT_PRIORITY_MEDIUM_IMG:
123*8975f5c5SAndroid Build Coastguard Worker return ContextPriority::Medium;
124*8975f5c5SAndroid Build Coastguard Worker case EGL_CONTEXT_PRIORITY_HIGH_IMG:
125*8975f5c5SAndroid Build Coastguard Worker return ContextPriority::High;
126*8975f5c5SAndroid Build Coastguard Worker default:
127*8975f5c5SAndroid Build Coastguard Worker return ContextPriority::InvalidEnum;
128*8975f5c5SAndroid Build Coastguard Worker }
129*8975f5c5SAndroid Build Coastguard Worker }
130*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(ContextPriority from)131*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(ContextPriority from)
132*8975f5c5SAndroid Build Coastguard Worker {
133*8975f5c5SAndroid Build Coastguard Worker switch (from)
134*8975f5c5SAndroid Build Coastguard Worker {
135*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::Low:
136*8975f5c5SAndroid Build Coastguard Worker return EGL_CONTEXT_PRIORITY_LOW_IMG;
137*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::Medium:
138*8975f5c5SAndroid Build Coastguard Worker return EGL_CONTEXT_PRIORITY_MEDIUM_IMG;
139*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::High:
140*8975f5c5SAndroid Build Coastguard Worker return EGL_CONTEXT_PRIORITY_HIGH_IMG;
141*8975f5c5SAndroid Build Coastguard Worker default:
142*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
143*8975f5c5SAndroid Build Coastguard Worker return 0;
144*8975f5c5SAndroid Build Coastguard Worker }
145*8975f5c5SAndroid Build Coastguard Worker }
146*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ContextPriority value)147*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ContextPriority value)
148*8975f5c5SAndroid Build Coastguard Worker {
149*8975f5c5SAndroid Build Coastguard Worker switch (value)
150*8975f5c5SAndroid Build Coastguard Worker {
151*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::Low:
152*8975f5c5SAndroid Build Coastguard Worker os << "EGL_CONTEXT_PRIORITY_LOW_IMG";
153*8975f5c5SAndroid Build Coastguard Worker break;
154*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::Medium:
155*8975f5c5SAndroid Build Coastguard Worker os << "EGL_CONTEXT_PRIORITY_MEDIUM_IMG";
156*8975f5c5SAndroid Build Coastguard Worker break;
157*8975f5c5SAndroid Build Coastguard Worker case ContextPriority::High:
158*8975f5c5SAndroid Build Coastguard Worker os << "EGL_CONTEXT_PRIORITY_HIGH_IMG";
159*8975f5c5SAndroid Build Coastguard Worker break;
160*8975f5c5SAndroid Build Coastguard Worker default:
161*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
162*8975f5c5SAndroid Build Coastguard Worker break;
163*8975f5c5SAndroid Build Coastguard Worker }
164*8975f5c5SAndroid Build Coastguard Worker return os;
165*8975f5c5SAndroid Build Coastguard Worker }
166*8975f5c5SAndroid Build Coastguard Worker
167*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)168*8975f5c5SAndroid Build Coastguard Worker MessageType FromEGLenum<MessageType>(EGLenum from)
169*8975f5c5SAndroid Build Coastguard Worker {
170*8975f5c5SAndroid Build Coastguard Worker switch (from)
171*8975f5c5SAndroid Build Coastguard Worker {
172*8975f5c5SAndroid Build Coastguard Worker case EGL_DEBUG_MSG_CRITICAL_KHR:
173*8975f5c5SAndroid Build Coastguard Worker return MessageType::Critical;
174*8975f5c5SAndroid Build Coastguard Worker case EGL_DEBUG_MSG_ERROR_KHR:
175*8975f5c5SAndroid Build Coastguard Worker return MessageType::Error;
176*8975f5c5SAndroid Build Coastguard Worker case EGL_DEBUG_MSG_WARN_KHR:
177*8975f5c5SAndroid Build Coastguard Worker return MessageType::Warn;
178*8975f5c5SAndroid Build Coastguard Worker case EGL_DEBUG_MSG_INFO_KHR:
179*8975f5c5SAndroid Build Coastguard Worker return MessageType::Info;
180*8975f5c5SAndroid Build Coastguard Worker default:
181*8975f5c5SAndroid Build Coastguard Worker return MessageType::InvalidEnum;
182*8975f5c5SAndroid Build Coastguard Worker }
183*8975f5c5SAndroid Build Coastguard Worker }
184*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(MessageType from)185*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(MessageType from)
186*8975f5c5SAndroid Build Coastguard Worker {
187*8975f5c5SAndroid Build Coastguard Worker switch (from)
188*8975f5c5SAndroid Build Coastguard Worker {
189*8975f5c5SAndroid Build Coastguard Worker case MessageType::Critical:
190*8975f5c5SAndroid Build Coastguard Worker return EGL_DEBUG_MSG_CRITICAL_KHR;
191*8975f5c5SAndroid Build Coastguard Worker case MessageType::Error:
192*8975f5c5SAndroid Build Coastguard Worker return EGL_DEBUG_MSG_ERROR_KHR;
193*8975f5c5SAndroid Build Coastguard Worker case MessageType::Warn:
194*8975f5c5SAndroid Build Coastguard Worker return EGL_DEBUG_MSG_WARN_KHR;
195*8975f5c5SAndroid Build Coastguard Worker case MessageType::Info:
196*8975f5c5SAndroid Build Coastguard Worker return EGL_DEBUG_MSG_INFO_KHR;
197*8975f5c5SAndroid Build Coastguard Worker default:
198*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
199*8975f5c5SAndroid Build Coastguard Worker return 0;
200*8975f5c5SAndroid Build Coastguard Worker }
201*8975f5c5SAndroid Build Coastguard Worker }
202*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,MessageType value)203*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, MessageType value)
204*8975f5c5SAndroid Build Coastguard Worker {
205*8975f5c5SAndroid Build Coastguard Worker switch (value)
206*8975f5c5SAndroid Build Coastguard Worker {
207*8975f5c5SAndroid Build Coastguard Worker case MessageType::Critical:
208*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DEBUG_MSG_CRITICAL_KHR";
209*8975f5c5SAndroid Build Coastguard Worker break;
210*8975f5c5SAndroid Build Coastguard Worker case MessageType::Error:
211*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DEBUG_MSG_ERROR_KHR";
212*8975f5c5SAndroid Build Coastguard Worker break;
213*8975f5c5SAndroid Build Coastguard Worker case MessageType::Warn:
214*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DEBUG_MSG_WARN_KHR";
215*8975f5c5SAndroid Build Coastguard Worker break;
216*8975f5c5SAndroid Build Coastguard Worker case MessageType::Info:
217*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DEBUG_MSG_INFO_KHR";
218*8975f5c5SAndroid Build Coastguard Worker break;
219*8975f5c5SAndroid Build Coastguard Worker default:
220*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
221*8975f5c5SAndroid Build Coastguard Worker break;
222*8975f5c5SAndroid Build Coastguard Worker }
223*8975f5c5SAndroid Build Coastguard Worker return os;
224*8975f5c5SAndroid Build Coastguard Worker }
225*8975f5c5SAndroid Build Coastguard Worker
226*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)227*8975f5c5SAndroid Build Coastguard Worker ObjectType FromEGLenum<ObjectType>(EGLenum from)
228*8975f5c5SAndroid Build Coastguard Worker {
229*8975f5c5SAndroid Build Coastguard Worker switch (from)
230*8975f5c5SAndroid Build Coastguard Worker {
231*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_THREAD_KHR:
232*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Thread;
233*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_DISPLAY_KHR:
234*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Display;
235*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_CONTEXT_KHR:
236*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Context;
237*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_SURFACE_KHR:
238*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Surface;
239*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_IMAGE_KHR:
240*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Image;
241*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_SYNC_KHR:
242*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Sync;
243*8975f5c5SAndroid Build Coastguard Worker case EGL_OBJECT_STREAM_KHR:
244*8975f5c5SAndroid Build Coastguard Worker return ObjectType::Stream;
245*8975f5c5SAndroid Build Coastguard Worker default:
246*8975f5c5SAndroid Build Coastguard Worker return ObjectType::InvalidEnum;
247*8975f5c5SAndroid Build Coastguard Worker }
248*8975f5c5SAndroid Build Coastguard Worker }
249*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(ObjectType from)250*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(ObjectType from)
251*8975f5c5SAndroid Build Coastguard Worker {
252*8975f5c5SAndroid Build Coastguard Worker switch (from)
253*8975f5c5SAndroid Build Coastguard Worker {
254*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Thread:
255*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_THREAD_KHR;
256*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Display:
257*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_DISPLAY_KHR;
258*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Context:
259*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_CONTEXT_KHR;
260*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Surface:
261*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_SURFACE_KHR;
262*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Image:
263*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_IMAGE_KHR;
264*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Sync:
265*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_SYNC_KHR;
266*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Stream:
267*8975f5c5SAndroid Build Coastguard Worker return EGL_OBJECT_STREAM_KHR;
268*8975f5c5SAndroid Build Coastguard Worker default:
269*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
270*8975f5c5SAndroid Build Coastguard Worker return 0;
271*8975f5c5SAndroid Build Coastguard Worker }
272*8975f5c5SAndroid Build Coastguard Worker }
273*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ObjectType value)274*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ObjectType value)
275*8975f5c5SAndroid Build Coastguard Worker {
276*8975f5c5SAndroid Build Coastguard Worker switch (value)
277*8975f5c5SAndroid Build Coastguard Worker {
278*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Thread:
279*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_THREAD_KHR";
280*8975f5c5SAndroid Build Coastguard Worker break;
281*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Display:
282*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_DISPLAY_KHR";
283*8975f5c5SAndroid Build Coastguard Worker break;
284*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Context:
285*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_CONTEXT_KHR";
286*8975f5c5SAndroid Build Coastguard Worker break;
287*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Surface:
288*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_SURFACE_KHR";
289*8975f5c5SAndroid Build Coastguard Worker break;
290*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Image:
291*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_IMAGE_KHR";
292*8975f5c5SAndroid Build Coastguard Worker break;
293*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Sync:
294*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_SYNC_KHR";
295*8975f5c5SAndroid Build Coastguard Worker break;
296*8975f5c5SAndroid Build Coastguard Worker case ObjectType::Stream:
297*8975f5c5SAndroid Build Coastguard Worker os << "EGL_OBJECT_STREAM_KHR";
298*8975f5c5SAndroid Build Coastguard Worker break;
299*8975f5c5SAndroid Build Coastguard Worker default:
300*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
301*8975f5c5SAndroid Build Coastguard Worker break;
302*8975f5c5SAndroid Build Coastguard Worker }
303*8975f5c5SAndroid Build Coastguard Worker return os;
304*8975f5c5SAndroid Build Coastguard Worker }
305*8975f5c5SAndroid Build Coastguard Worker
306*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)307*8975f5c5SAndroid Build Coastguard Worker TextureFormat FromEGLenum<TextureFormat>(EGLenum from)
308*8975f5c5SAndroid Build Coastguard Worker {
309*8975f5c5SAndroid Build Coastguard Worker switch (from)
310*8975f5c5SAndroid Build Coastguard Worker {
311*8975f5c5SAndroid Build Coastguard Worker case EGL_NO_TEXTURE:
312*8975f5c5SAndroid Build Coastguard Worker return TextureFormat::NoTexture;
313*8975f5c5SAndroid Build Coastguard Worker case EGL_TEXTURE_RGB:
314*8975f5c5SAndroid Build Coastguard Worker return TextureFormat::RGB;
315*8975f5c5SAndroid Build Coastguard Worker case EGL_TEXTURE_RGBA:
316*8975f5c5SAndroid Build Coastguard Worker return TextureFormat::RGBA;
317*8975f5c5SAndroid Build Coastguard Worker default:
318*8975f5c5SAndroid Build Coastguard Worker return TextureFormat::InvalidEnum;
319*8975f5c5SAndroid Build Coastguard Worker }
320*8975f5c5SAndroid Build Coastguard Worker }
321*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(TextureFormat from)322*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(TextureFormat from)
323*8975f5c5SAndroid Build Coastguard Worker {
324*8975f5c5SAndroid Build Coastguard Worker switch (from)
325*8975f5c5SAndroid Build Coastguard Worker {
326*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::NoTexture:
327*8975f5c5SAndroid Build Coastguard Worker return EGL_NO_TEXTURE;
328*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::RGB:
329*8975f5c5SAndroid Build Coastguard Worker return EGL_TEXTURE_RGB;
330*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::RGBA:
331*8975f5c5SAndroid Build Coastguard Worker return EGL_TEXTURE_RGBA;
332*8975f5c5SAndroid Build Coastguard Worker default:
333*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
334*8975f5c5SAndroid Build Coastguard Worker return 0;
335*8975f5c5SAndroid Build Coastguard Worker }
336*8975f5c5SAndroid Build Coastguard Worker }
337*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,TextureFormat value)338*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, TextureFormat value)
339*8975f5c5SAndroid Build Coastguard Worker {
340*8975f5c5SAndroid Build Coastguard Worker switch (value)
341*8975f5c5SAndroid Build Coastguard Worker {
342*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::NoTexture:
343*8975f5c5SAndroid Build Coastguard Worker os << "EGL_NO_TEXTURE";
344*8975f5c5SAndroid Build Coastguard Worker break;
345*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::RGB:
346*8975f5c5SAndroid Build Coastguard Worker os << "EGL_TEXTURE_RGB";
347*8975f5c5SAndroid Build Coastguard Worker break;
348*8975f5c5SAndroid Build Coastguard Worker case TextureFormat::RGBA:
349*8975f5c5SAndroid Build Coastguard Worker os << "EGL_TEXTURE_RGBA";
350*8975f5c5SAndroid Build Coastguard Worker break;
351*8975f5c5SAndroid Build Coastguard Worker default:
352*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
353*8975f5c5SAndroid Build Coastguard Worker break;
354*8975f5c5SAndroid Build Coastguard Worker }
355*8975f5c5SAndroid Build Coastguard Worker return os;
356*8975f5c5SAndroid Build Coastguard Worker }
357*8975f5c5SAndroid Build Coastguard Worker
358*8975f5c5SAndroid Build Coastguard Worker template <>
FromEGLenum(EGLenum from)359*8975f5c5SAndroid Build Coastguard Worker Timestamp FromEGLenum<Timestamp>(EGLenum from)
360*8975f5c5SAndroid Build Coastguard Worker {
361*8975f5c5SAndroid Build Coastguard Worker switch (from)
362*8975f5c5SAndroid Build Coastguard Worker {
363*8975f5c5SAndroid Build Coastguard Worker case EGL_REQUESTED_PRESENT_TIME_ANDROID:
364*8975f5c5SAndroid Build Coastguard Worker return Timestamp::RequestedPresentTime;
365*8975f5c5SAndroid Build Coastguard Worker case EGL_RENDERING_COMPLETE_TIME_ANDROID:
366*8975f5c5SAndroid Build Coastguard Worker return Timestamp::RenderingCompleteTime;
367*8975f5c5SAndroid Build Coastguard Worker case EGL_COMPOSITION_LATCH_TIME_ANDROID:
368*8975f5c5SAndroid Build Coastguard Worker return Timestamp::CompositionLatchTime;
369*8975f5c5SAndroid Build Coastguard Worker case EGL_FIRST_COMPOSITION_START_TIME_ANDROID:
370*8975f5c5SAndroid Build Coastguard Worker return Timestamp::FirstCompositionStartTime;
371*8975f5c5SAndroid Build Coastguard Worker case EGL_LAST_COMPOSITION_START_TIME_ANDROID:
372*8975f5c5SAndroid Build Coastguard Worker return Timestamp::LastCompositionStartTime;
373*8975f5c5SAndroid Build Coastguard Worker case EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID:
374*8975f5c5SAndroid Build Coastguard Worker return Timestamp::FirstCompositionGPUFinishedTime;
375*8975f5c5SAndroid Build Coastguard Worker case EGL_DISPLAY_PRESENT_TIME_ANDROID:
376*8975f5c5SAndroid Build Coastguard Worker return Timestamp::DisplayPresentTime;
377*8975f5c5SAndroid Build Coastguard Worker case EGL_DEQUEUE_READY_TIME_ANDROID:
378*8975f5c5SAndroid Build Coastguard Worker return Timestamp::DequeueReadyTime;
379*8975f5c5SAndroid Build Coastguard Worker case EGL_READS_DONE_TIME_ANDROID:
380*8975f5c5SAndroid Build Coastguard Worker return Timestamp::ReadsDoneTime;
381*8975f5c5SAndroid Build Coastguard Worker default:
382*8975f5c5SAndroid Build Coastguard Worker return Timestamp::InvalidEnum;
383*8975f5c5SAndroid Build Coastguard Worker }
384*8975f5c5SAndroid Build Coastguard Worker }
385*8975f5c5SAndroid Build Coastguard Worker
ToEGLenum(Timestamp from)386*8975f5c5SAndroid Build Coastguard Worker EGLenum ToEGLenum(Timestamp from)
387*8975f5c5SAndroid Build Coastguard Worker {
388*8975f5c5SAndroid Build Coastguard Worker switch (from)
389*8975f5c5SAndroid Build Coastguard Worker {
390*8975f5c5SAndroid Build Coastguard Worker case Timestamp::RequestedPresentTime:
391*8975f5c5SAndroid Build Coastguard Worker return EGL_REQUESTED_PRESENT_TIME_ANDROID;
392*8975f5c5SAndroid Build Coastguard Worker case Timestamp::RenderingCompleteTime:
393*8975f5c5SAndroid Build Coastguard Worker return EGL_RENDERING_COMPLETE_TIME_ANDROID;
394*8975f5c5SAndroid Build Coastguard Worker case Timestamp::CompositionLatchTime:
395*8975f5c5SAndroid Build Coastguard Worker return EGL_COMPOSITION_LATCH_TIME_ANDROID;
396*8975f5c5SAndroid Build Coastguard Worker case Timestamp::FirstCompositionStartTime:
397*8975f5c5SAndroid Build Coastguard Worker return EGL_FIRST_COMPOSITION_START_TIME_ANDROID;
398*8975f5c5SAndroid Build Coastguard Worker case Timestamp::LastCompositionStartTime:
399*8975f5c5SAndroid Build Coastguard Worker return EGL_LAST_COMPOSITION_START_TIME_ANDROID;
400*8975f5c5SAndroid Build Coastguard Worker case Timestamp::FirstCompositionGPUFinishedTime:
401*8975f5c5SAndroid Build Coastguard Worker return EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID;
402*8975f5c5SAndroid Build Coastguard Worker case Timestamp::DisplayPresentTime:
403*8975f5c5SAndroid Build Coastguard Worker return EGL_DISPLAY_PRESENT_TIME_ANDROID;
404*8975f5c5SAndroid Build Coastguard Worker case Timestamp::DequeueReadyTime:
405*8975f5c5SAndroid Build Coastguard Worker return EGL_DEQUEUE_READY_TIME_ANDROID;
406*8975f5c5SAndroid Build Coastguard Worker case Timestamp::ReadsDoneTime:
407*8975f5c5SAndroid Build Coastguard Worker return EGL_READS_DONE_TIME_ANDROID;
408*8975f5c5SAndroid Build Coastguard Worker default:
409*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
410*8975f5c5SAndroid Build Coastguard Worker return 0;
411*8975f5c5SAndroid Build Coastguard Worker }
412*8975f5c5SAndroid Build Coastguard Worker }
413*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,Timestamp value)414*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, Timestamp value)
415*8975f5c5SAndroid Build Coastguard Worker {
416*8975f5c5SAndroid Build Coastguard Worker switch (value)
417*8975f5c5SAndroid Build Coastguard Worker {
418*8975f5c5SAndroid Build Coastguard Worker case Timestamp::RequestedPresentTime:
419*8975f5c5SAndroid Build Coastguard Worker os << "EGL_REQUESTED_PRESENT_TIME_ANDROID";
420*8975f5c5SAndroid Build Coastguard Worker break;
421*8975f5c5SAndroid Build Coastguard Worker case Timestamp::RenderingCompleteTime:
422*8975f5c5SAndroid Build Coastguard Worker os << "EGL_RENDERING_COMPLETE_TIME_ANDROID";
423*8975f5c5SAndroid Build Coastguard Worker break;
424*8975f5c5SAndroid Build Coastguard Worker case Timestamp::CompositionLatchTime:
425*8975f5c5SAndroid Build Coastguard Worker os << "EGL_COMPOSITION_LATCH_TIME_ANDROID";
426*8975f5c5SAndroid Build Coastguard Worker break;
427*8975f5c5SAndroid Build Coastguard Worker case Timestamp::FirstCompositionStartTime:
428*8975f5c5SAndroid Build Coastguard Worker os << "EGL_FIRST_COMPOSITION_START_TIME_ANDROID";
429*8975f5c5SAndroid Build Coastguard Worker break;
430*8975f5c5SAndroid Build Coastguard Worker case Timestamp::LastCompositionStartTime:
431*8975f5c5SAndroid Build Coastguard Worker os << "EGL_LAST_COMPOSITION_START_TIME_ANDROID";
432*8975f5c5SAndroid Build Coastguard Worker break;
433*8975f5c5SAndroid Build Coastguard Worker case Timestamp::FirstCompositionGPUFinishedTime:
434*8975f5c5SAndroid Build Coastguard Worker os << "EGL_FIRST_COMPOSITION_GPU_FINISHED_TIME_ANDROID";
435*8975f5c5SAndroid Build Coastguard Worker break;
436*8975f5c5SAndroid Build Coastguard Worker case Timestamp::DisplayPresentTime:
437*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DISPLAY_PRESENT_TIME_ANDROID";
438*8975f5c5SAndroid Build Coastguard Worker break;
439*8975f5c5SAndroid Build Coastguard Worker case Timestamp::DequeueReadyTime:
440*8975f5c5SAndroid Build Coastguard Worker os << "EGL_DEQUEUE_READY_TIME_ANDROID";
441*8975f5c5SAndroid Build Coastguard Worker break;
442*8975f5c5SAndroid Build Coastguard Worker case Timestamp::ReadsDoneTime:
443*8975f5c5SAndroid Build Coastguard Worker os << "EGL_READS_DONE_TIME_ANDROID";
444*8975f5c5SAndroid Build Coastguard Worker break;
445*8975f5c5SAndroid Build Coastguard Worker default:
446*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
447*8975f5c5SAndroid Build Coastguard Worker break;
448*8975f5c5SAndroid Build Coastguard Worker }
449*8975f5c5SAndroid Build Coastguard Worker return os;
450*8975f5c5SAndroid Build Coastguard Worker }
451*8975f5c5SAndroid Build Coastguard Worker
452*8975f5c5SAndroid Build Coastguard Worker } // namespace egl
453