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_cl_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 // PackedCLEnums_autogen.cpp:
9*8975f5c5SAndroid Build Coastguard Worker // Implements ANGLE-specific enums classes for CLenums and functions operating
10*8975f5c5SAndroid Build Coastguard Worker // on them.
11*8975f5c5SAndroid Build Coastguard Worker
12*8975f5c5SAndroid Build Coastguard Worker #include "common/PackedCLEnums_autogen.h"
13*8975f5c5SAndroid Build Coastguard Worker #include "common/debug.h"
14*8975f5c5SAndroid Build Coastguard Worker
15*8975f5c5SAndroid Build Coastguard Worker namespace cl
16*8975f5c5SAndroid Build Coastguard Worker {
17*8975f5c5SAndroid Build Coastguard Worker
18*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)19*8975f5c5SAndroid Build Coastguard Worker AddressingMode FromCLenum<AddressingMode>(CLenum from)
20*8975f5c5SAndroid Build Coastguard Worker {
21*8975f5c5SAndroid Build Coastguard Worker switch (from)
22*8975f5c5SAndroid Build Coastguard Worker {
23*8975f5c5SAndroid Build Coastguard Worker case CL_ADDRESS_NONE:
24*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::None;
25*8975f5c5SAndroid Build Coastguard Worker case CL_ADDRESS_CLAMP_TO_EDGE:
26*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::ClampToEdge;
27*8975f5c5SAndroid Build Coastguard Worker case CL_ADDRESS_CLAMP:
28*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::Clamp;
29*8975f5c5SAndroid Build Coastguard Worker case CL_ADDRESS_REPEAT:
30*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::Repeat;
31*8975f5c5SAndroid Build Coastguard Worker case CL_ADDRESS_MIRRORED_REPEAT:
32*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::MirroredRepeat;
33*8975f5c5SAndroid Build Coastguard Worker default:
34*8975f5c5SAndroid Build Coastguard Worker return AddressingMode::InvalidEnum;
35*8975f5c5SAndroid Build Coastguard Worker }
36*8975f5c5SAndroid Build Coastguard Worker }
37*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(AddressingMode from)38*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(AddressingMode from)
39*8975f5c5SAndroid Build Coastguard Worker {
40*8975f5c5SAndroid Build Coastguard Worker switch (from)
41*8975f5c5SAndroid Build Coastguard Worker {
42*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::None:
43*8975f5c5SAndroid Build Coastguard Worker return CL_ADDRESS_NONE;
44*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::ClampToEdge:
45*8975f5c5SAndroid Build Coastguard Worker return CL_ADDRESS_CLAMP_TO_EDGE;
46*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::Clamp:
47*8975f5c5SAndroid Build Coastguard Worker return CL_ADDRESS_CLAMP;
48*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::Repeat:
49*8975f5c5SAndroid Build Coastguard Worker return CL_ADDRESS_REPEAT;
50*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::MirroredRepeat:
51*8975f5c5SAndroid Build Coastguard Worker return CL_ADDRESS_MIRRORED_REPEAT;
52*8975f5c5SAndroid Build Coastguard Worker default:
53*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
54*8975f5c5SAndroid Build Coastguard Worker return 0;
55*8975f5c5SAndroid Build Coastguard Worker }
56*8975f5c5SAndroid Build Coastguard Worker }
57*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,AddressingMode value)58*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, AddressingMode value)
59*8975f5c5SAndroid Build Coastguard Worker {
60*8975f5c5SAndroid Build Coastguard Worker switch (value)
61*8975f5c5SAndroid Build Coastguard Worker {
62*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::None:
63*8975f5c5SAndroid Build Coastguard Worker os << "CL_ADDRESS_NONE";
64*8975f5c5SAndroid Build Coastguard Worker break;
65*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::ClampToEdge:
66*8975f5c5SAndroid Build Coastguard Worker os << "CL_ADDRESS_CLAMP_TO_EDGE";
67*8975f5c5SAndroid Build Coastguard Worker break;
68*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::Clamp:
69*8975f5c5SAndroid Build Coastguard Worker os << "CL_ADDRESS_CLAMP";
70*8975f5c5SAndroid Build Coastguard Worker break;
71*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::Repeat:
72*8975f5c5SAndroid Build Coastguard Worker os << "CL_ADDRESS_REPEAT";
73*8975f5c5SAndroid Build Coastguard Worker break;
74*8975f5c5SAndroid Build Coastguard Worker case AddressingMode::MirroredRepeat:
75*8975f5c5SAndroid Build Coastguard Worker os << "CL_ADDRESS_MIRRORED_REPEAT";
76*8975f5c5SAndroid Build Coastguard Worker break;
77*8975f5c5SAndroid Build Coastguard Worker default:
78*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
79*8975f5c5SAndroid Build Coastguard Worker break;
80*8975f5c5SAndroid Build Coastguard Worker }
81*8975f5c5SAndroid Build Coastguard Worker return os;
82*8975f5c5SAndroid Build Coastguard Worker }
83*8975f5c5SAndroid Build Coastguard Worker
84*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)85*8975f5c5SAndroid Build Coastguard Worker CommandQueueInfo FromCLenum<CommandQueueInfo>(CLenum from)
86*8975f5c5SAndroid Build Coastguard Worker {
87*8975f5c5SAndroid Build Coastguard Worker switch (from)
88*8975f5c5SAndroid Build Coastguard Worker {
89*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_CONTEXT:
90*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::Context;
91*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_DEVICE:
92*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::Device;
93*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_REFERENCE_COUNT:
94*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::ReferenceCount;
95*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_PROPERTIES:
96*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::Properties;
97*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_SIZE:
98*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::Size;
99*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_DEVICE_DEFAULT:
100*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::DeviceDefault;
101*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUE_PROPERTIES_ARRAY:
102*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::PropertiesArray;
103*8975f5c5SAndroid Build Coastguard Worker default:
104*8975f5c5SAndroid Build Coastguard Worker return CommandQueueInfo::InvalidEnum;
105*8975f5c5SAndroid Build Coastguard Worker }
106*8975f5c5SAndroid Build Coastguard Worker }
107*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(CommandQueueInfo from)108*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(CommandQueueInfo from)
109*8975f5c5SAndroid Build Coastguard Worker {
110*8975f5c5SAndroid Build Coastguard Worker switch (from)
111*8975f5c5SAndroid Build Coastguard Worker {
112*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Context:
113*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_CONTEXT;
114*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Device:
115*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_DEVICE;
116*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::ReferenceCount:
117*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_REFERENCE_COUNT;
118*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Properties:
119*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_PROPERTIES;
120*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Size:
121*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_SIZE;
122*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::DeviceDefault:
123*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_DEVICE_DEFAULT;
124*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::PropertiesArray:
125*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUE_PROPERTIES_ARRAY;
126*8975f5c5SAndroid Build Coastguard Worker default:
127*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
128*8975f5c5SAndroid Build Coastguard Worker return 0;
129*8975f5c5SAndroid Build Coastguard Worker }
130*8975f5c5SAndroid Build Coastguard Worker }
131*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,CommandQueueInfo value)132*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, CommandQueueInfo value)
133*8975f5c5SAndroid Build Coastguard Worker {
134*8975f5c5SAndroid Build Coastguard Worker switch (value)
135*8975f5c5SAndroid Build Coastguard Worker {
136*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Context:
137*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_CONTEXT";
138*8975f5c5SAndroid Build Coastguard Worker break;
139*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Device:
140*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_DEVICE";
141*8975f5c5SAndroid Build Coastguard Worker break;
142*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::ReferenceCount:
143*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_REFERENCE_COUNT";
144*8975f5c5SAndroid Build Coastguard Worker break;
145*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Properties:
146*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_PROPERTIES";
147*8975f5c5SAndroid Build Coastguard Worker break;
148*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::Size:
149*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_SIZE";
150*8975f5c5SAndroid Build Coastguard Worker break;
151*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::DeviceDefault:
152*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_DEVICE_DEFAULT";
153*8975f5c5SAndroid Build Coastguard Worker break;
154*8975f5c5SAndroid Build Coastguard Worker case CommandQueueInfo::PropertiesArray:
155*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUE_PROPERTIES_ARRAY";
156*8975f5c5SAndroid Build Coastguard Worker break;
157*8975f5c5SAndroid Build Coastguard Worker default:
158*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
159*8975f5c5SAndroid Build Coastguard Worker break;
160*8975f5c5SAndroid Build Coastguard Worker }
161*8975f5c5SAndroid Build Coastguard Worker return os;
162*8975f5c5SAndroid Build Coastguard Worker }
163*8975f5c5SAndroid Build Coastguard Worker
164*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)165*8975f5c5SAndroid Build Coastguard Worker ContextInfo FromCLenum<ContextInfo>(CLenum from)
166*8975f5c5SAndroid Build Coastguard Worker {
167*8975f5c5SAndroid Build Coastguard Worker switch (from)
168*8975f5c5SAndroid Build Coastguard Worker {
169*8975f5c5SAndroid Build Coastguard Worker case CL_CONTEXT_REFERENCE_COUNT:
170*8975f5c5SAndroid Build Coastguard Worker return ContextInfo::ReferenceCount;
171*8975f5c5SAndroid Build Coastguard Worker case CL_CONTEXT_DEVICES:
172*8975f5c5SAndroid Build Coastguard Worker return ContextInfo::Devices;
173*8975f5c5SAndroid Build Coastguard Worker case CL_CONTEXT_PROPERTIES:
174*8975f5c5SAndroid Build Coastguard Worker return ContextInfo::Properties;
175*8975f5c5SAndroid Build Coastguard Worker case CL_CONTEXT_NUM_DEVICES:
176*8975f5c5SAndroid Build Coastguard Worker return ContextInfo::NumDevices;
177*8975f5c5SAndroid Build Coastguard Worker default:
178*8975f5c5SAndroid Build Coastguard Worker return ContextInfo::InvalidEnum;
179*8975f5c5SAndroid Build Coastguard Worker }
180*8975f5c5SAndroid Build Coastguard Worker }
181*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ContextInfo from)182*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ContextInfo from)
183*8975f5c5SAndroid Build Coastguard Worker {
184*8975f5c5SAndroid Build Coastguard Worker switch (from)
185*8975f5c5SAndroid Build Coastguard Worker {
186*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::ReferenceCount:
187*8975f5c5SAndroid Build Coastguard Worker return CL_CONTEXT_REFERENCE_COUNT;
188*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::Devices:
189*8975f5c5SAndroid Build Coastguard Worker return CL_CONTEXT_DEVICES;
190*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::Properties:
191*8975f5c5SAndroid Build Coastguard Worker return CL_CONTEXT_PROPERTIES;
192*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::NumDevices:
193*8975f5c5SAndroid Build Coastguard Worker return CL_CONTEXT_NUM_DEVICES;
194*8975f5c5SAndroid Build Coastguard Worker default:
195*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
196*8975f5c5SAndroid Build Coastguard Worker return 0;
197*8975f5c5SAndroid Build Coastguard Worker }
198*8975f5c5SAndroid Build Coastguard Worker }
199*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ContextInfo value)200*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ContextInfo value)
201*8975f5c5SAndroid Build Coastguard Worker {
202*8975f5c5SAndroid Build Coastguard Worker switch (value)
203*8975f5c5SAndroid Build Coastguard Worker {
204*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::ReferenceCount:
205*8975f5c5SAndroid Build Coastguard Worker os << "CL_CONTEXT_REFERENCE_COUNT";
206*8975f5c5SAndroid Build Coastguard Worker break;
207*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::Devices:
208*8975f5c5SAndroid Build Coastguard Worker os << "CL_CONTEXT_DEVICES";
209*8975f5c5SAndroid Build Coastguard Worker break;
210*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::Properties:
211*8975f5c5SAndroid Build Coastguard Worker os << "CL_CONTEXT_PROPERTIES";
212*8975f5c5SAndroid Build Coastguard Worker break;
213*8975f5c5SAndroid Build Coastguard Worker case ContextInfo::NumDevices:
214*8975f5c5SAndroid Build Coastguard Worker os << "CL_CONTEXT_NUM_DEVICES";
215*8975f5c5SAndroid Build Coastguard Worker break;
216*8975f5c5SAndroid Build Coastguard Worker default:
217*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
218*8975f5c5SAndroid Build Coastguard Worker break;
219*8975f5c5SAndroid Build Coastguard Worker }
220*8975f5c5SAndroid Build Coastguard Worker return os;
221*8975f5c5SAndroid Build Coastguard Worker }
222*8975f5c5SAndroid Build Coastguard Worker
223*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)224*8975f5c5SAndroid Build Coastguard Worker DeviceInfo FromCLenum<DeviceInfo>(CLenum from)
225*8975f5c5SAndroid Build Coastguard Worker {
226*8975f5c5SAndroid Build Coastguard Worker switch (from)
227*8975f5c5SAndroid Build Coastguard Worker {
228*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_TYPE:
229*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Type;
230*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_VENDOR_ID:
231*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::VendorID;
232*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_COMPUTE_UNITS:
233*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxComputeUnits;
234*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS:
235*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxWorkItemDimensions;
236*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_WORK_GROUP_SIZE:
237*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxWorkGroupSize;
238*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_WORK_ITEM_SIZES:
239*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxWorkItemSizes;
240*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR:
241*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthChar;
242*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT:
243*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthShort;
244*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT:
245*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthInt;
246*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG:
247*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthLong;
248*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT:
249*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthFloat;
250*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE:
251*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthDouble;
252*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_CLOCK_FREQUENCY:
253*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxClockFrequency;
254*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ADDRESS_BITS:
255*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::AddressBits;
256*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_READ_IMAGE_ARGS:
257*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxReadImageArgs;
258*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_WRITE_IMAGE_ARGS:
259*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxWriteImageArgs;
260*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_MEM_ALLOC_SIZE:
261*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxMemAllocSize;
262*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE2D_MAX_WIDTH:
263*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Image2D_MaxWidth;
264*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE2D_MAX_HEIGHT:
265*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Image2D_MaxHeight;
266*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE3D_MAX_WIDTH:
267*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Image3D_MaxWidth;
268*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE3D_MAX_HEIGHT:
269*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Image3D_MaxHeight;
270*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE3D_MAX_DEPTH:
271*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Image3D_MaxDepth;
272*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE_SUPPORT:
273*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ImageSupport;
274*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_PARAMETER_SIZE:
275*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxParameterSize;
276*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_SAMPLERS:
277*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxSamplers;
278*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MEM_BASE_ADDR_ALIGN:
279*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MemBaseAddrAlign;
280*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE:
281*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MinDataTypeAlignSize;
282*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_SINGLE_FP_CONFIG:
283*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::SingleFpConfig;
284*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GLOBAL_MEM_CACHE_TYPE:
285*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GlobalMemCacheType;
286*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE:
287*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GlobalMemCachelineSize;
288*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GLOBAL_MEM_CACHE_SIZE:
289*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GlobalMemCacheSize;
290*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GLOBAL_MEM_SIZE:
291*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GlobalMemSize;
292*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE:
293*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxConstantBufferSize;
294*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_CONSTANT_ARGS:
295*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxConstantArgs;
296*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_LOCAL_MEM_TYPE:
297*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::LocalMemType;
298*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_LOCAL_MEM_SIZE:
299*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::LocalMemSize;
300*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ERROR_CORRECTION_SUPPORT:
301*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ErrorCorrectionSupport;
302*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PROFILING_TIMER_RESOLUTION:
303*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ProfilingTimerResolution;
304*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ENDIAN_LITTLE:
305*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::EndianLittle;
306*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_AVAILABLE:
307*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Available;
308*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_COMPILER_AVAILABLE:
309*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::CompilerAvailable;
310*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_EXECUTION_CAPABILITIES:
311*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ExecutionCapabilities;
312*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_QUEUE_ON_HOST_PROPERTIES:
313*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::QueueOnHostProperties;
314*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NAME:
315*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Name;
316*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_VENDOR:
317*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Vendor;
318*8975f5c5SAndroid Build Coastguard Worker case CL_DRIVER_VERSION:
319*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::DriverVersion;
320*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PROFILE:
321*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Profile;
322*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_VERSION:
323*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Version;
324*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_EXTENSIONS:
325*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Extensions;
326*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PLATFORM:
327*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::Platform;
328*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_DOUBLE_FP_CONFIG:
329*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::DoubleFpConfig;
330*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_HALF_FP_CONFIG:
331*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::HalfFpConfig;
332*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF:
333*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredVectorWidthHalf;
334*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_HOST_UNIFIED_MEMORY:
335*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::HostUnifiedMemory;
336*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR:
337*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthChar;
338*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT:
339*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthShort;
340*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_INT:
341*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthInt;
342*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG:
343*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthLong;
344*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT:
345*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthFloat;
346*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE:
347*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthDouble;
348*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF:
349*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NativeVectorWidthHalf;
350*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_OPENCL_C_VERSION:
351*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::OpenCL_C_Version;
352*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_LINKER_AVAILABLE:
353*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::LinkerAvailable;
354*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_BUILT_IN_KERNELS:
355*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::BuiltInKernels;
356*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE_MAX_BUFFER_SIZE:
357*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ImageMaxBufferSize;
358*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE_MAX_ARRAY_SIZE:
359*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ImageMaxArraySize;
360*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PARENT_DEVICE:
361*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ParentDevice;
362*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PARTITION_MAX_SUB_DEVICES:
363*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PartitionMaxSubDevices;
364*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PARTITION_PROPERTIES:
365*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PartitionProperties;
366*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PARTITION_AFFINITY_DOMAIN:
367*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PartitionAffinityDomain;
368*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PARTITION_TYPE:
369*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PartitionType;
370*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_REFERENCE_COUNT:
371*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ReferenceCount;
372*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_INTEROP_USER_SYNC:
373*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredInteropUserSync;
374*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PRINTF_BUFFER_SIZE:
375*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PrintfBufferSize;
376*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE_PITCH_ALIGNMENT:
377*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ImagePitchAlignment;
378*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT:
379*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ImageBaseAddressAlignment;
380*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS:
381*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxReadWriteImageArgs;
382*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE:
383*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxGlobalVariableSize;
384*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES:
385*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::QueueOnDeviceProperties;
386*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE:
387*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::QueueOnDevicePreferredSize;
388*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE:
389*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::QueueOnDeviceMaxSize;
390*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_ON_DEVICE_QUEUES:
391*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxOnDeviceQueues;
392*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_ON_DEVICE_EVENTS:
393*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxOnDeviceEvents;
394*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_SVM_CAPABILITIES:
395*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::SVM_Capabilities;
396*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE:
397*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GlobalVariablePreferredTotalSize;
398*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_PIPE_ARGS:
399*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxPipeArgs;
400*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS:
401*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PipeMaxActiveReservations;
402*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PIPE_MAX_PACKET_SIZE:
403*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PipeMaxPacketSize;
404*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT:
405*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredPlatformAtomicAlignment;
406*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT:
407*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredGlobalAtomicAlignment;
408*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT:
409*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredLocalAtomicAlignment;
410*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_IL_VERSION:
411*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::IL_Version;
412*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_MAX_NUM_SUB_GROUPS:
413*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::MaxNumSubGroups;
414*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS:
415*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::SubGroupIndependentForwardProgress;
416*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NUMERIC_VERSION:
417*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NumericVersion;
418*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_EXTENSIONS_WITH_VERSION:
419*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ExtensionsWithVersion;
420*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ILS_WITH_VERSION:
421*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::ILsWithVersion;
422*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION:
423*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::BuiltInKernelsWithVersion;
424*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES:
425*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::AtomicMemoryCapabilities;
426*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_ATOMIC_FENCE_CAPABILITIES:
427*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::AtomicFenceCapabilities;
428*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT:
429*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::NonUniformWorkGroupSupport;
430*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_OPENCL_C_ALL_VERSIONS:
431*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::OpenCL_C_AllVersions;
432*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE:
433*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PreferredWorkGroupSizeMultiple;
434*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT:
435*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::WorkGroupCollectiveFunctionsSupport;
436*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT:
437*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::GenericAddressSpaceSupport;
438*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_OPENCL_C_FEATURES:
439*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::OpenCL_C_Features;
440*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES:
441*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::DeviceEnqueueCapabilities;
442*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_PIPE_SUPPORT:
443*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::PipeSupport;
444*8975f5c5SAndroid Build Coastguard Worker case CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED:
445*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::LatestConformanceVersionPassed;
446*8975f5c5SAndroid Build Coastguard Worker default:
447*8975f5c5SAndroid Build Coastguard Worker return DeviceInfo::InvalidEnum;
448*8975f5c5SAndroid Build Coastguard Worker }
449*8975f5c5SAndroid Build Coastguard Worker }
450*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(DeviceInfo from)451*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(DeviceInfo from)
452*8975f5c5SAndroid Build Coastguard Worker {
453*8975f5c5SAndroid Build Coastguard Worker switch (from)
454*8975f5c5SAndroid Build Coastguard Worker {
455*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Type:
456*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_TYPE;
457*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::VendorID:
458*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_VENDOR_ID;
459*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxComputeUnits:
460*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_COMPUTE_UNITS;
461*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkItemDimensions:
462*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS;
463*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkGroupSize:
464*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_WORK_GROUP_SIZE;
465*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkItemSizes:
466*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_WORK_ITEM_SIZES;
467*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthChar:
468*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR;
469*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthShort:
470*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT;
471*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthInt:
472*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT;
473*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthLong:
474*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG;
475*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthFloat:
476*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT;
477*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthDouble:
478*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE;
479*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxClockFrequency:
480*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_CLOCK_FREQUENCY;
481*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AddressBits:
482*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ADDRESS_BITS;
483*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxReadImageArgs:
484*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_READ_IMAGE_ARGS;
485*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWriteImageArgs:
486*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_WRITE_IMAGE_ARGS;
487*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxMemAllocSize:
488*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_MEM_ALLOC_SIZE;
489*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image2D_MaxWidth:
490*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE2D_MAX_WIDTH;
491*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image2D_MaxHeight:
492*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE2D_MAX_HEIGHT;
493*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxWidth:
494*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE3D_MAX_WIDTH;
495*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxHeight:
496*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE3D_MAX_HEIGHT;
497*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxDepth:
498*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE3D_MAX_DEPTH;
499*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageSupport:
500*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE_SUPPORT;
501*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxParameterSize:
502*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_PARAMETER_SIZE;
503*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxSamplers:
504*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_SAMPLERS;
505*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MemBaseAddrAlign:
506*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MEM_BASE_ADDR_ALIGN;
507*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MinDataTypeAlignSize:
508*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE;
509*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SingleFpConfig:
510*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_SINGLE_FP_CONFIG;
511*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCacheType:
512*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GLOBAL_MEM_CACHE_TYPE;
513*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCachelineSize:
514*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE;
515*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCacheSize:
516*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GLOBAL_MEM_CACHE_SIZE;
517*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemSize:
518*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GLOBAL_MEM_SIZE;
519*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxConstantBufferSize:
520*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE;
521*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxConstantArgs:
522*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_CONSTANT_ARGS;
523*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LocalMemType:
524*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_LOCAL_MEM_TYPE;
525*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LocalMemSize:
526*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_LOCAL_MEM_SIZE;
527*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ErrorCorrectionSupport:
528*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ERROR_CORRECTION_SUPPORT;
529*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ProfilingTimerResolution:
530*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PROFILING_TIMER_RESOLUTION;
531*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::EndianLittle:
532*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ENDIAN_LITTLE;
533*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Available:
534*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_AVAILABLE;
535*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::CompilerAvailable:
536*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_COMPILER_AVAILABLE;
537*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ExecutionCapabilities:
538*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_EXECUTION_CAPABILITIES;
539*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnHostProperties:
540*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_QUEUE_ON_HOST_PROPERTIES;
541*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Name:
542*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NAME;
543*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Vendor:
544*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_VENDOR;
545*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DriverVersion:
546*8975f5c5SAndroid Build Coastguard Worker return CL_DRIVER_VERSION;
547*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Profile:
548*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PROFILE;
549*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Version:
550*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_VERSION;
551*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Extensions:
552*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_EXTENSIONS;
553*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Platform:
554*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PLATFORM;
555*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DoubleFpConfig:
556*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_DOUBLE_FP_CONFIG;
557*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::HalfFpConfig:
558*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_HALF_FP_CONFIG;
559*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthHalf:
560*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF;
561*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::HostUnifiedMemory:
562*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_HOST_UNIFIED_MEMORY;
563*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthChar:
564*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR;
565*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthShort:
566*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT;
567*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthInt:
568*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_INT;
569*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthLong:
570*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG;
571*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthFloat:
572*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT;
573*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthDouble:
574*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE;
575*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthHalf:
576*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF;
577*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_Version:
578*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_OPENCL_C_VERSION;
579*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LinkerAvailable:
580*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_LINKER_AVAILABLE;
581*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::BuiltInKernels:
582*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_BUILT_IN_KERNELS;
583*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageMaxBufferSize:
584*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE_MAX_BUFFER_SIZE;
585*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageMaxArraySize:
586*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE_MAX_ARRAY_SIZE;
587*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ParentDevice:
588*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PARENT_DEVICE;
589*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionMaxSubDevices:
590*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PARTITION_MAX_SUB_DEVICES;
591*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionProperties:
592*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PARTITION_PROPERTIES;
593*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionAffinityDomain:
594*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PARTITION_AFFINITY_DOMAIN;
595*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionType:
596*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PARTITION_TYPE;
597*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ReferenceCount:
598*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_REFERENCE_COUNT;
599*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredInteropUserSync:
600*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_INTEROP_USER_SYNC;
601*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PrintfBufferSize:
602*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PRINTF_BUFFER_SIZE;
603*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImagePitchAlignment:
604*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE_PITCH_ALIGNMENT;
605*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageBaseAddressAlignment:
606*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT;
607*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxReadWriteImageArgs:
608*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS;
609*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxGlobalVariableSize:
610*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE;
611*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDeviceProperties:
612*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES;
613*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDevicePreferredSize:
614*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE;
615*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDeviceMaxSize:
616*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE;
617*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxOnDeviceQueues:
618*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_ON_DEVICE_QUEUES;
619*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxOnDeviceEvents:
620*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_ON_DEVICE_EVENTS;
621*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SVM_Capabilities:
622*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_SVM_CAPABILITIES;
623*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalVariablePreferredTotalSize:
624*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE;
625*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxPipeArgs:
626*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_PIPE_ARGS;
627*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeMaxActiveReservations:
628*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS;
629*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeMaxPacketSize:
630*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PIPE_MAX_PACKET_SIZE;
631*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredPlatformAtomicAlignment:
632*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT;
633*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredGlobalAtomicAlignment:
634*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT;
635*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredLocalAtomicAlignment:
636*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT;
637*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::IL_Version:
638*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_IL_VERSION;
639*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxNumSubGroups:
640*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_MAX_NUM_SUB_GROUPS;
641*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SubGroupIndependentForwardProgress:
642*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS;
643*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NumericVersion:
644*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NUMERIC_VERSION;
645*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ExtensionsWithVersion:
646*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_EXTENSIONS_WITH_VERSION;
647*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ILsWithVersion:
648*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ILS_WITH_VERSION;
649*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::BuiltInKernelsWithVersion:
650*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION;
651*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AtomicMemoryCapabilities:
652*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES;
653*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AtomicFenceCapabilities:
654*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_ATOMIC_FENCE_CAPABILITIES;
655*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NonUniformWorkGroupSupport:
656*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT;
657*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_AllVersions:
658*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_OPENCL_C_ALL_VERSIONS;
659*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredWorkGroupSizeMultiple:
660*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE;
661*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::WorkGroupCollectiveFunctionsSupport:
662*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT;
663*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GenericAddressSpaceSupport:
664*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT;
665*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_Features:
666*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_OPENCL_C_FEATURES;
667*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DeviceEnqueueCapabilities:
668*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES;
669*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeSupport:
670*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_PIPE_SUPPORT;
671*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LatestConformanceVersionPassed:
672*8975f5c5SAndroid Build Coastguard Worker return CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED;
673*8975f5c5SAndroid Build Coastguard Worker default:
674*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
675*8975f5c5SAndroid Build Coastguard Worker return 0;
676*8975f5c5SAndroid Build Coastguard Worker }
677*8975f5c5SAndroid Build Coastguard Worker }
678*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,DeviceInfo value)679*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, DeviceInfo value)
680*8975f5c5SAndroid Build Coastguard Worker {
681*8975f5c5SAndroid Build Coastguard Worker switch (value)
682*8975f5c5SAndroid Build Coastguard Worker {
683*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Type:
684*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_TYPE";
685*8975f5c5SAndroid Build Coastguard Worker break;
686*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::VendorID:
687*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_VENDOR_ID";
688*8975f5c5SAndroid Build Coastguard Worker break;
689*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxComputeUnits:
690*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_COMPUTE_UNITS";
691*8975f5c5SAndroid Build Coastguard Worker break;
692*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkItemDimensions:
693*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS";
694*8975f5c5SAndroid Build Coastguard Worker break;
695*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkGroupSize:
696*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_WORK_GROUP_SIZE";
697*8975f5c5SAndroid Build Coastguard Worker break;
698*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWorkItemSizes:
699*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_WORK_ITEM_SIZES";
700*8975f5c5SAndroid Build Coastguard Worker break;
701*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthChar:
702*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR";
703*8975f5c5SAndroid Build Coastguard Worker break;
704*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthShort:
705*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT";
706*8975f5c5SAndroid Build Coastguard Worker break;
707*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthInt:
708*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT";
709*8975f5c5SAndroid Build Coastguard Worker break;
710*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthLong:
711*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG";
712*8975f5c5SAndroid Build Coastguard Worker break;
713*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthFloat:
714*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT";
715*8975f5c5SAndroid Build Coastguard Worker break;
716*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthDouble:
717*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE";
718*8975f5c5SAndroid Build Coastguard Worker break;
719*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxClockFrequency:
720*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_CLOCK_FREQUENCY";
721*8975f5c5SAndroid Build Coastguard Worker break;
722*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AddressBits:
723*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ADDRESS_BITS";
724*8975f5c5SAndroid Build Coastguard Worker break;
725*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxReadImageArgs:
726*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_READ_IMAGE_ARGS";
727*8975f5c5SAndroid Build Coastguard Worker break;
728*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxWriteImageArgs:
729*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_WRITE_IMAGE_ARGS";
730*8975f5c5SAndroid Build Coastguard Worker break;
731*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxMemAllocSize:
732*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_MEM_ALLOC_SIZE";
733*8975f5c5SAndroid Build Coastguard Worker break;
734*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image2D_MaxWidth:
735*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE2D_MAX_WIDTH";
736*8975f5c5SAndroid Build Coastguard Worker break;
737*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image2D_MaxHeight:
738*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE2D_MAX_HEIGHT";
739*8975f5c5SAndroid Build Coastguard Worker break;
740*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxWidth:
741*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE3D_MAX_WIDTH";
742*8975f5c5SAndroid Build Coastguard Worker break;
743*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxHeight:
744*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE3D_MAX_HEIGHT";
745*8975f5c5SAndroid Build Coastguard Worker break;
746*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Image3D_MaxDepth:
747*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE3D_MAX_DEPTH";
748*8975f5c5SAndroid Build Coastguard Worker break;
749*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageSupport:
750*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE_SUPPORT";
751*8975f5c5SAndroid Build Coastguard Worker break;
752*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxParameterSize:
753*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_PARAMETER_SIZE";
754*8975f5c5SAndroid Build Coastguard Worker break;
755*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxSamplers:
756*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_SAMPLERS";
757*8975f5c5SAndroid Build Coastguard Worker break;
758*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MemBaseAddrAlign:
759*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MEM_BASE_ADDR_ALIGN";
760*8975f5c5SAndroid Build Coastguard Worker break;
761*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MinDataTypeAlignSize:
762*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE";
763*8975f5c5SAndroid Build Coastguard Worker break;
764*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SingleFpConfig:
765*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_SINGLE_FP_CONFIG";
766*8975f5c5SAndroid Build Coastguard Worker break;
767*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCacheType:
768*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GLOBAL_MEM_CACHE_TYPE";
769*8975f5c5SAndroid Build Coastguard Worker break;
770*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCachelineSize:
771*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE";
772*8975f5c5SAndroid Build Coastguard Worker break;
773*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemCacheSize:
774*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GLOBAL_MEM_CACHE_SIZE";
775*8975f5c5SAndroid Build Coastguard Worker break;
776*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalMemSize:
777*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GLOBAL_MEM_SIZE";
778*8975f5c5SAndroid Build Coastguard Worker break;
779*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxConstantBufferSize:
780*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE";
781*8975f5c5SAndroid Build Coastguard Worker break;
782*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxConstantArgs:
783*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_CONSTANT_ARGS";
784*8975f5c5SAndroid Build Coastguard Worker break;
785*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LocalMemType:
786*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_LOCAL_MEM_TYPE";
787*8975f5c5SAndroid Build Coastguard Worker break;
788*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LocalMemSize:
789*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_LOCAL_MEM_SIZE";
790*8975f5c5SAndroid Build Coastguard Worker break;
791*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ErrorCorrectionSupport:
792*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ERROR_CORRECTION_SUPPORT";
793*8975f5c5SAndroid Build Coastguard Worker break;
794*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ProfilingTimerResolution:
795*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PROFILING_TIMER_RESOLUTION";
796*8975f5c5SAndroid Build Coastguard Worker break;
797*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::EndianLittle:
798*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ENDIAN_LITTLE";
799*8975f5c5SAndroid Build Coastguard Worker break;
800*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Available:
801*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_AVAILABLE";
802*8975f5c5SAndroid Build Coastguard Worker break;
803*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::CompilerAvailable:
804*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_COMPILER_AVAILABLE";
805*8975f5c5SAndroid Build Coastguard Worker break;
806*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ExecutionCapabilities:
807*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_EXECUTION_CAPABILITIES";
808*8975f5c5SAndroid Build Coastguard Worker break;
809*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnHostProperties:
810*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_QUEUE_ON_HOST_PROPERTIES";
811*8975f5c5SAndroid Build Coastguard Worker break;
812*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Name:
813*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NAME";
814*8975f5c5SAndroid Build Coastguard Worker break;
815*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Vendor:
816*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_VENDOR";
817*8975f5c5SAndroid Build Coastguard Worker break;
818*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DriverVersion:
819*8975f5c5SAndroid Build Coastguard Worker os << "CL_DRIVER_VERSION";
820*8975f5c5SAndroid Build Coastguard Worker break;
821*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Profile:
822*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PROFILE";
823*8975f5c5SAndroid Build Coastguard Worker break;
824*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Version:
825*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_VERSION";
826*8975f5c5SAndroid Build Coastguard Worker break;
827*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Extensions:
828*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_EXTENSIONS";
829*8975f5c5SAndroid Build Coastguard Worker break;
830*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::Platform:
831*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PLATFORM";
832*8975f5c5SAndroid Build Coastguard Worker break;
833*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DoubleFpConfig:
834*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_DOUBLE_FP_CONFIG";
835*8975f5c5SAndroid Build Coastguard Worker break;
836*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::HalfFpConfig:
837*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_HALF_FP_CONFIG";
838*8975f5c5SAndroid Build Coastguard Worker break;
839*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredVectorWidthHalf:
840*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF";
841*8975f5c5SAndroid Build Coastguard Worker break;
842*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::HostUnifiedMemory:
843*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_HOST_UNIFIED_MEMORY";
844*8975f5c5SAndroid Build Coastguard Worker break;
845*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthChar:
846*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR";
847*8975f5c5SAndroid Build Coastguard Worker break;
848*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthShort:
849*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT";
850*8975f5c5SAndroid Build Coastguard Worker break;
851*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthInt:
852*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_INT";
853*8975f5c5SAndroid Build Coastguard Worker break;
854*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthLong:
855*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG";
856*8975f5c5SAndroid Build Coastguard Worker break;
857*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthFloat:
858*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT";
859*8975f5c5SAndroid Build Coastguard Worker break;
860*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthDouble:
861*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE";
862*8975f5c5SAndroid Build Coastguard Worker break;
863*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NativeVectorWidthHalf:
864*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NATIVE_VECTOR_WIDTH_HALF";
865*8975f5c5SAndroid Build Coastguard Worker break;
866*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_Version:
867*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_OPENCL_C_VERSION";
868*8975f5c5SAndroid Build Coastguard Worker break;
869*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LinkerAvailable:
870*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_LINKER_AVAILABLE";
871*8975f5c5SAndroid Build Coastguard Worker break;
872*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::BuiltInKernels:
873*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_BUILT_IN_KERNELS";
874*8975f5c5SAndroid Build Coastguard Worker break;
875*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageMaxBufferSize:
876*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE_MAX_BUFFER_SIZE";
877*8975f5c5SAndroid Build Coastguard Worker break;
878*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageMaxArraySize:
879*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE_MAX_ARRAY_SIZE";
880*8975f5c5SAndroid Build Coastguard Worker break;
881*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ParentDevice:
882*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PARENT_DEVICE";
883*8975f5c5SAndroid Build Coastguard Worker break;
884*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionMaxSubDevices:
885*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PARTITION_MAX_SUB_DEVICES";
886*8975f5c5SAndroid Build Coastguard Worker break;
887*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionProperties:
888*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PARTITION_PROPERTIES";
889*8975f5c5SAndroid Build Coastguard Worker break;
890*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionAffinityDomain:
891*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PARTITION_AFFINITY_DOMAIN";
892*8975f5c5SAndroid Build Coastguard Worker break;
893*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PartitionType:
894*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PARTITION_TYPE";
895*8975f5c5SAndroid Build Coastguard Worker break;
896*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ReferenceCount:
897*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_REFERENCE_COUNT";
898*8975f5c5SAndroid Build Coastguard Worker break;
899*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredInteropUserSync:
900*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_INTEROP_USER_SYNC";
901*8975f5c5SAndroid Build Coastguard Worker break;
902*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PrintfBufferSize:
903*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PRINTF_BUFFER_SIZE";
904*8975f5c5SAndroid Build Coastguard Worker break;
905*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImagePitchAlignment:
906*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE_PITCH_ALIGNMENT";
907*8975f5c5SAndroid Build Coastguard Worker break;
908*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ImageBaseAddressAlignment:
909*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IMAGE_BASE_ADDRESS_ALIGNMENT";
910*8975f5c5SAndroid Build Coastguard Worker break;
911*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxReadWriteImageArgs:
912*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_READ_WRITE_IMAGE_ARGS";
913*8975f5c5SAndroid Build Coastguard Worker break;
914*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxGlobalVariableSize:
915*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_GLOBAL_VARIABLE_SIZE";
916*8975f5c5SAndroid Build Coastguard Worker break;
917*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDeviceProperties:
918*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_QUEUE_ON_DEVICE_PROPERTIES";
919*8975f5c5SAndroid Build Coastguard Worker break;
920*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDevicePreferredSize:
921*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_QUEUE_ON_DEVICE_PREFERRED_SIZE";
922*8975f5c5SAndroid Build Coastguard Worker break;
923*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::QueueOnDeviceMaxSize:
924*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_QUEUE_ON_DEVICE_MAX_SIZE";
925*8975f5c5SAndroid Build Coastguard Worker break;
926*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxOnDeviceQueues:
927*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_ON_DEVICE_QUEUES";
928*8975f5c5SAndroid Build Coastguard Worker break;
929*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxOnDeviceEvents:
930*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_ON_DEVICE_EVENTS";
931*8975f5c5SAndroid Build Coastguard Worker break;
932*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SVM_Capabilities:
933*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_SVM_CAPABILITIES";
934*8975f5c5SAndroid Build Coastguard Worker break;
935*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GlobalVariablePreferredTotalSize:
936*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GLOBAL_VARIABLE_PREFERRED_TOTAL_SIZE";
937*8975f5c5SAndroid Build Coastguard Worker break;
938*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxPipeArgs:
939*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_PIPE_ARGS";
940*8975f5c5SAndroid Build Coastguard Worker break;
941*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeMaxActiveReservations:
942*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS";
943*8975f5c5SAndroid Build Coastguard Worker break;
944*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeMaxPacketSize:
945*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PIPE_MAX_PACKET_SIZE";
946*8975f5c5SAndroid Build Coastguard Worker break;
947*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredPlatformAtomicAlignment:
948*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_PLATFORM_ATOMIC_ALIGNMENT";
949*8975f5c5SAndroid Build Coastguard Worker break;
950*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredGlobalAtomicAlignment:
951*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_GLOBAL_ATOMIC_ALIGNMENT";
952*8975f5c5SAndroid Build Coastguard Worker break;
953*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredLocalAtomicAlignment:
954*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT";
955*8975f5c5SAndroid Build Coastguard Worker break;
956*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::IL_Version:
957*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_IL_VERSION";
958*8975f5c5SAndroid Build Coastguard Worker break;
959*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::MaxNumSubGroups:
960*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_MAX_NUM_SUB_GROUPS";
961*8975f5c5SAndroid Build Coastguard Worker break;
962*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::SubGroupIndependentForwardProgress:
963*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS";
964*8975f5c5SAndroid Build Coastguard Worker break;
965*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NumericVersion:
966*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NUMERIC_VERSION";
967*8975f5c5SAndroid Build Coastguard Worker break;
968*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ExtensionsWithVersion:
969*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_EXTENSIONS_WITH_VERSION";
970*8975f5c5SAndroid Build Coastguard Worker break;
971*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::ILsWithVersion:
972*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ILS_WITH_VERSION";
973*8975f5c5SAndroid Build Coastguard Worker break;
974*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::BuiltInKernelsWithVersion:
975*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_BUILT_IN_KERNELS_WITH_VERSION";
976*8975f5c5SAndroid Build Coastguard Worker break;
977*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AtomicMemoryCapabilities:
978*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ATOMIC_MEMORY_CAPABILITIES";
979*8975f5c5SAndroid Build Coastguard Worker break;
980*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::AtomicFenceCapabilities:
981*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_ATOMIC_FENCE_CAPABILITIES";
982*8975f5c5SAndroid Build Coastguard Worker break;
983*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::NonUniformWorkGroupSupport:
984*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT";
985*8975f5c5SAndroid Build Coastguard Worker break;
986*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_AllVersions:
987*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_OPENCL_C_ALL_VERSIONS";
988*8975f5c5SAndroid Build Coastguard Worker break;
989*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PreferredWorkGroupSizeMultiple:
990*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PREFERRED_WORK_GROUP_SIZE_MULTIPLE";
991*8975f5c5SAndroid Build Coastguard Worker break;
992*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::WorkGroupCollectiveFunctionsSupport:
993*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_WORK_GROUP_COLLECTIVE_FUNCTIONS_SUPPORT";
994*8975f5c5SAndroid Build Coastguard Worker break;
995*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::GenericAddressSpaceSupport:
996*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT";
997*8975f5c5SAndroid Build Coastguard Worker break;
998*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::OpenCL_C_Features:
999*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_OPENCL_C_FEATURES";
1000*8975f5c5SAndroid Build Coastguard Worker break;
1001*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::DeviceEnqueueCapabilities:
1002*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES";
1003*8975f5c5SAndroid Build Coastguard Worker break;
1004*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::PipeSupport:
1005*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_PIPE_SUPPORT";
1006*8975f5c5SAndroid Build Coastguard Worker break;
1007*8975f5c5SAndroid Build Coastguard Worker case DeviceInfo::LatestConformanceVersionPassed:
1008*8975f5c5SAndroid Build Coastguard Worker os << "CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED";
1009*8975f5c5SAndroid Build Coastguard Worker break;
1010*8975f5c5SAndroid Build Coastguard Worker default:
1011*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1012*8975f5c5SAndroid Build Coastguard Worker break;
1013*8975f5c5SAndroid Build Coastguard Worker }
1014*8975f5c5SAndroid Build Coastguard Worker return os;
1015*8975f5c5SAndroid Build Coastguard Worker }
1016*8975f5c5SAndroid Build Coastguard Worker
1017*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1018*8975f5c5SAndroid Build Coastguard Worker EventInfo FromCLenum<EventInfo>(CLenum from)
1019*8975f5c5SAndroid Build Coastguard Worker {
1020*8975f5c5SAndroid Build Coastguard Worker switch (from)
1021*8975f5c5SAndroid Build Coastguard Worker {
1022*8975f5c5SAndroid Build Coastguard Worker case CL_EVENT_COMMAND_QUEUE:
1023*8975f5c5SAndroid Build Coastguard Worker return EventInfo::CommandQueue;
1024*8975f5c5SAndroid Build Coastguard Worker case CL_EVENT_COMMAND_TYPE:
1025*8975f5c5SAndroid Build Coastguard Worker return EventInfo::CommandType;
1026*8975f5c5SAndroid Build Coastguard Worker case CL_EVENT_REFERENCE_COUNT:
1027*8975f5c5SAndroid Build Coastguard Worker return EventInfo::ReferenceCount;
1028*8975f5c5SAndroid Build Coastguard Worker case CL_EVENT_COMMAND_EXECUTION_STATUS:
1029*8975f5c5SAndroid Build Coastguard Worker return EventInfo::CommandExecutionStatus;
1030*8975f5c5SAndroid Build Coastguard Worker case CL_EVENT_CONTEXT:
1031*8975f5c5SAndroid Build Coastguard Worker return EventInfo::Context;
1032*8975f5c5SAndroid Build Coastguard Worker default:
1033*8975f5c5SAndroid Build Coastguard Worker return EventInfo::InvalidEnum;
1034*8975f5c5SAndroid Build Coastguard Worker }
1035*8975f5c5SAndroid Build Coastguard Worker }
1036*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(EventInfo from)1037*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(EventInfo from)
1038*8975f5c5SAndroid Build Coastguard Worker {
1039*8975f5c5SAndroid Build Coastguard Worker switch (from)
1040*8975f5c5SAndroid Build Coastguard Worker {
1041*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandQueue:
1042*8975f5c5SAndroid Build Coastguard Worker return CL_EVENT_COMMAND_QUEUE;
1043*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandType:
1044*8975f5c5SAndroid Build Coastguard Worker return CL_EVENT_COMMAND_TYPE;
1045*8975f5c5SAndroid Build Coastguard Worker case EventInfo::ReferenceCount:
1046*8975f5c5SAndroid Build Coastguard Worker return CL_EVENT_REFERENCE_COUNT;
1047*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandExecutionStatus:
1048*8975f5c5SAndroid Build Coastguard Worker return CL_EVENT_COMMAND_EXECUTION_STATUS;
1049*8975f5c5SAndroid Build Coastguard Worker case EventInfo::Context:
1050*8975f5c5SAndroid Build Coastguard Worker return CL_EVENT_CONTEXT;
1051*8975f5c5SAndroid Build Coastguard Worker default:
1052*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1053*8975f5c5SAndroid Build Coastguard Worker return 0;
1054*8975f5c5SAndroid Build Coastguard Worker }
1055*8975f5c5SAndroid Build Coastguard Worker }
1056*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,EventInfo value)1057*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, EventInfo value)
1058*8975f5c5SAndroid Build Coastguard Worker {
1059*8975f5c5SAndroid Build Coastguard Worker switch (value)
1060*8975f5c5SAndroid Build Coastguard Worker {
1061*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandQueue:
1062*8975f5c5SAndroid Build Coastguard Worker os << "CL_EVENT_COMMAND_QUEUE";
1063*8975f5c5SAndroid Build Coastguard Worker break;
1064*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandType:
1065*8975f5c5SAndroid Build Coastguard Worker os << "CL_EVENT_COMMAND_TYPE";
1066*8975f5c5SAndroid Build Coastguard Worker break;
1067*8975f5c5SAndroid Build Coastguard Worker case EventInfo::ReferenceCount:
1068*8975f5c5SAndroid Build Coastguard Worker os << "CL_EVENT_REFERENCE_COUNT";
1069*8975f5c5SAndroid Build Coastguard Worker break;
1070*8975f5c5SAndroid Build Coastguard Worker case EventInfo::CommandExecutionStatus:
1071*8975f5c5SAndroid Build Coastguard Worker os << "CL_EVENT_COMMAND_EXECUTION_STATUS";
1072*8975f5c5SAndroid Build Coastguard Worker break;
1073*8975f5c5SAndroid Build Coastguard Worker case EventInfo::Context:
1074*8975f5c5SAndroid Build Coastguard Worker os << "CL_EVENT_CONTEXT";
1075*8975f5c5SAndroid Build Coastguard Worker break;
1076*8975f5c5SAndroid Build Coastguard Worker default:
1077*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1078*8975f5c5SAndroid Build Coastguard Worker break;
1079*8975f5c5SAndroid Build Coastguard Worker }
1080*8975f5c5SAndroid Build Coastguard Worker return os;
1081*8975f5c5SAndroid Build Coastguard Worker }
1082*8975f5c5SAndroid Build Coastguard Worker
1083*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1084*8975f5c5SAndroid Build Coastguard Worker ExecutionStatus FromCLenum<ExecutionStatus>(CLenum from)
1085*8975f5c5SAndroid Build Coastguard Worker {
1086*8975f5c5SAndroid Build Coastguard Worker switch (from)
1087*8975f5c5SAndroid Build Coastguard Worker {
1088*8975f5c5SAndroid Build Coastguard Worker case CL_COMPLETE:
1089*8975f5c5SAndroid Build Coastguard Worker return ExecutionStatus::Complete;
1090*8975f5c5SAndroid Build Coastguard Worker case CL_RUNNING:
1091*8975f5c5SAndroid Build Coastguard Worker return ExecutionStatus::Running;
1092*8975f5c5SAndroid Build Coastguard Worker case CL_SUBMITTED:
1093*8975f5c5SAndroid Build Coastguard Worker return ExecutionStatus::Submitted;
1094*8975f5c5SAndroid Build Coastguard Worker case CL_QUEUED:
1095*8975f5c5SAndroid Build Coastguard Worker return ExecutionStatus::Queued;
1096*8975f5c5SAndroid Build Coastguard Worker default:
1097*8975f5c5SAndroid Build Coastguard Worker return ExecutionStatus::InvalidEnum;
1098*8975f5c5SAndroid Build Coastguard Worker }
1099*8975f5c5SAndroid Build Coastguard Worker }
1100*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ExecutionStatus from)1101*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ExecutionStatus from)
1102*8975f5c5SAndroid Build Coastguard Worker {
1103*8975f5c5SAndroid Build Coastguard Worker switch (from)
1104*8975f5c5SAndroid Build Coastguard Worker {
1105*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Complete:
1106*8975f5c5SAndroid Build Coastguard Worker return CL_COMPLETE;
1107*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Running:
1108*8975f5c5SAndroid Build Coastguard Worker return CL_RUNNING;
1109*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Submitted:
1110*8975f5c5SAndroid Build Coastguard Worker return CL_SUBMITTED;
1111*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Queued:
1112*8975f5c5SAndroid Build Coastguard Worker return CL_QUEUED;
1113*8975f5c5SAndroid Build Coastguard Worker default:
1114*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1115*8975f5c5SAndroid Build Coastguard Worker return 0;
1116*8975f5c5SAndroid Build Coastguard Worker }
1117*8975f5c5SAndroid Build Coastguard Worker }
1118*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ExecutionStatus value)1119*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ExecutionStatus value)
1120*8975f5c5SAndroid Build Coastguard Worker {
1121*8975f5c5SAndroid Build Coastguard Worker switch (value)
1122*8975f5c5SAndroid Build Coastguard Worker {
1123*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Complete:
1124*8975f5c5SAndroid Build Coastguard Worker os << "CL_COMPLETE";
1125*8975f5c5SAndroid Build Coastguard Worker break;
1126*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Running:
1127*8975f5c5SAndroid Build Coastguard Worker os << "CL_RUNNING";
1128*8975f5c5SAndroid Build Coastguard Worker break;
1129*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Submitted:
1130*8975f5c5SAndroid Build Coastguard Worker os << "CL_SUBMITTED";
1131*8975f5c5SAndroid Build Coastguard Worker break;
1132*8975f5c5SAndroid Build Coastguard Worker case ExecutionStatus::Queued:
1133*8975f5c5SAndroid Build Coastguard Worker os << "CL_QUEUED";
1134*8975f5c5SAndroid Build Coastguard Worker break;
1135*8975f5c5SAndroid Build Coastguard Worker default:
1136*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1137*8975f5c5SAndroid Build Coastguard Worker break;
1138*8975f5c5SAndroid Build Coastguard Worker }
1139*8975f5c5SAndroid Build Coastguard Worker return os;
1140*8975f5c5SAndroid Build Coastguard Worker }
1141*8975f5c5SAndroid Build Coastguard Worker
1142*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1143*8975f5c5SAndroid Build Coastguard Worker FilterMode FromCLenum<FilterMode>(CLenum from)
1144*8975f5c5SAndroid Build Coastguard Worker {
1145*8975f5c5SAndroid Build Coastguard Worker switch (from)
1146*8975f5c5SAndroid Build Coastguard Worker {
1147*8975f5c5SAndroid Build Coastguard Worker case CL_FILTER_NEAREST:
1148*8975f5c5SAndroid Build Coastguard Worker return FilterMode::Nearest;
1149*8975f5c5SAndroid Build Coastguard Worker case CL_FILTER_LINEAR:
1150*8975f5c5SAndroid Build Coastguard Worker return FilterMode::Linear;
1151*8975f5c5SAndroid Build Coastguard Worker default:
1152*8975f5c5SAndroid Build Coastguard Worker return FilterMode::InvalidEnum;
1153*8975f5c5SAndroid Build Coastguard Worker }
1154*8975f5c5SAndroid Build Coastguard Worker }
1155*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(FilterMode from)1156*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(FilterMode from)
1157*8975f5c5SAndroid Build Coastguard Worker {
1158*8975f5c5SAndroid Build Coastguard Worker switch (from)
1159*8975f5c5SAndroid Build Coastguard Worker {
1160*8975f5c5SAndroid Build Coastguard Worker case FilterMode::Nearest:
1161*8975f5c5SAndroid Build Coastguard Worker return CL_FILTER_NEAREST;
1162*8975f5c5SAndroid Build Coastguard Worker case FilterMode::Linear:
1163*8975f5c5SAndroid Build Coastguard Worker return CL_FILTER_LINEAR;
1164*8975f5c5SAndroid Build Coastguard Worker default:
1165*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1166*8975f5c5SAndroid Build Coastguard Worker return 0;
1167*8975f5c5SAndroid Build Coastguard Worker }
1168*8975f5c5SAndroid Build Coastguard Worker }
1169*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,FilterMode value)1170*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, FilterMode value)
1171*8975f5c5SAndroid Build Coastguard Worker {
1172*8975f5c5SAndroid Build Coastguard Worker switch (value)
1173*8975f5c5SAndroid Build Coastguard Worker {
1174*8975f5c5SAndroid Build Coastguard Worker case FilterMode::Nearest:
1175*8975f5c5SAndroid Build Coastguard Worker os << "CL_FILTER_NEAREST";
1176*8975f5c5SAndroid Build Coastguard Worker break;
1177*8975f5c5SAndroid Build Coastguard Worker case FilterMode::Linear:
1178*8975f5c5SAndroid Build Coastguard Worker os << "CL_FILTER_LINEAR";
1179*8975f5c5SAndroid Build Coastguard Worker break;
1180*8975f5c5SAndroid Build Coastguard Worker default:
1181*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1182*8975f5c5SAndroid Build Coastguard Worker break;
1183*8975f5c5SAndroid Build Coastguard Worker }
1184*8975f5c5SAndroid Build Coastguard Worker return os;
1185*8975f5c5SAndroid Build Coastguard Worker }
1186*8975f5c5SAndroid Build Coastguard Worker
1187*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1188*8975f5c5SAndroid Build Coastguard Worker ImageInfo FromCLenum<ImageInfo>(CLenum from)
1189*8975f5c5SAndroid Build Coastguard Worker {
1190*8975f5c5SAndroid Build Coastguard Worker switch (from)
1191*8975f5c5SAndroid Build Coastguard Worker {
1192*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_FORMAT:
1193*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::Format;
1194*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_ELEMENT_SIZE:
1195*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::ElementSize;
1196*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_ROW_PITCH:
1197*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::RowPitch;
1198*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_SLICE_PITCH:
1199*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::SlicePitch;
1200*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_WIDTH:
1201*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::Width;
1202*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_HEIGHT:
1203*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::Height;
1204*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_DEPTH:
1205*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::Depth;
1206*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_ARRAY_SIZE:
1207*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::ArraySize;
1208*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_BUFFER:
1209*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::Buffer;
1210*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_NUM_MIP_LEVELS:
1211*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::NumMipLevels;
1212*8975f5c5SAndroid Build Coastguard Worker case CL_IMAGE_NUM_SAMPLES:
1213*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::NumSamples;
1214*8975f5c5SAndroid Build Coastguard Worker default:
1215*8975f5c5SAndroid Build Coastguard Worker return ImageInfo::InvalidEnum;
1216*8975f5c5SAndroid Build Coastguard Worker }
1217*8975f5c5SAndroid Build Coastguard Worker }
1218*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ImageInfo from)1219*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ImageInfo from)
1220*8975f5c5SAndroid Build Coastguard Worker {
1221*8975f5c5SAndroid Build Coastguard Worker switch (from)
1222*8975f5c5SAndroid Build Coastguard Worker {
1223*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Format:
1224*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_FORMAT;
1225*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::ElementSize:
1226*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_ELEMENT_SIZE;
1227*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::RowPitch:
1228*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_ROW_PITCH;
1229*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::SlicePitch:
1230*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_SLICE_PITCH;
1231*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Width:
1232*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_WIDTH;
1233*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Height:
1234*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_HEIGHT;
1235*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Depth:
1236*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_DEPTH;
1237*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::ArraySize:
1238*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_ARRAY_SIZE;
1239*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Buffer:
1240*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_BUFFER;
1241*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::NumMipLevels:
1242*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_NUM_MIP_LEVELS;
1243*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::NumSamples:
1244*8975f5c5SAndroid Build Coastguard Worker return CL_IMAGE_NUM_SAMPLES;
1245*8975f5c5SAndroid Build Coastguard Worker default:
1246*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1247*8975f5c5SAndroid Build Coastguard Worker return 0;
1248*8975f5c5SAndroid Build Coastguard Worker }
1249*8975f5c5SAndroid Build Coastguard Worker }
1250*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ImageInfo value)1251*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ImageInfo value)
1252*8975f5c5SAndroid Build Coastguard Worker {
1253*8975f5c5SAndroid Build Coastguard Worker switch (value)
1254*8975f5c5SAndroid Build Coastguard Worker {
1255*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Format:
1256*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_FORMAT";
1257*8975f5c5SAndroid Build Coastguard Worker break;
1258*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::ElementSize:
1259*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_ELEMENT_SIZE";
1260*8975f5c5SAndroid Build Coastguard Worker break;
1261*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::RowPitch:
1262*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_ROW_PITCH";
1263*8975f5c5SAndroid Build Coastguard Worker break;
1264*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::SlicePitch:
1265*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_SLICE_PITCH";
1266*8975f5c5SAndroid Build Coastguard Worker break;
1267*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Width:
1268*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_WIDTH";
1269*8975f5c5SAndroid Build Coastguard Worker break;
1270*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Height:
1271*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_HEIGHT";
1272*8975f5c5SAndroid Build Coastguard Worker break;
1273*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Depth:
1274*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_DEPTH";
1275*8975f5c5SAndroid Build Coastguard Worker break;
1276*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::ArraySize:
1277*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_ARRAY_SIZE";
1278*8975f5c5SAndroid Build Coastguard Worker break;
1279*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::Buffer:
1280*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_BUFFER";
1281*8975f5c5SAndroid Build Coastguard Worker break;
1282*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::NumMipLevels:
1283*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_NUM_MIP_LEVELS";
1284*8975f5c5SAndroid Build Coastguard Worker break;
1285*8975f5c5SAndroid Build Coastguard Worker case ImageInfo::NumSamples:
1286*8975f5c5SAndroid Build Coastguard Worker os << "CL_IMAGE_NUM_SAMPLES";
1287*8975f5c5SAndroid Build Coastguard Worker break;
1288*8975f5c5SAndroid Build Coastguard Worker default:
1289*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1290*8975f5c5SAndroid Build Coastguard Worker break;
1291*8975f5c5SAndroid Build Coastguard Worker }
1292*8975f5c5SAndroid Build Coastguard Worker return os;
1293*8975f5c5SAndroid Build Coastguard Worker }
1294*8975f5c5SAndroid Build Coastguard Worker
1295*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1296*8975f5c5SAndroid Build Coastguard Worker KernelArgInfo FromCLenum<KernelArgInfo>(CLenum from)
1297*8975f5c5SAndroid Build Coastguard Worker {
1298*8975f5c5SAndroid Build Coastguard Worker switch (from)
1299*8975f5c5SAndroid Build Coastguard Worker {
1300*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ARG_ADDRESS_QUALIFIER:
1301*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::AddressQualifier;
1302*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ARG_ACCESS_QUALIFIER:
1303*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::AccessQualifier;
1304*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ARG_TYPE_NAME:
1305*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::TypeName;
1306*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ARG_TYPE_QUALIFIER:
1307*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::TypeQualifier;
1308*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ARG_NAME:
1309*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::Name;
1310*8975f5c5SAndroid Build Coastguard Worker default:
1311*8975f5c5SAndroid Build Coastguard Worker return KernelArgInfo::InvalidEnum;
1312*8975f5c5SAndroid Build Coastguard Worker }
1313*8975f5c5SAndroid Build Coastguard Worker }
1314*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(KernelArgInfo from)1315*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(KernelArgInfo from)
1316*8975f5c5SAndroid Build Coastguard Worker {
1317*8975f5c5SAndroid Build Coastguard Worker switch (from)
1318*8975f5c5SAndroid Build Coastguard Worker {
1319*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::AddressQualifier:
1320*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ARG_ADDRESS_QUALIFIER;
1321*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::AccessQualifier:
1322*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ARG_ACCESS_QUALIFIER;
1323*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::TypeName:
1324*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ARG_TYPE_NAME;
1325*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::TypeQualifier:
1326*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ARG_TYPE_QUALIFIER;
1327*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::Name:
1328*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ARG_NAME;
1329*8975f5c5SAndroid Build Coastguard Worker default:
1330*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1331*8975f5c5SAndroid Build Coastguard Worker return 0;
1332*8975f5c5SAndroid Build Coastguard Worker }
1333*8975f5c5SAndroid Build Coastguard Worker }
1334*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,KernelArgInfo value)1335*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, KernelArgInfo value)
1336*8975f5c5SAndroid Build Coastguard Worker {
1337*8975f5c5SAndroid Build Coastguard Worker switch (value)
1338*8975f5c5SAndroid Build Coastguard Worker {
1339*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::AddressQualifier:
1340*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ARG_ADDRESS_QUALIFIER";
1341*8975f5c5SAndroid Build Coastguard Worker break;
1342*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::AccessQualifier:
1343*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ARG_ACCESS_QUALIFIER";
1344*8975f5c5SAndroid Build Coastguard Worker break;
1345*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::TypeName:
1346*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ARG_TYPE_NAME";
1347*8975f5c5SAndroid Build Coastguard Worker break;
1348*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::TypeQualifier:
1349*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ARG_TYPE_QUALIFIER";
1350*8975f5c5SAndroid Build Coastguard Worker break;
1351*8975f5c5SAndroid Build Coastguard Worker case KernelArgInfo::Name:
1352*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ARG_NAME";
1353*8975f5c5SAndroid Build Coastguard Worker break;
1354*8975f5c5SAndroid Build Coastguard Worker default:
1355*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1356*8975f5c5SAndroid Build Coastguard Worker break;
1357*8975f5c5SAndroid Build Coastguard Worker }
1358*8975f5c5SAndroid Build Coastguard Worker return os;
1359*8975f5c5SAndroid Build Coastguard Worker }
1360*8975f5c5SAndroid Build Coastguard Worker
1361*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1362*8975f5c5SAndroid Build Coastguard Worker KernelExecInfo FromCLenum<KernelExecInfo>(CLenum from)
1363*8975f5c5SAndroid Build Coastguard Worker {
1364*8975f5c5SAndroid Build Coastguard Worker switch (from)
1365*8975f5c5SAndroid Build Coastguard Worker {
1366*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_EXEC_INFO_SVM_PTRS:
1367*8975f5c5SAndroid Build Coastguard Worker return KernelExecInfo::SVM_Ptrs;
1368*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM:
1369*8975f5c5SAndroid Build Coastguard Worker return KernelExecInfo::SVM_FineGrainSystem;
1370*8975f5c5SAndroid Build Coastguard Worker default:
1371*8975f5c5SAndroid Build Coastguard Worker return KernelExecInfo::InvalidEnum;
1372*8975f5c5SAndroid Build Coastguard Worker }
1373*8975f5c5SAndroid Build Coastguard Worker }
1374*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(KernelExecInfo from)1375*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(KernelExecInfo from)
1376*8975f5c5SAndroid Build Coastguard Worker {
1377*8975f5c5SAndroid Build Coastguard Worker switch (from)
1378*8975f5c5SAndroid Build Coastguard Worker {
1379*8975f5c5SAndroid Build Coastguard Worker case KernelExecInfo::SVM_Ptrs:
1380*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_EXEC_INFO_SVM_PTRS;
1381*8975f5c5SAndroid Build Coastguard Worker case KernelExecInfo::SVM_FineGrainSystem:
1382*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM;
1383*8975f5c5SAndroid Build Coastguard Worker default:
1384*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1385*8975f5c5SAndroid Build Coastguard Worker return 0;
1386*8975f5c5SAndroid Build Coastguard Worker }
1387*8975f5c5SAndroid Build Coastguard Worker }
1388*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,KernelExecInfo value)1389*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, KernelExecInfo value)
1390*8975f5c5SAndroid Build Coastguard Worker {
1391*8975f5c5SAndroid Build Coastguard Worker switch (value)
1392*8975f5c5SAndroid Build Coastguard Worker {
1393*8975f5c5SAndroid Build Coastguard Worker case KernelExecInfo::SVM_Ptrs:
1394*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_EXEC_INFO_SVM_PTRS";
1395*8975f5c5SAndroid Build Coastguard Worker break;
1396*8975f5c5SAndroid Build Coastguard Worker case KernelExecInfo::SVM_FineGrainSystem:
1397*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_EXEC_INFO_SVM_FINE_GRAIN_SYSTEM";
1398*8975f5c5SAndroid Build Coastguard Worker break;
1399*8975f5c5SAndroid Build Coastguard Worker default:
1400*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1401*8975f5c5SAndroid Build Coastguard Worker break;
1402*8975f5c5SAndroid Build Coastguard Worker }
1403*8975f5c5SAndroid Build Coastguard Worker return os;
1404*8975f5c5SAndroid Build Coastguard Worker }
1405*8975f5c5SAndroid Build Coastguard Worker
1406*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1407*8975f5c5SAndroid Build Coastguard Worker KernelInfo FromCLenum<KernelInfo>(CLenum from)
1408*8975f5c5SAndroid Build Coastguard Worker {
1409*8975f5c5SAndroid Build Coastguard Worker switch (from)
1410*8975f5c5SAndroid Build Coastguard Worker {
1411*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_FUNCTION_NAME:
1412*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::FunctionName;
1413*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_NUM_ARGS:
1414*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::NumArgs;
1415*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_REFERENCE_COUNT:
1416*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::ReferenceCount;
1417*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_CONTEXT:
1418*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::Context;
1419*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_PROGRAM:
1420*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::Program;
1421*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_ATTRIBUTES:
1422*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::Attributes;
1423*8975f5c5SAndroid Build Coastguard Worker default:
1424*8975f5c5SAndroid Build Coastguard Worker return KernelInfo::InvalidEnum;
1425*8975f5c5SAndroid Build Coastguard Worker }
1426*8975f5c5SAndroid Build Coastguard Worker }
1427*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(KernelInfo from)1428*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(KernelInfo from)
1429*8975f5c5SAndroid Build Coastguard Worker {
1430*8975f5c5SAndroid Build Coastguard Worker switch (from)
1431*8975f5c5SAndroid Build Coastguard Worker {
1432*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::FunctionName:
1433*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_FUNCTION_NAME;
1434*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::NumArgs:
1435*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_NUM_ARGS;
1436*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::ReferenceCount:
1437*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_REFERENCE_COUNT;
1438*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Context:
1439*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_CONTEXT;
1440*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Program:
1441*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_PROGRAM;
1442*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Attributes:
1443*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_ATTRIBUTES;
1444*8975f5c5SAndroid Build Coastguard Worker default:
1445*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1446*8975f5c5SAndroid Build Coastguard Worker return 0;
1447*8975f5c5SAndroid Build Coastguard Worker }
1448*8975f5c5SAndroid Build Coastguard Worker }
1449*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,KernelInfo value)1450*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, KernelInfo value)
1451*8975f5c5SAndroid Build Coastguard Worker {
1452*8975f5c5SAndroid Build Coastguard Worker switch (value)
1453*8975f5c5SAndroid Build Coastguard Worker {
1454*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::FunctionName:
1455*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_FUNCTION_NAME";
1456*8975f5c5SAndroid Build Coastguard Worker break;
1457*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::NumArgs:
1458*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_NUM_ARGS";
1459*8975f5c5SAndroid Build Coastguard Worker break;
1460*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::ReferenceCount:
1461*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_REFERENCE_COUNT";
1462*8975f5c5SAndroid Build Coastguard Worker break;
1463*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Context:
1464*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_CONTEXT";
1465*8975f5c5SAndroid Build Coastguard Worker break;
1466*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Program:
1467*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_PROGRAM";
1468*8975f5c5SAndroid Build Coastguard Worker break;
1469*8975f5c5SAndroid Build Coastguard Worker case KernelInfo::Attributes:
1470*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_ATTRIBUTES";
1471*8975f5c5SAndroid Build Coastguard Worker break;
1472*8975f5c5SAndroid Build Coastguard Worker default:
1473*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1474*8975f5c5SAndroid Build Coastguard Worker break;
1475*8975f5c5SAndroid Build Coastguard Worker }
1476*8975f5c5SAndroid Build Coastguard Worker return os;
1477*8975f5c5SAndroid Build Coastguard Worker }
1478*8975f5c5SAndroid Build Coastguard Worker
1479*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1480*8975f5c5SAndroid Build Coastguard Worker KernelSubGroupInfo FromCLenum<KernelSubGroupInfo>(CLenum from)
1481*8975f5c5SAndroid Build Coastguard Worker {
1482*8975f5c5SAndroid Build Coastguard Worker switch (from)
1483*8975f5c5SAndroid Build Coastguard Worker {
1484*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE:
1485*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::MaxSubGroupSizeForNdrange;
1486*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE:
1487*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::SubGroupCountForNdrange;
1488*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT:
1489*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::LocalSizeForSubGroupCount;
1490*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_MAX_NUM_SUB_GROUPS:
1491*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::MaxNumSubGroups;
1492*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_COMPILE_NUM_SUB_GROUPS:
1493*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::CompileNumSubGroups;
1494*8975f5c5SAndroid Build Coastguard Worker default:
1495*8975f5c5SAndroid Build Coastguard Worker return KernelSubGroupInfo::InvalidEnum;
1496*8975f5c5SAndroid Build Coastguard Worker }
1497*8975f5c5SAndroid Build Coastguard Worker }
1498*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(KernelSubGroupInfo from)1499*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(KernelSubGroupInfo from)
1500*8975f5c5SAndroid Build Coastguard Worker {
1501*8975f5c5SAndroid Build Coastguard Worker switch (from)
1502*8975f5c5SAndroid Build Coastguard Worker {
1503*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::MaxSubGroupSizeForNdrange:
1504*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE;
1505*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::SubGroupCountForNdrange:
1506*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE;
1507*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::LocalSizeForSubGroupCount:
1508*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT;
1509*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::MaxNumSubGroups:
1510*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_MAX_NUM_SUB_GROUPS;
1511*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::CompileNumSubGroups:
1512*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_COMPILE_NUM_SUB_GROUPS;
1513*8975f5c5SAndroid Build Coastguard Worker default:
1514*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1515*8975f5c5SAndroid Build Coastguard Worker return 0;
1516*8975f5c5SAndroid Build Coastguard Worker }
1517*8975f5c5SAndroid Build Coastguard Worker }
1518*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,KernelSubGroupInfo value)1519*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, KernelSubGroupInfo value)
1520*8975f5c5SAndroid Build Coastguard Worker {
1521*8975f5c5SAndroid Build Coastguard Worker switch (value)
1522*8975f5c5SAndroid Build Coastguard Worker {
1523*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::MaxSubGroupSizeForNdrange:
1524*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_MAX_SUB_GROUP_SIZE_FOR_NDRANGE";
1525*8975f5c5SAndroid Build Coastguard Worker break;
1526*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::SubGroupCountForNdrange:
1527*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_SUB_GROUP_COUNT_FOR_NDRANGE";
1528*8975f5c5SAndroid Build Coastguard Worker break;
1529*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::LocalSizeForSubGroupCount:
1530*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_LOCAL_SIZE_FOR_SUB_GROUP_COUNT";
1531*8975f5c5SAndroid Build Coastguard Worker break;
1532*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::MaxNumSubGroups:
1533*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_MAX_NUM_SUB_GROUPS";
1534*8975f5c5SAndroid Build Coastguard Worker break;
1535*8975f5c5SAndroid Build Coastguard Worker case KernelSubGroupInfo::CompileNumSubGroups:
1536*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_COMPILE_NUM_SUB_GROUPS";
1537*8975f5c5SAndroid Build Coastguard Worker break;
1538*8975f5c5SAndroid Build Coastguard Worker default:
1539*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1540*8975f5c5SAndroid Build Coastguard Worker break;
1541*8975f5c5SAndroid Build Coastguard Worker }
1542*8975f5c5SAndroid Build Coastguard Worker return os;
1543*8975f5c5SAndroid Build Coastguard Worker }
1544*8975f5c5SAndroid Build Coastguard Worker
1545*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1546*8975f5c5SAndroid Build Coastguard Worker KernelWorkGroupInfo FromCLenum<KernelWorkGroupInfo>(CLenum from)
1547*8975f5c5SAndroid Build Coastguard Worker {
1548*8975f5c5SAndroid Build Coastguard Worker switch (from)
1549*8975f5c5SAndroid Build Coastguard Worker {
1550*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_WORK_GROUP_SIZE:
1551*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::WorkGroupSize;
1552*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_COMPILE_WORK_GROUP_SIZE:
1553*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::CompileWorkGroupSize;
1554*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_LOCAL_MEM_SIZE:
1555*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::LocalMemSize;
1556*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE:
1557*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple;
1558*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_PRIVATE_MEM_SIZE:
1559*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::PrivateMemSize;
1560*8975f5c5SAndroid Build Coastguard Worker case CL_KERNEL_GLOBAL_WORK_SIZE:
1561*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::GlobalWorkSize;
1562*8975f5c5SAndroid Build Coastguard Worker default:
1563*8975f5c5SAndroid Build Coastguard Worker return KernelWorkGroupInfo::InvalidEnum;
1564*8975f5c5SAndroid Build Coastguard Worker }
1565*8975f5c5SAndroid Build Coastguard Worker }
1566*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(KernelWorkGroupInfo from)1567*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(KernelWorkGroupInfo from)
1568*8975f5c5SAndroid Build Coastguard Worker {
1569*8975f5c5SAndroid Build Coastguard Worker switch (from)
1570*8975f5c5SAndroid Build Coastguard Worker {
1571*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::WorkGroupSize:
1572*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_WORK_GROUP_SIZE;
1573*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::CompileWorkGroupSize:
1574*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_COMPILE_WORK_GROUP_SIZE;
1575*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::LocalMemSize:
1576*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_LOCAL_MEM_SIZE;
1577*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple:
1578*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE;
1579*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::PrivateMemSize:
1580*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_PRIVATE_MEM_SIZE;
1581*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::GlobalWorkSize:
1582*8975f5c5SAndroid Build Coastguard Worker return CL_KERNEL_GLOBAL_WORK_SIZE;
1583*8975f5c5SAndroid Build Coastguard Worker default:
1584*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1585*8975f5c5SAndroid Build Coastguard Worker return 0;
1586*8975f5c5SAndroid Build Coastguard Worker }
1587*8975f5c5SAndroid Build Coastguard Worker }
1588*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,KernelWorkGroupInfo value)1589*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, KernelWorkGroupInfo value)
1590*8975f5c5SAndroid Build Coastguard Worker {
1591*8975f5c5SAndroid Build Coastguard Worker switch (value)
1592*8975f5c5SAndroid Build Coastguard Worker {
1593*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::WorkGroupSize:
1594*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_WORK_GROUP_SIZE";
1595*8975f5c5SAndroid Build Coastguard Worker break;
1596*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::CompileWorkGroupSize:
1597*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_COMPILE_WORK_GROUP_SIZE";
1598*8975f5c5SAndroid Build Coastguard Worker break;
1599*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::LocalMemSize:
1600*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_LOCAL_MEM_SIZE";
1601*8975f5c5SAndroid Build Coastguard Worker break;
1602*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::PreferredWorkGroupSizeMultiple:
1603*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE";
1604*8975f5c5SAndroid Build Coastguard Worker break;
1605*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::PrivateMemSize:
1606*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_PRIVATE_MEM_SIZE";
1607*8975f5c5SAndroid Build Coastguard Worker break;
1608*8975f5c5SAndroid Build Coastguard Worker case KernelWorkGroupInfo::GlobalWorkSize:
1609*8975f5c5SAndroid Build Coastguard Worker os << "CL_KERNEL_GLOBAL_WORK_SIZE";
1610*8975f5c5SAndroid Build Coastguard Worker break;
1611*8975f5c5SAndroid Build Coastguard Worker default:
1612*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1613*8975f5c5SAndroid Build Coastguard Worker break;
1614*8975f5c5SAndroid Build Coastguard Worker }
1615*8975f5c5SAndroid Build Coastguard Worker return os;
1616*8975f5c5SAndroid Build Coastguard Worker }
1617*8975f5c5SAndroid Build Coastguard Worker
1618*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1619*8975f5c5SAndroid Build Coastguard Worker MemInfo FromCLenum<MemInfo>(CLenum from)
1620*8975f5c5SAndroid Build Coastguard Worker {
1621*8975f5c5SAndroid Build Coastguard Worker switch (from)
1622*8975f5c5SAndroid Build Coastguard Worker {
1623*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_TYPE:
1624*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Type;
1625*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_FLAGS:
1626*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Flags;
1627*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_SIZE:
1628*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Size;
1629*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_HOST_PTR:
1630*8975f5c5SAndroid Build Coastguard Worker return MemInfo::HostPtr;
1631*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_MAP_COUNT:
1632*8975f5c5SAndroid Build Coastguard Worker return MemInfo::MapCount;
1633*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_REFERENCE_COUNT:
1634*8975f5c5SAndroid Build Coastguard Worker return MemInfo::ReferenceCount;
1635*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_CONTEXT:
1636*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Context;
1637*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_ASSOCIATED_MEMOBJECT:
1638*8975f5c5SAndroid Build Coastguard Worker return MemInfo::AssociatedMemObject;
1639*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OFFSET:
1640*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Offset;
1641*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_USES_SVM_POINTER:
1642*8975f5c5SAndroid Build Coastguard Worker return MemInfo::UsesSVM_Pointer;
1643*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_PROPERTIES:
1644*8975f5c5SAndroid Build Coastguard Worker return MemInfo::Properties;
1645*8975f5c5SAndroid Build Coastguard Worker default:
1646*8975f5c5SAndroid Build Coastguard Worker return MemInfo::InvalidEnum;
1647*8975f5c5SAndroid Build Coastguard Worker }
1648*8975f5c5SAndroid Build Coastguard Worker }
1649*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(MemInfo from)1650*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(MemInfo from)
1651*8975f5c5SAndroid Build Coastguard Worker {
1652*8975f5c5SAndroid Build Coastguard Worker switch (from)
1653*8975f5c5SAndroid Build Coastguard Worker {
1654*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Type:
1655*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_TYPE;
1656*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Flags:
1657*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_FLAGS;
1658*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Size:
1659*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_SIZE;
1660*8975f5c5SAndroid Build Coastguard Worker case MemInfo::HostPtr:
1661*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_HOST_PTR;
1662*8975f5c5SAndroid Build Coastguard Worker case MemInfo::MapCount:
1663*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_MAP_COUNT;
1664*8975f5c5SAndroid Build Coastguard Worker case MemInfo::ReferenceCount:
1665*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_REFERENCE_COUNT;
1666*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Context:
1667*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_CONTEXT;
1668*8975f5c5SAndroid Build Coastguard Worker case MemInfo::AssociatedMemObject:
1669*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_ASSOCIATED_MEMOBJECT;
1670*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Offset:
1671*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OFFSET;
1672*8975f5c5SAndroid Build Coastguard Worker case MemInfo::UsesSVM_Pointer:
1673*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_USES_SVM_POINTER;
1674*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Properties:
1675*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_PROPERTIES;
1676*8975f5c5SAndroid Build Coastguard Worker default:
1677*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1678*8975f5c5SAndroid Build Coastguard Worker return 0;
1679*8975f5c5SAndroid Build Coastguard Worker }
1680*8975f5c5SAndroid Build Coastguard Worker }
1681*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,MemInfo value)1682*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, MemInfo value)
1683*8975f5c5SAndroid Build Coastguard Worker {
1684*8975f5c5SAndroid Build Coastguard Worker switch (value)
1685*8975f5c5SAndroid Build Coastguard Worker {
1686*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Type:
1687*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_TYPE";
1688*8975f5c5SAndroid Build Coastguard Worker break;
1689*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Flags:
1690*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_FLAGS";
1691*8975f5c5SAndroid Build Coastguard Worker break;
1692*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Size:
1693*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_SIZE";
1694*8975f5c5SAndroid Build Coastguard Worker break;
1695*8975f5c5SAndroid Build Coastguard Worker case MemInfo::HostPtr:
1696*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_HOST_PTR";
1697*8975f5c5SAndroid Build Coastguard Worker break;
1698*8975f5c5SAndroid Build Coastguard Worker case MemInfo::MapCount:
1699*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_MAP_COUNT";
1700*8975f5c5SAndroid Build Coastguard Worker break;
1701*8975f5c5SAndroid Build Coastguard Worker case MemInfo::ReferenceCount:
1702*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_REFERENCE_COUNT";
1703*8975f5c5SAndroid Build Coastguard Worker break;
1704*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Context:
1705*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_CONTEXT";
1706*8975f5c5SAndroid Build Coastguard Worker break;
1707*8975f5c5SAndroid Build Coastguard Worker case MemInfo::AssociatedMemObject:
1708*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_ASSOCIATED_MEMOBJECT";
1709*8975f5c5SAndroid Build Coastguard Worker break;
1710*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Offset:
1711*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OFFSET";
1712*8975f5c5SAndroid Build Coastguard Worker break;
1713*8975f5c5SAndroid Build Coastguard Worker case MemInfo::UsesSVM_Pointer:
1714*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_USES_SVM_POINTER";
1715*8975f5c5SAndroid Build Coastguard Worker break;
1716*8975f5c5SAndroid Build Coastguard Worker case MemInfo::Properties:
1717*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_PROPERTIES";
1718*8975f5c5SAndroid Build Coastguard Worker break;
1719*8975f5c5SAndroid Build Coastguard Worker default:
1720*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1721*8975f5c5SAndroid Build Coastguard Worker break;
1722*8975f5c5SAndroid Build Coastguard Worker }
1723*8975f5c5SAndroid Build Coastguard Worker return os;
1724*8975f5c5SAndroid Build Coastguard Worker }
1725*8975f5c5SAndroid Build Coastguard Worker
1726*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1727*8975f5c5SAndroid Build Coastguard Worker MemObjectType FromCLenum<MemObjectType>(CLenum from)
1728*8975f5c5SAndroid Build Coastguard Worker {
1729*8975f5c5SAndroid Build Coastguard Worker switch (from)
1730*8975f5c5SAndroid Build Coastguard Worker {
1731*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_BUFFER:
1732*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Buffer;
1733*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE2D:
1734*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image2D;
1735*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE3D:
1736*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image3D;
1737*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE2D_ARRAY:
1738*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image2D_Array;
1739*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE1D:
1740*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image1D;
1741*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE1D_ARRAY:
1742*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image1D_Array;
1743*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_IMAGE1D_BUFFER:
1744*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Image1D_Buffer;
1745*8975f5c5SAndroid Build Coastguard Worker case CL_MEM_OBJECT_PIPE:
1746*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::Pipe;
1747*8975f5c5SAndroid Build Coastguard Worker default:
1748*8975f5c5SAndroid Build Coastguard Worker return MemObjectType::InvalidEnum;
1749*8975f5c5SAndroid Build Coastguard Worker }
1750*8975f5c5SAndroid Build Coastguard Worker }
1751*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(MemObjectType from)1752*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(MemObjectType from)
1753*8975f5c5SAndroid Build Coastguard Worker {
1754*8975f5c5SAndroid Build Coastguard Worker switch (from)
1755*8975f5c5SAndroid Build Coastguard Worker {
1756*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Buffer:
1757*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_BUFFER;
1758*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image2D:
1759*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE2D;
1760*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image3D:
1761*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE3D;
1762*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image2D_Array:
1763*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE2D_ARRAY;
1764*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D:
1765*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE1D;
1766*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D_Array:
1767*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE1D_ARRAY;
1768*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D_Buffer:
1769*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_IMAGE1D_BUFFER;
1770*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Pipe:
1771*8975f5c5SAndroid Build Coastguard Worker return CL_MEM_OBJECT_PIPE;
1772*8975f5c5SAndroid Build Coastguard Worker default:
1773*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1774*8975f5c5SAndroid Build Coastguard Worker return 0;
1775*8975f5c5SAndroid Build Coastguard Worker }
1776*8975f5c5SAndroid Build Coastguard Worker }
1777*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,MemObjectType value)1778*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, MemObjectType value)
1779*8975f5c5SAndroid Build Coastguard Worker {
1780*8975f5c5SAndroid Build Coastguard Worker switch (value)
1781*8975f5c5SAndroid Build Coastguard Worker {
1782*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Buffer:
1783*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_BUFFER";
1784*8975f5c5SAndroid Build Coastguard Worker break;
1785*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image2D:
1786*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE2D";
1787*8975f5c5SAndroid Build Coastguard Worker break;
1788*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image3D:
1789*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE3D";
1790*8975f5c5SAndroid Build Coastguard Worker break;
1791*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image2D_Array:
1792*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE2D_ARRAY";
1793*8975f5c5SAndroid Build Coastguard Worker break;
1794*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D:
1795*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE1D";
1796*8975f5c5SAndroid Build Coastguard Worker break;
1797*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D_Array:
1798*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE1D_ARRAY";
1799*8975f5c5SAndroid Build Coastguard Worker break;
1800*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Image1D_Buffer:
1801*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_IMAGE1D_BUFFER";
1802*8975f5c5SAndroid Build Coastguard Worker break;
1803*8975f5c5SAndroid Build Coastguard Worker case MemObjectType::Pipe:
1804*8975f5c5SAndroid Build Coastguard Worker os << "CL_MEM_OBJECT_PIPE";
1805*8975f5c5SAndroid Build Coastguard Worker break;
1806*8975f5c5SAndroid Build Coastguard Worker default:
1807*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1808*8975f5c5SAndroid Build Coastguard Worker break;
1809*8975f5c5SAndroid Build Coastguard Worker }
1810*8975f5c5SAndroid Build Coastguard Worker return os;
1811*8975f5c5SAndroid Build Coastguard Worker }
1812*8975f5c5SAndroid Build Coastguard Worker
1813*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1814*8975f5c5SAndroid Build Coastguard Worker PipeInfo FromCLenum<PipeInfo>(CLenum from)
1815*8975f5c5SAndroid Build Coastguard Worker {
1816*8975f5c5SAndroid Build Coastguard Worker switch (from)
1817*8975f5c5SAndroid Build Coastguard Worker {
1818*8975f5c5SAndroid Build Coastguard Worker case CL_PIPE_PACKET_SIZE:
1819*8975f5c5SAndroid Build Coastguard Worker return PipeInfo::PacketSize;
1820*8975f5c5SAndroid Build Coastguard Worker case CL_PIPE_MAX_PACKETS:
1821*8975f5c5SAndroid Build Coastguard Worker return PipeInfo::MaxPackets;
1822*8975f5c5SAndroid Build Coastguard Worker case CL_PIPE_PROPERTIES:
1823*8975f5c5SAndroid Build Coastguard Worker return PipeInfo::Properties;
1824*8975f5c5SAndroid Build Coastguard Worker default:
1825*8975f5c5SAndroid Build Coastguard Worker return PipeInfo::InvalidEnum;
1826*8975f5c5SAndroid Build Coastguard Worker }
1827*8975f5c5SAndroid Build Coastguard Worker }
1828*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(PipeInfo from)1829*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(PipeInfo from)
1830*8975f5c5SAndroid Build Coastguard Worker {
1831*8975f5c5SAndroid Build Coastguard Worker switch (from)
1832*8975f5c5SAndroid Build Coastguard Worker {
1833*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::PacketSize:
1834*8975f5c5SAndroid Build Coastguard Worker return CL_PIPE_PACKET_SIZE;
1835*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::MaxPackets:
1836*8975f5c5SAndroid Build Coastguard Worker return CL_PIPE_MAX_PACKETS;
1837*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::Properties:
1838*8975f5c5SAndroid Build Coastguard Worker return CL_PIPE_PROPERTIES;
1839*8975f5c5SAndroid Build Coastguard Worker default:
1840*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1841*8975f5c5SAndroid Build Coastguard Worker return 0;
1842*8975f5c5SAndroid Build Coastguard Worker }
1843*8975f5c5SAndroid Build Coastguard Worker }
1844*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,PipeInfo value)1845*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, PipeInfo value)
1846*8975f5c5SAndroid Build Coastguard Worker {
1847*8975f5c5SAndroid Build Coastguard Worker switch (value)
1848*8975f5c5SAndroid Build Coastguard Worker {
1849*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::PacketSize:
1850*8975f5c5SAndroid Build Coastguard Worker os << "CL_PIPE_PACKET_SIZE";
1851*8975f5c5SAndroid Build Coastguard Worker break;
1852*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::MaxPackets:
1853*8975f5c5SAndroid Build Coastguard Worker os << "CL_PIPE_MAX_PACKETS";
1854*8975f5c5SAndroid Build Coastguard Worker break;
1855*8975f5c5SAndroid Build Coastguard Worker case PipeInfo::Properties:
1856*8975f5c5SAndroid Build Coastguard Worker os << "CL_PIPE_PROPERTIES";
1857*8975f5c5SAndroid Build Coastguard Worker break;
1858*8975f5c5SAndroid Build Coastguard Worker default:
1859*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1860*8975f5c5SAndroid Build Coastguard Worker break;
1861*8975f5c5SAndroid Build Coastguard Worker }
1862*8975f5c5SAndroid Build Coastguard Worker return os;
1863*8975f5c5SAndroid Build Coastguard Worker }
1864*8975f5c5SAndroid Build Coastguard Worker
1865*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1866*8975f5c5SAndroid Build Coastguard Worker PlatformInfo FromCLenum<PlatformInfo>(CLenum from)
1867*8975f5c5SAndroid Build Coastguard Worker {
1868*8975f5c5SAndroid Build Coastguard Worker switch (from)
1869*8975f5c5SAndroid Build Coastguard Worker {
1870*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_PROFILE:
1871*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::Profile;
1872*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_VERSION:
1873*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::Version;
1874*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_NAME:
1875*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::Name;
1876*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_VENDOR:
1877*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::Vendor;
1878*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_EXTENSIONS:
1879*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::Extensions;
1880*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_HOST_TIMER_RESOLUTION:
1881*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::HostTimerResolution;
1882*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_NUMERIC_VERSION:
1883*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::NumericVersion;
1884*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_EXTENSIONS_WITH_VERSION:
1885*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::ExtensionsWithVersion;
1886*8975f5c5SAndroid Build Coastguard Worker case CL_PLATFORM_ICD_SUFFIX_KHR:
1887*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::IcdSuffix;
1888*8975f5c5SAndroid Build Coastguard Worker default:
1889*8975f5c5SAndroid Build Coastguard Worker return PlatformInfo::InvalidEnum;
1890*8975f5c5SAndroid Build Coastguard Worker }
1891*8975f5c5SAndroid Build Coastguard Worker }
1892*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(PlatformInfo from)1893*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(PlatformInfo from)
1894*8975f5c5SAndroid Build Coastguard Worker {
1895*8975f5c5SAndroid Build Coastguard Worker switch (from)
1896*8975f5c5SAndroid Build Coastguard Worker {
1897*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Profile:
1898*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_PROFILE;
1899*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Version:
1900*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_VERSION;
1901*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Name:
1902*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_NAME;
1903*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Vendor:
1904*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_VENDOR;
1905*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Extensions:
1906*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_EXTENSIONS;
1907*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::HostTimerResolution:
1908*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_HOST_TIMER_RESOLUTION;
1909*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::NumericVersion:
1910*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_NUMERIC_VERSION;
1911*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::ExtensionsWithVersion:
1912*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_EXTENSIONS_WITH_VERSION;
1913*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::IcdSuffix:
1914*8975f5c5SAndroid Build Coastguard Worker return CL_PLATFORM_ICD_SUFFIX_KHR;
1915*8975f5c5SAndroid Build Coastguard Worker default:
1916*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1917*8975f5c5SAndroid Build Coastguard Worker return 0;
1918*8975f5c5SAndroid Build Coastguard Worker }
1919*8975f5c5SAndroid Build Coastguard Worker }
1920*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,PlatformInfo value)1921*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, PlatformInfo value)
1922*8975f5c5SAndroid Build Coastguard Worker {
1923*8975f5c5SAndroid Build Coastguard Worker switch (value)
1924*8975f5c5SAndroid Build Coastguard Worker {
1925*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Profile:
1926*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_PROFILE";
1927*8975f5c5SAndroid Build Coastguard Worker break;
1928*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Version:
1929*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_VERSION";
1930*8975f5c5SAndroid Build Coastguard Worker break;
1931*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Name:
1932*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_NAME";
1933*8975f5c5SAndroid Build Coastguard Worker break;
1934*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Vendor:
1935*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_VENDOR";
1936*8975f5c5SAndroid Build Coastguard Worker break;
1937*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::Extensions:
1938*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_EXTENSIONS";
1939*8975f5c5SAndroid Build Coastguard Worker break;
1940*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::HostTimerResolution:
1941*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_HOST_TIMER_RESOLUTION";
1942*8975f5c5SAndroid Build Coastguard Worker break;
1943*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::NumericVersion:
1944*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_NUMERIC_VERSION";
1945*8975f5c5SAndroid Build Coastguard Worker break;
1946*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::ExtensionsWithVersion:
1947*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_EXTENSIONS_WITH_VERSION";
1948*8975f5c5SAndroid Build Coastguard Worker break;
1949*8975f5c5SAndroid Build Coastguard Worker case PlatformInfo::IcdSuffix:
1950*8975f5c5SAndroid Build Coastguard Worker os << "CL_PLATFORM_ICD_SUFFIX_KHR";
1951*8975f5c5SAndroid Build Coastguard Worker break;
1952*8975f5c5SAndroid Build Coastguard Worker default:
1953*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
1954*8975f5c5SAndroid Build Coastguard Worker break;
1955*8975f5c5SAndroid Build Coastguard Worker }
1956*8975f5c5SAndroid Build Coastguard Worker return os;
1957*8975f5c5SAndroid Build Coastguard Worker }
1958*8975f5c5SAndroid Build Coastguard Worker
1959*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)1960*8975f5c5SAndroid Build Coastguard Worker ProfilingInfo FromCLenum<ProfilingInfo>(CLenum from)
1961*8975f5c5SAndroid Build Coastguard Worker {
1962*8975f5c5SAndroid Build Coastguard Worker switch (from)
1963*8975f5c5SAndroid Build Coastguard Worker {
1964*8975f5c5SAndroid Build Coastguard Worker case CL_PROFILING_COMMAND_QUEUED:
1965*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::CommandQueued;
1966*8975f5c5SAndroid Build Coastguard Worker case CL_PROFILING_COMMAND_SUBMIT:
1967*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::CommandSubmit;
1968*8975f5c5SAndroid Build Coastguard Worker case CL_PROFILING_COMMAND_START:
1969*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::CommandStart;
1970*8975f5c5SAndroid Build Coastguard Worker case CL_PROFILING_COMMAND_END:
1971*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::CommandEnd;
1972*8975f5c5SAndroid Build Coastguard Worker case CL_PROFILING_COMMAND_COMPLETE:
1973*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::CommandComplete;
1974*8975f5c5SAndroid Build Coastguard Worker default:
1975*8975f5c5SAndroid Build Coastguard Worker return ProfilingInfo::InvalidEnum;
1976*8975f5c5SAndroid Build Coastguard Worker }
1977*8975f5c5SAndroid Build Coastguard Worker }
1978*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ProfilingInfo from)1979*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ProfilingInfo from)
1980*8975f5c5SAndroid Build Coastguard Worker {
1981*8975f5c5SAndroid Build Coastguard Worker switch (from)
1982*8975f5c5SAndroid Build Coastguard Worker {
1983*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandQueued:
1984*8975f5c5SAndroid Build Coastguard Worker return CL_PROFILING_COMMAND_QUEUED;
1985*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandSubmit:
1986*8975f5c5SAndroid Build Coastguard Worker return CL_PROFILING_COMMAND_SUBMIT;
1987*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandStart:
1988*8975f5c5SAndroid Build Coastguard Worker return CL_PROFILING_COMMAND_START;
1989*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandEnd:
1990*8975f5c5SAndroid Build Coastguard Worker return CL_PROFILING_COMMAND_END;
1991*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandComplete:
1992*8975f5c5SAndroid Build Coastguard Worker return CL_PROFILING_COMMAND_COMPLETE;
1993*8975f5c5SAndroid Build Coastguard Worker default:
1994*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
1995*8975f5c5SAndroid Build Coastguard Worker return 0;
1996*8975f5c5SAndroid Build Coastguard Worker }
1997*8975f5c5SAndroid Build Coastguard Worker }
1998*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ProfilingInfo value)1999*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ProfilingInfo value)
2000*8975f5c5SAndroid Build Coastguard Worker {
2001*8975f5c5SAndroid Build Coastguard Worker switch (value)
2002*8975f5c5SAndroid Build Coastguard Worker {
2003*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandQueued:
2004*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROFILING_COMMAND_QUEUED";
2005*8975f5c5SAndroid Build Coastguard Worker break;
2006*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandSubmit:
2007*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROFILING_COMMAND_SUBMIT";
2008*8975f5c5SAndroid Build Coastguard Worker break;
2009*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandStart:
2010*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROFILING_COMMAND_START";
2011*8975f5c5SAndroid Build Coastguard Worker break;
2012*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandEnd:
2013*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROFILING_COMMAND_END";
2014*8975f5c5SAndroid Build Coastguard Worker break;
2015*8975f5c5SAndroid Build Coastguard Worker case ProfilingInfo::CommandComplete:
2016*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROFILING_COMMAND_COMPLETE";
2017*8975f5c5SAndroid Build Coastguard Worker break;
2018*8975f5c5SAndroid Build Coastguard Worker default:
2019*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
2020*8975f5c5SAndroid Build Coastguard Worker break;
2021*8975f5c5SAndroid Build Coastguard Worker }
2022*8975f5c5SAndroid Build Coastguard Worker return os;
2023*8975f5c5SAndroid Build Coastguard Worker }
2024*8975f5c5SAndroid Build Coastguard Worker
2025*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)2026*8975f5c5SAndroid Build Coastguard Worker ProgramBuildInfo FromCLenum<ProgramBuildInfo>(CLenum from)
2027*8975f5c5SAndroid Build Coastguard Worker {
2028*8975f5c5SAndroid Build Coastguard Worker switch (from)
2029*8975f5c5SAndroid Build Coastguard Worker {
2030*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BUILD_STATUS:
2031*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::Status;
2032*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BUILD_OPTIONS:
2033*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::Options;
2034*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BUILD_LOG:
2035*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::Log;
2036*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BINARY_TYPE:
2037*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::BinaryType;
2038*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE:
2039*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::GlobalVariableTotalSize;
2040*8975f5c5SAndroid Build Coastguard Worker default:
2041*8975f5c5SAndroid Build Coastguard Worker return ProgramBuildInfo::InvalidEnum;
2042*8975f5c5SAndroid Build Coastguard Worker }
2043*8975f5c5SAndroid Build Coastguard Worker }
2044*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ProgramBuildInfo from)2045*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ProgramBuildInfo from)
2046*8975f5c5SAndroid Build Coastguard Worker {
2047*8975f5c5SAndroid Build Coastguard Worker switch (from)
2048*8975f5c5SAndroid Build Coastguard Worker {
2049*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Status:
2050*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BUILD_STATUS;
2051*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Options:
2052*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BUILD_OPTIONS;
2053*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Log:
2054*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BUILD_LOG;
2055*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::BinaryType:
2056*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BINARY_TYPE;
2057*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::GlobalVariableTotalSize:
2058*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE;
2059*8975f5c5SAndroid Build Coastguard Worker default:
2060*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
2061*8975f5c5SAndroid Build Coastguard Worker return 0;
2062*8975f5c5SAndroid Build Coastguard Worker }
2063*8975f5c5SAndroid Build Coastguard Worker }
2064*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ProgramBuildInfo value)2065*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ProgramBuildInfo value)
2066*8975f5c5SAndroid Build Coastguard Worker {
2067*8975f5c5SAndroid Build Coastguard Worker switch (value)
2068*8975f5c5SAndroid Build Coastguard Worker {
2069*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Status:
2070*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BUILD_STATUS";
2071*8975f5c5SAndroid Build Coastguard Worker break;
2072*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Options:
2073*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BUILD_OPTIONS";
2074*8975f5c5SAndroid Build Coastguard Worker break;
2075*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::Log:
2076*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BUILD_LOG";
2077*8975f5c5SAndroid Build Coastguard Worker break;
2078*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::BinaryType:
2079*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BINARY_TYPE";
2080*8975f5c5SAndroid Build Coastguard Worker break;
2081*8975f5c5SAndroid Build Coastguard Worker case ProgramBuildInfo::GlobalVariableTotalSize:
2082*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE";
2083*8975f5c5SAndroid Build Coastguard Worker break;
2084*8975f5c5SAndroid Build Coastguard Worker default:
2085*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
2086*8975f5c5SAndroid Build Coastguard Worker break;
2087*8975f5c5SAndroid Build Coastguard Worker }
2088*8975f5c5SAndroid Build Coastguard Worker return os;
2089*8975f5c5SAndroid Build Coastguard Worker }
2090*8975f5c5SAndroid Build Coastguard Worker
2091*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)2092*8975f5c5SAndroid Build Coastguard Worker ProgramInfo FromCLenum<ProgramInfo>(CLenum from)
2093*8975f5c5SAndroid Build Coastguard Worker {
2094*8975f5c5SAndroid Build Coastguard Worker switch (from)
2095*8975f5c5SAndroid Build Coastguard Worker {
2096*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_REFERENCE_COUNT:
2097*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::ReferenceCount;
2098*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_CONTEXT:
2099*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::Context;
2100*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_NUM_DEVICES:
2101*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::NumDevices;
2102*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_DEVICES:
2103*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::Devices;
2104*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_SOURCE:
2105*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::Source;
2106*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BINARY_SIZES:
2107*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::BinarySizes;
2108*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_BINARIES:
2109*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::Binaries;
2110*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_NUM_KERNELS:
2111*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::NumKernels;
2112*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_KERNEL_NAMES:
2113*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::KernelNames;
2114*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_IL:
2115*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::IL;
2116*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT:
2117*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::ScopeGlobalCtorsPresent;
2118*8975f5c5SAndroid Build Coastguard Worker case CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT:
2119*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::ScopeGlobalDtorsPresent;
2120*8975f5c5SAndroid Build Coastguard Worker default:
2121*8975f5c5SAndroid Build Coastguard Worker return ProgramInfo::InvalidEnum;
2122*8975f5c5SAndroid Build Coastguard Worker }
2123*8975f5c5SAndroid Build Coastguard Worker }
2124*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(ProgramInfo from)2125*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(ProgramInfo from)
2126*8975f5c5SAndroid Build Coastguard Worker {
2127*8975f5c5SAndroid Build Coastguard Worker switch (from)
2128*8975f5c5SAndroid Build Coastguard Worker {
2129*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ReferenceCount:
2130*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_REFERENCE_COUNT;
2131*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Context:
2132*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_CONTEXT;
2133*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::NumDevices:
2134*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_NUM_DEVICES;
2135*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Devices:
2136*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_DEVICES;
2137*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Source:
2138*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_SOURCE;
2139*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::BinarySizes:
2140*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BINARY_SIZES;
2141*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Binaries:
2142*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_BINARIES;
2143*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::NumKernels:
2144*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_NUM_KERNELS;
2145*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::KernelNames:
2146*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_KERNEL_NAMES;
2147*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::IL:
2148*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_IL;
2149*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ScopeGlobalCtorsPresent:
2150*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT;
2151*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ScopeGlobalDtorsPresent:
2152*8975f5c5SAndroid Build Coastguard Worker return CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT;
2153*8975f5c5SAndroid Build Coastguard Worker default:
2154*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
2155*8975f5c5SAndroid Build Coastguard Worker return 0;
2156*8975f5c5SAndroid Build Coastguard Worker }
2157*8975f5c5SAndroid Build Coastguard Worker }
2158*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,ProgramInfo value)2159*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, ProgramInfo value)
2160*8975f5c5SAndroid Build Coastguard Worker {
2161*8975f5c5SAndroid Build Coastguard Worker switch (value)
2162*8975f5c5SAndroid Build Coastguard Worker {
2163*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ReferenceCount:
2164*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_REFERENCE_COUNT";
2165*8975f5c5SAndroid Build Coastguard Worker break;
2166*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Context:
2167*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_CONTEXT";
2168*8975f5c5SAndroid Build Coastguard Worker break;
2169*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::NumDevices:
2170*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_NUM_DEVICES";
2171*8975f5c5SAndroid Build Coastguard Worker break;
2172*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Devices:
2173*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_DEVICES";
2174*8975f5c5SAndroid Build Coastguard Worker break;
2175*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Source:
2176*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_SOURCE";
2177*8975f5c5SAndroid Build Coastguard Worker break;
2178*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::BinarySizes:
2179*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BINARY_SIZES";
2180*8975f5c5SAndroid Build Coastguard Worker break;
2181*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::Binaries:
2182*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_BINARIES";
2183*8975f5c5SAndroid Build Coastguard Worker break;
2184*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::NumKernels:
2185*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_NUM_KERNELS";
2186*8975f5c5SAndroid Build Coastguard Worker break;
2187*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::KernelNames:
2188*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_KERNEL_NAMES";
2189*8975f5c5SAndroid Build Coastguard Worker break;
2190*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::IL:
2191*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_IL";
2192*8975f5c5SAndroid Build Coastguard Worker break;
2193*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ScopeGlobalCtorsPresent:
2194*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_SCOPE_GLOBAL_CTORS_PRESENT";
2195*8975f5c5SAndroid Build Coastguard Worker break;
2196*8975f5c5SAndroid Build Coastguard Worker case ProgramInfo::ScopeGlobalDtorsPresent:
2197*8975f5c5SAndroid Build Coastguard Worker os << "CL_PROGRAM_SCOPE_GLOBAL_DTORS_PRESENT";
2198*8975f5c5SAndroid Build Coastguard Worker break;
2199*8975f5c5SAndroid Build Coastguard Worker default:
2200*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
2201*8975f5c5SAndroid Build Coastguard Worker break;
2202*8975f5c5SAndroid Build Coastguard Worker }
2203*8975f5c5SAndroid Build Coastguard Worker return os;
2204*8975f5c5SAndroid Build Coastguard Worker }
2205*8975f5c5SAndroid Build Coastguard Worker
2206*8975f5c5SAndroid Build Coastguard Worker template <>
FromCLenum(CLenum from)2207*8975f5c5SAndroid Build Coastguard Worker SamplerInfo FromCLenum<SamplerInfo>(CLenum from)
2208*8975f5c5SAndroid Build Coastguard Worker {
2209*8975f5c5SAndroid Build Coastguard Worker switch (from)
2210*8975f5c5SAndroid Build Coastguard Worker {
2211*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_REFERENCE_COUNT:
2212*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::ReferenceCount;
2213*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_CONTEXT:
2214*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::Context;
2215*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_NORMALIZED_COORDS:
2216*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::NormalizedCoords;
2217*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_ADDRESSING_MODE:
2218*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::AddressingMode;
2219*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_FILTER_MODE:
2220*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::FilterMode;
2221*8975f5c5SAndroid Build Coastguard Worker case CL_SAMPLER_PROPERTIES:
2222*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::Properties;
2223*8975f5c5SAndroid Build Coastguard Worker default:
2224*8975f5c5SAndroid Build Coastguard Worker return SamplerInfo::InvalidEnum;
2225*8975f5c5SAndroid Build Coastguard Worker }
2226*8975f5c5SAndroid Build Coastguard Worker }
2227*8975f5c5SAndroid Build Coastguard Worker
ToCLenum(SamplerInfo from)2228*8975f5c5SAndroid Build Coastguard Worker CLenum ToCLenum(SamplerInfo from)
2229*8975f5c5SAndroid Build Coastguard Worker {
2230*8975f5c5SAndroid Build Coastguard Worker switch (from)
2231*8975f5c5SAndroid Build Coastguard Worker {
2232*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::ReferenceCount:
2233*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_REFERENCE_COUNT;
2234*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::Context:
2235*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_CONTEXT;
2236*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::NormalizedCoords:
2237*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_NORMALIZED_COORDS;
2238*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::AddressingMode:
2239*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_ADDRESSING_MODE;
2240*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::FilterMode:
2241*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_FILTER_MODE;
2242*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::Properties:
2243*8975f5c5SAndroid Build Coastguard Worker return CL_SAMPLER_PROPERTIES;
2244*8975f5c5SAndroid Build Coastguard Worker default:
2245*8975f5c5SAndroid Build Coastguard Worker UNREACHABLE();
2246*8975f5c5SAndroid Build Coastguard Worker return 0;
2247*8975f5c5SAndroid Build Coastguard Worker }
2248*8975f5c5SAndroid Build Coastguard Worker }
2249*8975f5c5SAndroid Build Coastguard Worker
operator <<(std::ostream & os,SamplerInfo value)2250*8975f5c5SAndroid Build Coastguard Worker std::ostream &operator<<(std::ostream &os, SamplerInfo value)
2251*8975f5c5SAndroid Build Coastguard Worker {
2252*8975f5c5SAndroid Build Coastguard Worker switch (value)
2253*8975f5c5SAndroid Build Coastguard Worker {
2254*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::ReferenceCount:
2255*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_REFERENCE_COUNT";
2256*8975f5c5SAndroid Build Coastguard Worker break;
2257*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::Context:
2258*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_CONTEXT";
2259*8975f5c5SAndroid Build Coastguard Worker break;
2260*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::NormalizedCoords:
2261*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_NORMALIZED_COORDS";
2262*8975f5c5SAndroid Build Coastguard Worker break;
2263*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::AddressingMode:
2264*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_ADDRESSING_MODE";
2265*8975f5c5SAndroid Build Coastguard Worker break;
2266*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::FilterMode:
2267*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_FILTER_MODE";
2268*8975f5c5SAndroid Build Coastguard Worker break;
2269*8975f5c5SAndroid Build Coastguard Worker case SamplerInfo::Properties:
2270*8975f5c5SAndroid Build Coastguard Worker os << "CL_SAMPLER_PROPERTIES";
2271*8975f5c5SAndroid Build Coastguard Worker break;
2272*8975f5c5SAndroid Build Coastguard Worker default:
2273*8975f5c5SAndroid Build Coastguard Worker os << "GL_INVALID_ENUM";
2274*8975f5c5SAndroid Build Coastguard Worker break;
2275*8975f5c5SAndroid Build Coastguard Worker }
2276*8975f5c5SAndroid Build Coastguard Worker return os;
2277*8975f5c5SAndroid Build Coastguard Worker }
2278*8975f5c5SAndroid Build Coastguard Worker
2279*8975f5c5SAndroid Build Coastguard Worker } // namespace cl
2280